From 9777349dac439a012b60880de62884adcd193037 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sun, 31 May 2020 15:40:41 +0200 Subject: [PATCH 01/37] Rewrote installation and bootstrapping guide --- .../assets/screenshots/creating-your-site.png | Bin 0 -> 326845 bytes docs/creating-your-site.md | 71 ++ docs/customization.md | 244 ------ docs/getting-started.md | 780 ++---------------- docs/guides/3rd-party-integrations.md | 0 docs/guides/adding-an-announcement-bar.md | 0 docs/guides/adding-and-using-icons.md | 0 docs/guides/adding-footer-links.md | 0 docs/guides/colors-and-fonts.md | 0 docs/guides/language-and-translations.md | 0 docs/guides/navigation-structure.md | 0 docs/guides/syntax-highlighting.md | 0 docs/license.md | 20 +- docs/publishing-your-site.md | 0 mkdocs.yml | 21 +- 15 files changed, 149 insertions(+), 987 deletions(-) create mode 100644 docs/assets/screenshots/creating-your-site.png create mode 100644 docs/creating-your-site.md delete mode 100644 docs/customization.md create mode 100644 docs/guides/3rd-party-integrations.md create mode 100644 docs/guides/adding-an-announcement-bar.md create mode 100644 docs/guides/adding-and-using-icons.md create mode 100644 docs/guides/adding-footer-links.md create mode 100644 docs/guides/colors-and-fonts.md create mode 100644 docs/guides/language-and-translations.md create mode 100644 docs/guides/navigation-structure.md create mode 100644 docs/guides/syntax-highlighting.md create mode 100644 docs/publishing-your-site.md diff --git a/docs/assets/screenshots/creating-your-site.png b/docs/assets/screenshots/creating-your-site.png new file mode 100644 index 0000000000000000000000000000000000000000..0243b619279206dde1d13022e417b60ffe7357b1 GIT binary patch literal 326845 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%0Aj6XGWYIgR+;&h4s04);Av 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�ws#-@-ca35%AI@WPB-eC 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

Hello world! This is HTML5 Boilerplate.

- - -``` - -### Java - -``` java -import java.util.LinkedList; -import java.lang.reflect.Array; - -public class UnsortedHashSet { - - private static final double LOAD_FACTOR_LIMIT = 0.7; - - private int size; - private LinkedList[] con; - - public UnsortedHashSet() { - con = (LinkedList[])(new LinkedList[10]); - } - - public boolean add(E obj) { - int oldSize = size; - int index = Math.abs(obj.hashCode()) % con.length; - if (con[index] == null) - con[index] = new LinkedList(); - if (!con[index].contains(obj)) { - con[index].add(obj); - size++; - } - if (1.0 * size / con.length > LOAD_FACTOR_LIMIT) - resize(); - return oldSize != size; - } - - private void resize() { - UnsortedHashSet temp = new UnsortedHashSet(); - temp.con = (LinkedList[])(new LinkedList[con.length * 2 + 1]); - for (int i = 0; i < con.length; i++) { - if (con[i] != null) - for (E e : con[i]) - temp.add(e); - } - con = temp.con; - } - - public int size() { - return size; - } -} -``` - -### JavaScript - -``` javascript -var Math = require('lib/math'); - -var _extends = function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key in source) { - target[key] = source[key]; - } - } - - return target; -}; - -var e = exports.e = 2.71828182846; -exports['default'] = function (x) { - return Math.exp(x); -}; - -module.exports = _extends(exports['default'], exports); -``` - -### JSON - -``` json -{ - "name": "mkdocs-material", - "version": "0.2.4", - "description": "A Material Design theme for MkDocs", - "homepage": "http://squidfunk.github.io/mkdocs-material/", - "authors": [ - "squidfunk " - ], - "license": "MIT", - "main": "Gulpfile.js", - "scripts": { - "start": "./node_modules/.bin/gulp watch --mkdocs", - "build": "./node_modules/.bin/gulp build --production" - } - ... -} -``` - -### Julia - -``` julia -using MXNet - -mlp = @mx.chain mx.Variable(:data) => - mx.FullyConnected(name=:fc1, num_hidden=128) => - mx.Activation(name=:relu1, act_type=:relu) => - mx.FullyConnected(name=:fc2, num_hidden=64) => - mx.Activation(name=:relu2, act_type=:relu) => - mx.FullyConnected(name=:fc3, num_hidden=10) => - mx.SoftmaxOutput(name=:softmax) - -# data provider -batch_size = 100 -include(Pkg.dir("MXNet", "examples", "mnist", "mnist-data.jl")) -train_provider, eval_provider = get_mnist_providers(batch_size) - -# setup model -model = mx.FeedForward(mlp, context=mx.cpu()) - -# optimization algorithm -optimizer = mx.SGD(lr=0.1, momentum=0.9) - -# fit parameters -mx.fit(model, optimizer, train_provider, n_epoch=20, eval_data=eval_provider) -``` - -### Lua - -``` lua -local ffi = require("ffi") - -ffi.cdef[[ - void Sleep(int ms); - int poll(struct pollfd *fds, unsigned long nfds, int timeout); -]] - -local sleep -if ffi.os == "Windows" then - function sleep(s) - ffi.C.Sleep(s*1000) - end -else - function sleep(s) - ffi.C.poll(nil, 0, s * 1000) - end -end - -for i = 1,160 do - io.write("."); io.flush() - sleep(0.01) -end -io.write("\n") -``` - -### MySQL - -``` mysql -SELECT - Employees.EmployeeID, - Employees.Name, - Employees.Salary, - Manager.Name AS Manager -FROM - Employees -LEFT JOIN - Employees AS Manager -ON - Employees.ManagerID = Manager.EmployeeID -WHERE - Employees.EmployeeID = '087652'; -``` - -### PHP - -``` php -Lucky number: '.$number.'' - ); - } -} -``` - -### Protocol Buffers - -``` proto -syntax = "proto2"; - -package caffe; - -// Specifies the shape (dimensions) of a Blob. -message BlobShape { - repeated int64 dim = 1 [packed = true]; -} - -message BlobProto { - optional BlobShape shape = 7; - repeated float data = 5 [packed = true]; - repeated float diff = 6 [packed = true]; - - // 4D dimensions -- deprecated. Use "shape" instead. - optional int32 num = 1 [default = 0]; - optional int32 channels = 2 [default = 0]; - optional int32 height = 3 [default = 0]; - optional int32 width = 4 [default = 0]; -} -``` - -### Python - -``` python - -""" - A very simple MNIST classifier. - See extensive documentation at - http://tensorflow.org/tutorials/mnist/beginners/index.md -""" -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -# Import data -from tensorflow.examples.tutorials.mnist import input_data - -import tensorflow as tf - -flags = tf.app.flags -FLAGS = flags.FLAGS -flags.DEFINE_string('data_dir', '/tmp/data/', 'Directory for storing data') - -mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True) - -sess = tf.InteractiveSession() - -# Create the model -x = tf.placeholder(tf.float32, [None, 784]) -W = tf.Variable(tf.zeros([784, 10])) -b = tf.Variable(tf.zeros([10])) -y = tf.nn.softmax(tf.matmul(x, W) + b) -``` - -### Ruby - -``` ruby -require 'finity/event' -require 'finity/machine' -require 'finity/state' -require 'finity/transition' -require 'finity/version' - -module Finity - class InvalidCallback < StandardError; end - class MissingCallback < StandardError; end - class InvalidState < StandardError; end - - # Class methods to be injected into the including class upon inclusion. - module ClassMethods - - # Instantiate a new state machine for the including class by accepting a - # block with state and event (and subsequent transition) definitions. - def finity options = {}, &block - @finity ||= Machine.new self, options, &block - end - - # Return the names of all registered states. - def states - @finity.states.map { |name, _| name } - end - - # Return the names of all registered events. - def events - @finity.events.map { |name, _| name } - end - end - - # Inject methods into the including class upon inclusion. - def self.included base - base.extend ClassMethods - end -end -``` - -### Scala - -```scala -// Every record of this DataFrame contains the label and -// features represented by a vector. -val df = sqlContext.createDataFrame(data).toDF("label", "features") - -// Set parameters for the algorithm. -// Here, we limit the number of iterations to 10. -val lr = new LogisticRegression().setMaxIter(10) - -// Fit the model to the data. -val model = lr.fit(df) - -// Inspect the model: get the feature weights. -val weights = model.weights - -// Given a dataset, predict each point's label, and show the results. -model.transform(df).show()g -``` - -### XML - -``` xml - - - - - - - Some text content - Some text content with <entities> and - mentioning uint8_t and int32_t - - - - -``` diff --git a/docs/guides/adding-a-git-repository.md b/docs/guides/adding-a-git-repository.md index e69de29bb..3225705ea 100644 --- a/docs/guides/adding-a-git-repository.md +++ b/docs/guides/adding-a-git-repository.md @@ -0,0 +1,34 @@ +--- +template: overrides/main.html +--- + +# Adding a git repository + +- link edit button +- link related source file (via metadata) + +## Configuration + +To include a link to the repository of your project within your documentation, +set the following variables via your project's `mkdocs.yml`: + +``` yaml +repo_name: squidfunk/mkdocs-material +repo_url: https://github.com/squidfunk/mkdocs-material +``` + +The name of the repository will be rendered next to the search bar on big +screens and as part of the main navigation drawer on smaller screen sizes. +Additionally, for GitHub and GitLab, the number of stars and forks is shown. +Note that the repository icon can be explicitly set through `theme.icon.repo`. + +!!! question "Why is there an edit button at the top of every article?" + + If the `repo_url` is set to a GitHub or BitBucket repository, and the + `repo_name` is set to *GitHub* or *BitBucket* (implied by default), an + edit button will appear at the top of every article. This is the automatic + behavior that MkDocs implements. See the [MkDocs documentation][20] on more + guidance regarding the `edit_uri` attribute, which defines whether the edit + button is shown or not. + + [20]: https://www.mkdocs.org/user-guide/configuration/#edit_uri diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index a3e695758..a932a27c2 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -31,23 +31,10 @@ theme: :material-cursor-default-click-outline: click on a tile to change the color scheme: - - - - +
+ + +
- + + {%- set translations = {} -%} {%- for key in [ "clipboard.copy", diff --git a/material/overrides/main.html b/material/overrides/main.html index 4e9fbe620..bdade8095 100644 --- a/material/overrides/main.html +++ b/material/overrides/main.html @@ -22,9 +22,9 @@ + {% endblock %} {% block announce %} -
For updates follow @squidfunk on For updates follow @squidfunk on Jump to footnote at the bottom of the page - - [^1]: Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -#### on multiple lines - -Paragraphs should be written on the next line. As with all Markdown blocks, the -content must be indented by four spaces. - -Example: - -``` markdown -[^2]: - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod - nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor - massa, nec semper lorem quam in massa. -``` - -Result: - - [^2]: - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod - nulla. Curabitur feugiat, tortor non consequat finibus, justo purus - auctor massa, nec semper lorem quam in massa. - -Jump to footnote at the bottom of the page diff --git a/docs/extensions/metadata.md b/docs/extensions/metadata.md deleted file mode 100644 index fb6fd227a..000000000 --- a/docs/extensions/metadata.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -template: overrides/main.html -hero: Set heroes with metadata -path: tree/master/docs/extensions -source: metadata.md ---- - -# Metadata - -[Metadata][1] is an extension included in the standard Markdown library that -makes it possible to control certain properties in a page-specific context, -e.g. the page title or description. - - [1]: https://python-markdown.github.io/extensions/meta_data/ - -## Configuration - -Add the following lines to `mkdocs.yml`: - -``` yaml -markdown_extensions: - - meta -``` - -## Usage - -Metadata is written as a series of key-value pairs at the beginning of the -Markdown document, delimited by a blank line which ends the metadata context. -Naturally, the metadata is stripped from the document before rendering the -actual page content and made available to the theme. - -Example: - -``` markdown ---- -title: Lorem ipsum dolor sit amet -description: Nullam urna elit, malesuada eget finibus ut, ac tortor. -path: path/to/file -source: file.js ---- - -# Headline - -... -``` - -See the next section which covers the supported metadata. - -### Setting a hero - -Material for MkDocs exposes a simple text-only page-local hero via Metadata, as -you can see on the current page when you scroll to the top. It's as simple as: - -``` markdown -hero: Set heroes with metadata -``` - -### Linking sources - -When a document is related to a specific source file and the `repo_url` is -defined inside the project's `mkdocs.yml`, the file can be linked using the -`source` key: - -``` markdown -source: file.js -``` - -The filename is appended to the `repo_url` set in `mkdocs.yml`, but can be -prefixed with a `path` to ensure correct path resolving. The name of the source -file is shown in the tooltip. - -Example: - -``` markdown -path: tree/master/docs/extensions -source: metadata.md -``` - -### Redirecting to another page - -It's sometimes necessary to move documents around in the navigation tree and -redirect users from the old URL to the new one. The `redirect` meta-tag allows -to create a redirection from the current document to the address specified in -the tag. - -For instance, if your document contains: - -``` markdown -redirect: /new/url -``` - -accessing that document's URL will automatically redirect to `/new/url`. - -### Overrides - -#### Page title - -The page title can be overridden on a per-document basis: - -``` markdown -title: Lorem ipsum dolor sit amet -``` - -This will set the `title` tag inside the document `head` for the current page -to the provided value. It will also override the default behavior of Material -for MkDocs which appends the site title using a dash as a separator to the page -title. - -#### Page description - -The page description can also be overridden on a per-document basis: - -``` yaml -description: Nullam urna elit, malesuada eget finibus ut, ac tortor. -``` - -This will set the `meta` tag containing the site description inside the -document `head` for the current page to the provided value. - -#### Disqus - -As described in the [getting started guide][3], Disqus can be enabled on a -per-document basis: - -``` markdown -disqus: your-shortname -``` - -Disqus can also be disabled for a specific page by setting it to an empty value: - -``` markdown -disqus: '' -``` - - [3]: ../getting-started.md#disqus diff --git a/docs/extensions/pymdown.md b/docs/extensions/pymdown.md deleted file mode 100644 index 40fdc8043..000000000 --- a/docs/extensions/pymdown.md +++ /dev/null @@ -1,375 +0,0 @@ ---- -template: overrides/main.html ---- - -# PyMdown Extensions - -[PyMdown Extensions][1] is a collection of Markdown extensions that add some -great missing features to the standard Markdown library. A compatible version -is always included with the theme. - - [1]: https://facelessuser.github.io/pymdown-extensions/ - -## Configuration - -The following list of extensions that are part of the PyMdown Extensions -package are recommended to be used together with Material for MkDocs: - -``` yaml -markdown_extensions: - - pymdownx.arithmatex - - pymdownx.betterem: - smart_enable: all - - pymdownx.caret - - pymdownx.critic - - pymdownx.details - - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg - - pymdownx.inlinehilite - - pymdownx.magiclink - - pymdownx.mark - - pymdownx.smartsymbols - - pymdownx.superfences - - pymdownx.tasklist: - custom_checkbox: true - - pymdownx.tabbed - - pymdownx.tilde -``` - -## Usage - -### Arithmatex MathJax - - - -[Arithmatex][2] integrates Material for MkDocs with [MathJax][3] which parses -block-style and inline equations written in TeX markup and outputs them in -mathematical notation. See [this thread][4] for a short introduction and quick -reference on how to write equations in TeX syntax. - -Besides activating the extension in the `mkdocs.yml`, the MathJax JavaScript -runtime needs to be included. This can be done with [additional JavaScript][5]: - -``` yaml -extra_javascript: - - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML -``` - -If you want to override the default MathJax configuration, you can do this by -adding another JavaScript file __before__ the MathJax runtime which contains -the MathJax configuration, e.g.: - -``` js -window.MathJax = { - tex2jax: { - inlineMath: [ ["\\(","\\)"] ], - displayMath: [ ["\\[","\\]"] ] - }, - TeX: { - TagSide: "right", - TagIndent: ".8em", - MultLineWidth: "85%", - equationNumbers: { - autoNumber: "AMS", - }, - unicode: { - fonts: "STIXGeneral,'Arial Unicode MS'" - } - }, - displayAlign: "left", - showProcessingMessages: false, - messageStyle: "none" -}; -``` - -Then, add the following lines to `mkdocs.yml`: - -``` yaml -extra_javascript: - - javascripts/extra.js - - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML -``` - - [2]: https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/ - [3]: https://www.mathjax.org/ - [4]: https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference - [5]: ../customization.md#additional-javascript - -#### Blocks - -Blocks are enclosed in `:::tex $$...$$` which are placed on separate lines. - -Example: - -``` tex -$$ -\frac{n!}{k!(n-k)!} = \binom{n}{k} -$$ -``` - -Result: - -$$ -\frac{n!}{k!(n-k)!} = \binom{n}{k} -$$ - -#### Inline - -Inline equations must be enclosed in `:::tex $...$`: - -Example: - -``` tex -Lorem ipsum dolor sit amet: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$ -``` - -Result: - -Lorem ipsum dolor sit amet: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$ - -### BetterEm - -[BetterEm][6] improves the handling of emphasis markup (__bold__ and _italic_) -within Markdown by providing a more sophisticated parser for better detecting -start and end tokens. Read the documentation for [usage notes][7]. - - [6]: https://facelessuser.github.io/pymdown-extensions/extensions/betterem/ - [7]: https://facelessuser.github.io/pymdown-extensions/usage_notes/ - -### Caret - -[Caret][8] makes it possible to highlight ^^inserted text^^. The portion of -text that should be marked as added must be enclosed in two carets `^^...^^`. - - [8]: https://facelessuser.github.io/pymdown-extensions/extensions/caret/ - -### Critic - -[Critic][9] implements [Critic Markup][10], a Markdown extension that enables -the tracking of changes (additions, deletions and comments) on documents. -During compilation of the Markdown document, changes can be rendered (default), -accepted or rejected. - -Text can be {--deleted--} and replacement text {++added++}. This can also be -combined into {~~one~>a single~~} operation. {==Highlighting==} is also -possible {>>and comments can be added inline<<}. - -{== - -Formatting can also be applied to blocks, by putting the opening and closing -tags on separate lines and adding new lines between the tags and the content. - -==} - - [9]: https://facelessuser.github.io/pymdown-extensions/extensions/critic/ - [10]: http://criticmarkup.com/ - -### Details - -[Details][11] adds [collapsible Admonition blocks][12] which can contain -arbitrary content using the HTML5 `details` and `summary` tags. Additionally, -all Admonition qualifiers can be used, e.g. `note`, `question`, `warning` etc.: - -??? question "How many Prolog programmers does it take to change a lightbulb?" - - Yes. - - [11]: https://facelessuser.github.io/pymdown-extensions/extensions/details/ - [12]: ../admonition/#collapsible-blocks - -### Emoji :tada: - -[Emoji][13] adds the ability to insert, well, emojis! :smile: - -By default, [Emoji][13] uses JoyPixles' emoji under the former name EmojiOne. -Recent versions of the extension lock support to an older version (2.2.7) due -to JoyPixels' newer, less permissible licenses included in later releases. This -restricts support to Unicode 9. To get the latest support for the current -Unicode version, you can use Twemoji instead which has a much more permissible -license. Simply override the default emoji index being used: - -``` yaml -markdown_extensions: - - pymdownx.emoji: - emoji_index: !!python/name:pymdownx.emoji.twemoji - emoji_generator: !!python/name:pymdownx.emoji.to_svg -``` - -To view all the available short names and emoji available, see -[Emoji's documentation][18] on your chosen index which includes links to the -files containing the short names and emoji associated with each supported -index. - -!!! warning "Legal disclaimer" - - Material has no affiliation with [JoyPixles][15] or [Twemoji][14], both - of which are licensed under [CC BY 4.0][16]. When including images or CSS - from either provider, please read their licenses to ensure proper - attribution: [EmojiOne][17] or [Twemoji][14]. - -### Icons :hatching_chick: - -In addition, you can embed the Material Design icons, Fontawesome icons and -GitHub's Octicons directly from Markdown by using [Material for MkDocs's custom -emoji index][19]. It extends the Twemoji index with new short names that access -any of the included icons. To use the custom index, you need to use -`materialx.emoji` instead of `pymdownx.emoji`: - -``` yaml -markdown_extensions: - - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg -``` - -Example: - -``` markdown -* :material-account-circle: – we can use Material Design icons -* :fontawesome-regular-laugh-wink: – we can also use FontAwesome icons -* :octicons-octoface-16: – that's not all, we can also use GitHub's Octicons -``` - -Result: - -* :material-account-circle: – we can use [Material Design icons][20] -* :fontawesome-regular-laugh-wink: – we can also use [FontAwesome icons][21] -* :octicons-octoface-16: – that's not all, we can also use [GitHub's Octicons][22] - - [13]: https://facelessuser.github.io/pymdown-extensions/extensions/emoji/ - [14]: https://twemoji.twitter.com/ - [15]: https://www.joypixels.com/ - [16]: https://creativecommons.org/licenses/by/4.0/legalcode - [17]: https://github.com/joypixels/emojione#emojione-version-2 - [18]: https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#default-emoji-indexes - [19]: https://github.com/facelessuser/mkdocs-material-extensions - [20]: https://material.io/resources/icons/ - [21]: https://fontawesome.com/icons?d=gallery&m=free - [22]: https://octicons.github.com/ - -### InlineHilite - -[InlineHilite][23] adds support for inline code highlighting. It's useful for -short snippets included within body copy, e.g. `#!js var test = 0;` and can be -activated by prefixing inline code with a shebang and language identifier, -e.g. `#!js`. - - [23]: https://facelessuser.github.io/pymdown-extensions/extensions/inlinehilite/ - -### MagicLink - -[MagicLink][24] detects links in Markdown and auto-generates the necessary -markup, so no special syntax is required. It auto-links `http[s]://` and -`ftp://` links, as well as references to email addresses. - - [24]: https://facelessuser.github.io/pymdown-extensions/extensions/magiclink/ - -### Mark - -[Mark][25] adds the ability to ==highlight text== like it was marked with a -==text marker==. The portion of text that should be highlighted must be -enclosed in two equal signs `==...==`. - - [25]: https://facelessuser.github.io/pymdown-extensions/extensions/mark/ - -### SmartSymbols - -[SmartSymbols][26] converts markup for special characters into their -corresponding symbols, e.g. arrows (<--, -->, <-->), trademark and copyright -symbols ((c), (tm), (r)) and fractions (1/2, 1/4, ...). - - [26]: https://facelessuser.github.io/pymdown-extensions/extensions/smartsymbols/ - -### SuperFences - -[SuperFences][27] provides the ability to nest code blocks under blockquotes, -lists and other block elements, which the [Fenced Code Blocks][28] extension -from the standard Markdown library doesn't parse correctly. - -SuperFences does also allow [grouping code blocks with tabs][29]. - - [27]: https://facelessuser.github.io/pymdown-extensions/extensions/superfences/ - [28]: https://python-markdown.github.io/extensions/fenced_code_blocks/ - [29]: codehilite.md#grouping-code-blocks - -### Tabbed - -[Tabbed][30] adds support for creating tabbed groups of Markdown content. - -Example: - -``` markdown -=== "Fruit List" - - :apple: Apple - - :banana: Banana - - :kiwi: Kiwi - -=== "Fruit Table" - Fruit | Color - --------------- | ----- - :apple: Apple | Red - :banana: Banana | Yellow - :kiwi: Kiwi | Green -``` - -Result: - -=== "Fruit List" - - :apple: Apple - - :banana: Banana - - :kiwi: Kiwi - -=== "Fruit Table" - Fruit | Color - --------------- | ----- - :apple: Apple | Red - :banana: Banana | Yellow - :kiwi: Kiwi | Green - -[30]: https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/ - -### Tasklist - -[Tasklist][31] adds support for styled checkbox lists. This is useful for -keeping track of tasks and showing what has been done and has yet to be done. -Checkbox lists are like regular lists, but prefixed with `[ ]` for empty or -`[x]` for filled checkboxes. - -Example: - -``` markdown -* [x] Lorem ipsum dolor sit amet, consectetur adipiscing elit -* [x] Nulla lobortis egestas semper -* [x] Curabitur elit nibh, euismod et ullamcorper at, iaculis feugiat est -* [ ] Vestibulum convallis sit amet nisi a tincidunt - * [x] In hac habitasse platea dictumst - * [x] In scelerisque nibh non dolor mollis congue sed et metus - * [x] Sed egestas felis quis elit dapibus, ac aliquet turpis mattis - * [ ] Praesent sed risus massa -* [ ] Aenean pretium efficitur erat, donec pharetra, ligula non scelerisque -* [ ] Nulla vel eros venenatis, imperdiet enim id, faucibus nisi -``` - -Result: - -* [x] Lorem ipsum dolor sit amet, consectetur adipiscing elit -* [x] Nulla lobortis egestas semper -* [x] Curabitur elit nibh, euismod et ullamcorper at, iaculis feugiat est -* [ ] Vestibulum convallis sit amet nisi a tincidunt - * [x] In hac habitasse platea dictumst - * [x] In scelerisque nibh non dolor mollis congue sed et metus - * [x] Sed egestas felis quis elit dapibus, ac aliquet turpis mattis - * [ ] Praesent sed risus massa -* [ ] Aenean pretium efficitur erat, donec pharetra, ligula non scelerisque -* [ ] Nulla vel eros venenatis, imperdiet enim id, faucibus nisi - -[31]: https://facelessuser.github.io/pymdown-extensions/extensions/tasklist/ - -### Tilde - -[Tilde][32] provides an easy way to ~~strike through~~ cross out text. -The portion of text that should be erased must be enclosed in two tildes -`~~...~~` and the extension will take care of the rest. - -[32]: https://facelessuser.github.io/pymdown-extensions/extensions/tilde/ diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index a932a27c2..99e148453 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -16,7 +16,7 @@ fit your brand identity by using [CSS variables][2]. ### Color scheme -[:octicons-file-code-24: Source][3] · :octicons-tools-24: Default: `default` +[:octicons-file-code-24: Source][3] · :octicons-milestone-24: Default: `default` Material for MkDocs supports two _color schemes_: a light mode, which is just called `default`, and a dark mode, which is called `slate`. The color scheme @@ -62,7 +62,7 @@ theme: ### Primary color -[:octicons-file-code-24: Source][4] · :octicons-tools-24: Default: `indigo` +[:octicons-file-code-24: Source][4] · :octicons-milestone-24: Default: `indigo` The _primary color_ is used for the header, the sidebar, text links and several other components. In order to change the primary color, set the following value @@ -117,7 +117,7 @@ color: ### Accent color -[:octicons-file-code-24: Source][5] · :octicons-tools-24: Default: `indigo` +[:octicons-file-code-24: Source][5] · :octicons-milestone-24: Default: `indigo` The _accent color_ is used to denote elements that can be interacted with, e.g. hovered links, buttons and scrollbars. It can be changed in `mkdocs.yml` by @@ -184,9 +184,12 @@ color: ## Customization -Material for MkDocs implements colors using [CSS variables][6] (custom +[:octicons-file-code-24: Source][6] · +:octicons-mortar-board-24: Difficulty: easy + +Material for MkDocs implements colors using [CSS variables][7] (custom properties). If you want to customize the colors beyond the palette (e.g. to -use your brand-specific colors), you can add an [additional stylesheet][7] and +use your brand-specific colors), you can add an [additional stylesheet][8] and tweak the following CSS variables: ``` css @@ -217,7 +220,7 @@ tweak the following CSS variables: } ``` -The colors of [code blocks][8], [admonitions][9], text links and the footer can +The colors of [code blocks][9], [admonitions][10], text links and the footer can be adjusted through dedicated CSS variables, which partly default to the base colors or neutral colors: @@ -245,7 +248,8 @@ colors or neutral colors: } ``` - [6]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties - [7]: ../customization.md#additional-stylesheets - [8]: ../extensions/codehilite.md - [9]: ../extensions/admonition.md + [6]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/base/_colors.scss + [7]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties + [8]: ../customization.md#additional-stylesheets + [9]: ../writing/code-blocks.md + [10]: ../writing/admonitions.md diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index 31da850f2..a3b4b511f 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -15,7 +15,8 @@ should be used. ### Regular font -[:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: [`Roboto`][3] +[:octicons-file-code-24: Source][2] · +:octicons-milestone-24: Default: [`Roboto`][3] The _regular font_ is used for all body copy, headlines, and essentially everything that does not need to be proportionally spaced. It can be set to any @@ -34,8 +35,8 @@ The typeface will be loaded in 300, 400, _400i_ and __700__. ### Proportional font -[:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: -[`Roboto Mono`][4] +[:octicons-file-code-24: Source][2] · +:octicons-milestone-24: Default: [`Roboto Mono`][4] The _proportional font_ is used for code blocks and can be configured separately. Just like the regular font, it can be set to any valid [Google Font][1] from @@ -53,6 +54,9 @@ The typeface will be loaded in 400. ## Customization +[:octicons-file-code-24: Source][2] · +:octicons-mortar-board-24: Difficulty: easy + If you want to load fonts from other destinations or don't want to use Google Fonts for [data privacy][5] reasons, e.g. _due to GDPR_, add the following lines to `mkdocs.yml`: diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md index 7f2d73cd7..0963ea2ed 100644 --- a/docs/guides/changing-the-language.md +++ b/docs/guides/changing-the-language.md @@ -12,7 +12,7 @@ search can be configured to use a language-specific stemmer (if available). ### Site language -[:octicons-file-code-24: Source][1] · :octicons-tools-24: Default: `en` +[:octicons-file-code-24: Source][1] · :octicons-milestone-24: Default: `en` You can set the language from `mkdocs.yml` with: @@ -23,18 +23,6 @@ theme: The following languages are supported: -

&!)TKRQkyEehn8RcFOdnH$^l6#TVQ({Q2k|Gx> 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 literal 0 HcmV?d00001 diff --git a/docs/creating-your-site.md b/docs/creating-your-site.md new file mode 100644 index 000000000..a6fcddb34 --- /dev/null +++ b/docs/creating-your-site.md @@ -0,0 +1,71 @@ +--- +template: overrides/main.html +--- + +# Creating your site + +After you've installed Material for MkDocs, bootstrap your site using the +`mkdocs` executable. Change to the directory where you want your documentation +to be located and enter: + +``` sh +mkdocs new . +``` + +This will create the following structure along your existing files: + +``` +├─ docs/ +│ └─ index.md +└─ mkdocs.yml +``` + +## Configuration + +Depending on your [installation method][1], you can now add the following lines +to `mkdocs.yml` in your project root. If you installed Material for MkDocs using +a package manager, add: + +``` yaml +theme: + name: material +``` + +If you cloned Material for MkDocs from GitHub, add: + +``` yaml +theme: + name: null + custom_dir: mkdocs-material/material +``` + +## Previewing + +MkDocs includes a live preview server, so you can preview your changes as you +write your documentation. Start it with: + +``` +mkdocs serve +``` + +If you're running Material for MkDocs from within Docker, use: + +=== "Unix" + + ``` + docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material + ``` + +=== "Windows" + + ``` + docker run --rm -it -p 8000:8000 -v "%cd%":/docs squidfunk/mkdocs-material + ``` + +Point your browser to [localhost:8000][2] and you should see: + +[![Creating your site][3]][3] + + [1]: getting-started.md#installation + [2]: http://localhost:8000 + [3]: assets/screenshots/creating-your-site.png diff --git a/docs/customization.md b/docs/customization.md deleted file mode 100644 index ed94c444d..000000000 --- a/docs/customization.md +++ /dev/null @@ -1,244 +0,0 @@ ---- -template: overrides/main.html ---- - -# Customization - -## A great starting point - -Project documentation is as diverse as the projects themselves and Material for -MkDocs is a good starting point for making it look great. However, as you write -your documentation, you may reach a point where some small adjustments are -necessary to preserve your brand's style. - -## Adding assets - -[MkDocs][1] provides several ways to interfere with themes. In order to make a -few tweaks to an existing theme, you can just add your stylesheets and -JavaScript files to the `docs` directory. - - [1]: https://www.mkdocs.org - -### Additional stylesheets - -If you want to tweak some colors or change the spacing of certain elements, -you can do this in a separate stylesheet. The easiest way is by creating a -new stylesheet file in your `docs` directory: - -``` sh -mkdir docs/stylesheets -touch docs/stylesheets/extra.css -``` - -Then, add the following line to your `mkdocs.yml`: - -``` yaml -extra_css: - - stylesheets/extra.css -``` - -Spin up the development server with `mkdocs serve` and start typing your -changes in your additional stylesheet file – you can see them instantly after -saving, as the MkDocs development server supports live reloading. - -### Additional JavaScript - -The same is true for additional JavaScript. If you want to integrate another -syntax highlighter or add some custom logic to your theme, create a new -JavaScript file in your `docs` directory: - -``` sh -mkdir docs/javascripts -touch docs/javascripts/extra.js -``` - -Then, add the following line to your `mkdocs.yml`: - -``` yaml -extra_javascript: - - javascripts/extra.js -``` - -Further assistance can be found in the [MkDocs documentation][2]. - - [2]: https://www.mkdocs.org/user-guide/styling-your-docs/#customizing-a-theme - -## Extending the theme - -If you want to alter the HTML source (e.g. add or remove some part), you can -extend the theme. MkDocs supports [theme extension][3], an easy way to override -parts of a theme without forking and changing the main theme. - - [3]: https://www.mkdocs.org/user-guide/styling-your-docs/#using-the-theme-custom_dir - -### Setup and theme structure - -Reference the Material theme as usual in your `mkdocs.yml`, and create a -new folder for `overrides` which you reference using `custom_dir`: - -``` yaml -theme: - name: material - custom_dir: overrides -``` - -!!! warning "Theme extension prerequisites" - - As the `custom_dir` variable is used for the theme extension process, the - Material for MkDocs needs to be installed via `pip` and referenced with the - `name` parameter in your `mkdocs.yml`. - -The structure in the `overrides` directory must mirror the directory structure -of the original theme, as any file in the `overrides` directory will replace the -file with the same name which is part of the original theme. Besides, further -assets may also be put in the `overrides` directory. - -The directory layout of the theme is as follows: - -``` sh -. -├─ assets/ -│ ├─ images/ # Images and icons -│ ├─ javascripts/ # JavaScript -│ └─ stylesheets/ # Stylesheets -├─ partials/ -│ ├─ integrations/ # 3rd-party integrations -│ ├─ language/ # Localized languages -│ ├─ footer.html # Footer bar -│ ├─ header.html # Header bar -│ ├─ hero.html # Hero teaser -│ ├─ language.html # Localized labels -│ ├─ nav-item.html # Main navigation item -│ ├─ nav.html # Main navigation -│ ├─ search.html # Search box -│ ├─ social.html # Social links -│ ├─ source-date.html # Last updated date -│ ├─ source-link.html # Link to source file -│ ├─ source.html # Repository information -│ ├─ tabs-item.html # Tabs navigation item -│ ├─ tabs.html # Tabs navigation -│ ├─ toc-item.html # Table of contents item -│ └─ toc.html # Table of contents -├─ 404.html # 404 error page -├─ base.html # Base template -└─ main.html # Default page -``` - -### Overriding partials - -In order to override the footer, we can replace the `footer.html` partial with -our own partial. To do this, create the file `partials/footer.html` in the -`overrides` directory. MkDocs will now use the new partial when rendering the -theme. This can be done with any file. - -### Overriding template blocks - -Besides overriding partials, one can also override so called *template blocks*, -which are defined inside the templates and wrap specific features. To override a -template block, create a `main.html` inside the `overrides` directory and define -the block, e.g.: - -``` jinja -{% extends "base.html" %} - -{% block htmltitle %} - Lorem ipsum dolor sit amet -{% endblock %} -``` - -Material for MkDocs provides the following template blocks: - -| Block name | Wrapped contents | -| ------------ | ----------------------------------------------- | -| `analytics` | Wraps the Google Analytics integration | -| `announce` | Wraps the Announcement bar | -| `config` | Wraps the JavaScript application config | -| `content` | Wraps the main content | -| `disqus` | Wraps the disqus integration | -| `extrahead` | Empty block to define additional meta tags | -| `fonts` | Wraps the webfont definitions | -| `footer` | Wraps the footer with navigation and copyright | -| `header` | Wraps the fixed header bar | -| `hero` | Wraps the hero teaser (if available) | -| `htmltitle` | Wraps the `` tag | -| `libs` | Wraps the JavaScript libraries (header) | -| `scripts` | Wraps the JavaScript application (footer) | -| `source` | Wraps the linked source files | -| `site_meta` | Wraps the meta tags in the document head | -| `site_nav` | Wraps the site navigation and table of contents | -| `styles` | Wraps the stylesheets (also extra sources) | -| `tabs` | Wraps the tabs navigation (if available) | - -For more on this topic refer to the [MkDocs documentation][4] - - [4]: https://www.mkdocs.org/user-guide/styling-your-docs/#overriding-template-blocks - -## Theme development - -Material for MkDocs uses [Webpack][5] as a build tool to leverage modern web -technologies like [TypeScript][6] and [SASS][7]. If you want to make more -fundamental changes, it may be necessary to make the adjustments directly in -the source of the theme and recompile it. This is fairly easy. - - [5]: https://webpack.js.org/ - [6]: https://www.typescriptlang.org/ - [7]: https://sass-lang.com - -### Environment setup - -In order to start development on Material for MkDocs, a [Node.js][8] version of -at least 12 is required. First, clone the repository: - -``` sh -git clone https://github.com/squidfunk/mkdocs-material -``` - -Next, all dependencies need to be installed, which is done with: - -``` sh -cd mkdocs-material -pip install -r requirements.txt -npm install -``` - - [8]: https://nodejs.org - -### Development mode - -Start the Webpack watchdog with: - -``` sh -npm start -``` - -Then, in a second session, start the MkDocs server with: - -```sh -mkdocs serve -``` - -Point your browser to [localhost:8000][9] and you should see this documentation in front of you. - -!!! warning "Automatically generated files" - - Never make any changes in the `material` directory, as the contents of this - directory are automatically generated from the `src` directory and will be - overridden when the theme is built. - - [9]: http://localhost:8000 - -### Build process - -When you've finished making your changes, you can build the theme by invoking: - -``` sh -npm run build -``` - -This triggers the production-level compilation and minification of all -stylesheets and JavaScript sources. When the command exits, the final files are -located in the `material` directory. Add the `theme_dir` variable pointing to -the aforementioned directory in your original `mkdocs.yml`. - -Now you can run `mkdocs build` and you should see your documentation with your -changes to the original theme. diff --git a/docs/getting-started.md b/docs/getting-started.md index 2e70d7994..30813ef84 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -4,15 +4,18 @@ template: overrides/main.html # Getting started +Material for MkDocs is a theme for [MkDocs][1], a static site generator geared +towards technical documentation. If you're familar with Python, you can install +Material for MkDocs with [`pip`][2], the Python package manager. If not, we +recommended using [`docker`][3]. + + [1]: https://www.mkdocs.org + [2]: #with-pip + [3]: #with-docker + ## Installation -While there are several ways of installing Material for MkDocs, the recommended -methods are either by using `pip` – the Python package manager – or by pulling -the [official Docker image][1]. - - [1]: https://hub.docker.com/r/squidfunk/mkdocs-material/ - -### with pip <small>recommended</small> +### with pip Material for MkDocs can be installed with `pip`: @@ -20,48 +23,21 @@ Material for MkDocs can be installed with `pip`: pip install mkdocs-material ``` -Note that this will automatically install compatible versions of [MkDocs][2], -[Markdown][3], [Pygments][4] and [PyMdown Extensions][5]. Material for MkDocs -always strives to support the latest versions, so there's no need to install -those packages separately. +This will automatically install compatible versions of all dependencies: +[MkDocs][1], [Markdown][4], [Pygments][5] and [PyMdown Extensions][6]. Material +for MkDocs always strives to support the latest versions, so there's no need to +install those packages separately. -!!! tip "Installation in a virtual environment" +If you're running into problems, read the section on [virtual environments][7]. - The best way to make sure that you end up with the correct versions and - without any incompatibility problems between packages it to use a **virtual - environment**. Don't know what this is or how to set it up? We recommend - to start by reading a [tutorial on virtual environments][6] for Python. + [4]: https://python-markdown.github.io/ + [5]: https://pygments.org/ + [6]: https://facelessuser.github.io/pymdown-extensions/ + [7]: #virtual-environments -!!! warning "Installation on macOS" +### with docker - When you're running the pre-installed version of Python on macOS, `pip` - tries to install packages in a folder for which your user might not have - the adequate permissions. There are two possible solutions for this: - - 1. **Installing in user space** (recommended): Provide the `--user` flag - to the install command and `pip` will install the package in a user-site - location. This is the recommended way. - - 2. **Switching to a homebrewed Python**: Upgrade your Python installation - to a self-contained solution by installing Python with Homebrew. This - should eliminate a lot of problems you could be having with `pip`. - -!!! failure "Error: unrecognized theme 'material'" - - If you run into this error, the most common reason is that you installed - MkDocs through some package manager (e.g. Homebrew or `apt-get`) and - Material for MkDocs through `pip`, so both packages end up in different - locations. MkDocs only checks its install location for themes. - - [2]: https://www.mkdocs.org - [3]: https://python-markdown.github.io/ - [4]: https://pygments.org/ - [5]: https://facelessuser.github.io/pymdown-extensions/ - [6]: https://docs.python-guide.org/dev/virtualenvs/ - -### with docker <small>recommended</small> - -The official [Docker image][7] 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: @@ -69,27 +45,15 @@ minutes, as it comes with all dependencies pre-installed. Pull the image for the docker pull squidfunk/mkdocs-material ``` -The `mkdocs` executable is provided as an entry point and `serve` is the default -command. Start the development server in your project root – the folder where -`mkdocs.yml` resides — with: +The `mkdocs` executable is provided as an entry point and `serve` is the +default command. If you're not familar with Docker don't worry, we have you +covered in the following sections. -=== "Unix" - - ``` - docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material - ``` - -=== "Windows" - - ``` - docker run --rm -it -p 8000:8000 -v "%cd%":/docs squidfunk/mkdocs-material - ``` - - [7]: https://hub.docker.com/r/squidfunk/mkdocs-material/ + [8]: https://hub.docker.com/r/squidfunk/mkdocs-material/ ### with git -Material for MkDocs can be directly used from [GitHub][8] by cloning the +Material for MkDocs can be directly used from [GitHub][9] by cloning the repository into a subfolder of your project root which might be useful if you want to use the very latest version: @@ -97,684 +61,62 @@ want to use the very latest version: git clone https://github.com/squidfunk/mkdocs-material.git ``` -The theme will reside in the folder `mkdocs-material/material`. - - [8]: https://github.com/squidfunk/mkdocs-material - -## Configuration - -Depending on your installation method, you can now add the following lines to -`mkdocs.yml` in your project root. If you installed Material for MkDocs using -a package manager, add: - -``` yaml -theme: - name: material -``` - -If you cloned Material for MkDocs from GitHub add: - -``` yaml -theme: - name: null - custom_dir: mkdocs-material/material -``` - -MkDocs includes a development server, so you can preview your changes as you -write your documentation. The development server can be started with the -following command: +The theme will reside in the folder `mkdocs-material/material`. Note that when +cloning from `git`, you must install all required dependencies yourself: ``` sh -mkdocs serve +pip install -r mkdocs-material/requirements.txt ``` -Point your browser to http://localhost:8000 and your documentation should greet -you in a new look. If you're starting from scratch, the following configuration -can be used as a starting point: + [9]: https://github.com/squidfunk/mkdocs-material -??? summary "Example configuration" +## Virtual environments - This is an excerpt from the [`mkdocs.yml`][9] used to render these pages: +If you're installing Material for MkDocs with `pip`, the easiest way to make +sure that you end up with the correct versions and without any incompatibility +problems between packages it to use a [virtual environment][9]. First, ensure +that you have a Python version of 3 or higher installed: - ``` yaml - # Project information - site_name: Material for MkDocs - site_description: A Material Design theme for MkDocs - site_author: Martin Donath - site_url: https://squidfunk.github.io/mkdocs-material/ - - # Repository - repo_name: squidfunk/mkdocs-material - repo_url: https://github.com/squidfunk/mkdocs-material - - # Copyright - copyright: Copyright © 2016 - 2020 Martin Donath - - # Configuration - theme: - name: material - language: en - palette: - primary: indigo - accent: indigo - font: - text: Roboto - code: Roboto Mono - - # Extras - extra: - social: - - icon: fontawesome/brands/github-alt - link: https://github.com/squidfunk - - icon: fontawesome/brands/twitter - link: https://twitter.com/squidfunk - - icon: fontawesome/brands/linkedin - link: https://linkedin.com/in/squidfunk - - # Google Analytics - google_analytics: - - UA-XXXXXXXX-X - - auto - - # Extensions - markdown_extensions: - - admonition - - codehilite: - guess_lang: false - - toc: - permalink: true - ``` - -[9]: https://github.com/squidfunk/mkdocs-material/blob/master/mkdocs.yml - -### Feature flags - -These optional features are hidden behind flags and can be explicitly enabled -in `mkdocs.yml`. - -#### Instant loading :hatching_chick: - -The (still experimental) *instant loading* feature will intercept clicks on all -internal links and dispatch them directly via XHR without a full page reload. -It can be enabled from `mkdocs.yml` with: - -``` yaml -theme: - features: - - instant +``` sh +python --version ``` -The resulting page is parsed and injected and all event handlers and components -are automatically rebound. This means that **Material for MkDocs behaves like a -Single Page Application**, which is especially useful for large documentation -sites that come with a huge search index, as the search index will now remain -intact in-between document switches. +If you're good to go, create and activate a virtual environment with: -#### Tabs - -The *tabs* feature will render *top-level subsections* in another navigational -layer below the header on big screens (but leave them untouched on mobile). It -can be enabled from `mkdocs.yml` with: - -``` yaml -theme: - features: - - tabs +``` +python -m venv venv +source ./venv/bin/activate ``` -Note that all *top-level pages* (i.e. all top-level entries that directly refer -to an `*.md` file) defined inside the `nav` entry of `mkdocs.yml` will be -grouped under the first tab which will receive the title of the first page. +Note that the second `venv` is the name of the folder where to create the +virtual environment – you may choose it as you like. Your terminal should now +print `(venv)` before the prompt and the `python` executable should be located +inside the folder you just created: -This means that there will effectively be no collapsible subsections for the -first tab, as each subsection is rendered as another tab. If you want more -fine-grained control, i.e., collapsible subsections for the first tab, you can -move all *top-level pages into a subsection*, so that the top-level is entirely -made up of subsections. Note that tabs are only shown for larger screens, so -make sure that navigation is plausible on mobile devices. - -As an example, see the [`mkdocs.yml`][9] used to render these pages. - -### Language - -> Default: `en` - -Material for MkDocs supports internationalization (i18n) and provides -translations for all template variables and labels. You can set the language -from `mkdocs.yml` with: - -``` yaml -theme: - language: en +``` sh +which python ``` -The following language codes are supported: +Next, install Material for MkDocs with `pip`, which will download and install +all packages in the `venv` folder you just created, including MkDocs and its +dependencies: -<style> - .md-language-list { - -webkit-columns: 2; - -moz-columns: 2; - columns: 2; - } - .md-language-list li { - -webkit-column-break-inside: avoid; - page-break-inside: avoid; - break-inside: avoid; - } -</style> -<ul class="md-language-list"> - <li><code>af</code> / Afrikaans</li> - <li><code>ar</code> / Arabic</li> - <li><code>my</code> / Burmese</li> - <li><code>ca</code> / Catalan</li> - <li><code>zh</code> / Chinese (Simplified)</li> - <li><code>zh-Hant</code> / Chinese (Traditional)</li> - <li><code>zh-TW</code> / Chinese (Taiwanese)</li> - <li><code>hr</code> / Croatian</li> - <li><code>cs</code> / Czech</li> - <li><code>da</code> / Danish</li> - <li><code>nl</code> / Dutch</li> - <li><code>en</code> / English</li> - <li><code>et</code> / Estonian</li> - <li><code>fi</code> / Finnish</li> - <li><code>fr</code> / French</li> - <li><code>gl</code> / Galician</li> - <li><code>de</code> / German</li> - <li><code>gr</code> / Greek</li> - <li><code>he</code> / Hebrew</li> - <li><code>hi</code> / Hindi</li> - <li><code>hu</code> / Hungarian</li> - <li><code>id</code> / Indonesian</li> - <li><code>it</code> / Italian</li> - <li><code>ja</code> / Japanese</li> - <li><code>kr</code> / Korean</li> - <li><code>no</code> / Norwegian</li> - <li><code>nn</code> / Norwegian (Nynorsk)</li> - <li><code>fa</code> / Persian</li> - <li><code>pl</code> / Polish</li> - <li><code>pt</code> / Portuguese</li> - <li><code>ro</code> / Romanian</li> - <li><code>ru</code> / Russian</li> - <li><code>sr</code> / Serbian</li> - <li><code>sh</code> / Serbo-Croatian</li> - <li><code>sk</code> / Slovak</li> - <li><code>si</code> / Slovenian</li> - <li><code>es</code> / Spanish</li> - <li><code>sv</code> / Swedish</li> - <li><code>th</code> / Thai</li> - <li><code>tr</code> / Turkish</li> - <li><code>uk</code> / Ukrainian</li> - <li><code>vi</code> / Vietnamese</li> - <li> - <a href="https://bit.ly/38F5RCa"> - Add language - </a> - </li> -</ul> - -While many languages are read `ltr` (left-to-right), Material for MkDocs also -supports `rtl` (right-to-left) directionality which is inferred from the -selected language, but can also be set with: - -``` yaml -theme: - direction: rtl +``` sh +pip install mkdocs-material ``` -### Color scheme +Verify that MkDocs and Material for MkDocs were both installed correctly: -> Default: `default` - -Material for MkDocs supports two color schemes: a light mode, which is just -called `default`, and a dark mode, which is called `slate`. The color scheme -can be set from `mkdocs.yml`: - -``` yaml -theme: - palette: - scheme: slate +``` sh +mkdocs --version +mkdocs serve --help ``` -Click on a color name to change the color scheme of the theme: +MkDocs should list `material` as an option under the `--theme` flag. When you're +finished working with MkDocs, you can exit the virtual environment with: -<style> - .md-typeset button[data-md-color-scheme] { - cursor: pointer; - transition: opacity 250ms; - } - .md-typeset button[data-md-color-scheme]:hover { - opacity: 0.75; - } - .md-typeset button[data-md-color-scheme] > code { - display: block; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - } -</style> - -<button data-md-color-scheme="default"><code>default</code></button> -<button data-md-color-scheme="slate"><code>slate</code></button> - -<script> - var buttons = document.querySelectorAll("button[data-md-color-scheme]") - buttons.forEach(function(button) { - var attr = "data-md-color-scheme" - button.addEventListener("click", function() { - document.body.setAttribute(attr, this.getAttribute(attr)) - }) - }) -</script> - -### Color palette - -The Material Design [color palette][10] comes with 20 hues, all of which are -included with Material for MkDocs. Primary and accent colors can be set from -the project root's `mkdocs.yml`: - -``` yaml -theme: - palette: - primary: indigo - accent: indigo +``` +deactivate ``` -If the colors are set with these configuration options, an additional CSS file -that includes the hues of the color palette is automatically included and linked -from the template. - -??? tip "Custom colors with CSS variables" - - Material for MkDocs defines all colors as CSS variables. If you want to - customize the colors beyond the palette (e.g. to use your brand's colors), - you can add an [additional stylesheet][11] and override the defaults: - - ``` css - :root { - - /* Default color shades */ - --md-default-fg-color: ...; - --md-default-fg-color--light: ...; - --md-default-fg-color--lighter: ...; - --md-default-fg-color--lightest: ...; - --md-default-bg-color: ...; - --md-default-bg-color--light: ...; - --md-default-bg-color--lighter: ...; - --md-default-bg-color--lightest: ...; - - /* Primary color shades */ - --md-primary-fg-color: ...; - --md-primary-fg-color--light: ...; - --md-primary-fg-color--dark: ...; - --md-primary-bg-color: ...; - --md-primary-bg-color--light: ...; - - /* Accent color shades */ - --md-accent-fg-color: ...; - --md-accent-fg-color--transparent: ...; - --md-accent-bg-color: ...; - --md-accent-bg-color--light: ...; - - /* Code block color shades */ - --md-code-bg-color: ...; - --md-code-fg-color: ...; - } - ``` - - [10]: http://www.materialui.co/colors - [11]: customization.md#additional-stylesheets - -#### Primary color - -> Default: `indigo` - -Click on a color name to change the primary color of the theme: - -<style> - .md-typeset button[data-md-color-primary] { - cursor: pointer; - transition: opacity 250ms; - } - .md-typeset button[data-md-color-primary]:hover { - opacity: 0.75; - } - .md-typeset button[data-md-color-primary] > code { - display: block; - color: var(--md-primary-bg-color); - background-color: var(--md-primary-fg-color); - } -</style> - -<button data-md-color-primary="red"><code>red</code></button> -<button data-md-color-primary="pink"><code>pink</code></button> -<button data-md-color-primary="purple"><code>purple</code></button> -<button data-md-color-primary="deep-purple"><code>deep purple</code></button> -<button data-md-color-primary="indigo"><code>indigo</code></button> -<button data-md-color-primary="blue"><code>blue</code></button> -<button data-md-color-primary="light-blue"><code>light blue</code></button> -<button data-md-color-primary="cyan"><code>cyan</code></button> -<button data-md-color-primary="teal"><code>teal</code></button> -<button data-md-color-primary="green"><code>green</code></button> -<button data-md-color-primary="light-green"><code>light green</code></button> -<button data-md-color-primary="lime"><code>lime</code></button> -<button data-md-color-primary="yellow"><code>yellow</code></button> -<button data-md-color-primary="amber"><code>amber</code></button> -<button data-md-color-primary="orange"><code>orange</code></button> -<button data-md-color-primary="deep-orange"><code>deep orange</code></button> -<button data-md-color-primary="brown"><code>brown</code></button> -<button data-md-color-primary="grey"><code>grey</code></button> -<button data-md-color-primary="blue-grey"><code>blue grey</code></button> -<button data-md-color-primary="black"><code>black</code></button> -<button data-md-color-primary="white"><code>white</code></button> - -<script> - var buttons = document.querySelectorAll("button[data-md-color-primary]") - buttons.forEach(function(button) { - var attr = "data-md-color-primary" - button.addEventListener("click", function() { - document.body.setAttribute(attr, this.getAttribute(attr)) - }) - }) -</script> - -#### Accent color - -> Default: `indigo` - -Click on a color name to change the accent color of the theme: - -<style> - .md-typeset button[data-md-color-accent] { - cursor: pointer; - transition: opacity 250ms; - } - .md-typeset button[data-md-color-accent]:hover { - opacity: 0.75; - } - .md-typeset button[data-md-color-accent] > code { - display: block; - color: var(--md-accent-fg-color); - } -</style> - -<button data-md-color-accent="red"><code>red</code></button> -<button data-md-color-accent="pink"><code>pink</code></button> -<button data-md-color-accent="purple"><code>purple</code></button> -<button data-md-color-accent="deep-purple"><code>deep purple</code></button> -<button data-md-color-accent="indigo"><code>indigo</code></button> -<button data-md-color-accent="blue"><code>blue</code></button> -<button data-md-color-accent="light-blue"><code>light blue</code></button> -<button data-md-color-accent="cyan"><code>cyan</code></button> -<button data-md-color-accent="teal"><code>teal</code></button> -<button data-md-color-accent="green"><code>green</code></button> -<button data-md-color-accent="light-green"><code>light green</code></button> -<button data-md-color-accent="lime"><code>lime</code></button> -<button data-md-color-accent="yellow"><code>yellow</code></button> -<button data-md-color-accent="amber"><code>amber</code></button> -<button data-md-color-accent="orange"><code>orange</code></button> -<button data-md-color-accent="deep-orange"><code>deep orange</code></button> - -<script> - var buttons = document.querySelectorAll("button[data-md-color-accent]") - buttons.forEach(function(button) { - var attr = "data-md-color-accent" - button.addEventListener("click", function() { - document.body.setAttribute(attr, this.getAttribute(attr)) - }) - }) -</script> - -### Fonts - -> Default: `Roboto` and `Roboto Mono` - -The [Roboto font family][12] is the default font included with the theme, -specifically the regular sans-serif type for text and the `monospaced` type for -code. Both fonts are loaded from [Google Fonts][13] and can be changed to any -valid webfont, like for example the [Ubuntu font family][14]: - -``` yaml -theme: - font: - text: Ubuntu - code: Ubuntu Mono -``` - -The text font will be loaded in weights 400 and **700**, the `monospaced` font -in regular weight. If you want to load fonts from other destinations or don't -want to use Google Fonts for data privacy reasons, just set `font` to `false`: - -``` yaml -theme: - font: false -``` - - [12]: https://fonts.google.com/specimen/Roboto - [13]: https://fonts.google.com - [14]: https://fonts.google.com/specimen/Ubuntu - -### Icons - -> Default: `material/library` and `fontawesome/brands/git-alt` - -Material for MkDocs uses icons in several places. Currently, the following icons -can be changed from `mkdocs.yml`: the logo icon, the repository icon and the -[social link icons][15]. While the social link icons are tied to the respective -entries, the other icons can be changed by referencing a valid path (without the -trailing `.svg`) relative to the `.icons` folder which comes with the theme: - -``` yaml -theme: - icon: - logo: material/library - repo: fontawesome/brands/git-alt -``` - -All icons are directly inlined as `*.svg` files, so no further requests will be -made. Icon sets which are bundled with Material for MkDocs: - -* [Material Design icons][16] (`material`): 5.1k icons -* [FontAwesome icons][17] (`fontawesome`): 1.6k icons -* [GitHub's Octicons][18] (`octicons`): 200 icons - -__You can use all those icons [directly from :fontawesome-brands-markdown: -Markdown][19]!__ - - [15]: #adding-social-links - [16]: https://materialdesignicons.com/ - [17]: https://fontawesome.com/icons?d=gallery&m=free - [18]: https://octicons.github.com/ - [19]: extensions/pymdown.md#icons - -### Logo - -> Default: icon set through `theme.icon.logo` - -If you want to replace the icon in the header (screen) and drawer (mobile) -with your brand's logo, you can place an image file in your `docs` folder -and use the following option in `mkdocs.yml`: - -``` yaml -theme: - logo: images/logo.svg -``` - -Ideally, the image should be a square with a minimum resolution of 96x96, leave -some room towards the edges and be composed of high contrast areas on a -transparent ground, as it will be placed on the colored header and drawer. - -### Favicon - -> Default: `assets/images/favicon.png` - -The default favicon can be changed with: - -``` yaml -theme: - favicon: images/favicon.png -``` - -## Extras - -### Adding a source repository - -To include a link to the repository of your project within your documentation, -set the following variables via your project's `mkdocs.yml`: - -``` yaml -repo_name: squidfunk/mkdocs-material -repo_url: https://github.com/squidfunk/mkdocs-material -``` - -The name of the repository will be rendered next to the search bar on big -screens and as part of the main navigation drawer on smaller screen sizes. -Additionally, for GitHub and GitLab, the number of stars and forks is shown. -Note that the repository icon can be explicitly set through `theme.icon.repo`. - -!!! question "Why is there an edit button at the top of every article?" - - If the `repo_url` is set to a GitHub or BitBucket repository, and the - `repo_name` is set to *GitHub* or *BitBucket* (implied by default), an - edit button will appear at the top of every article. This is the automatic - behavior that MkDocs implements. See the [MkDocs documentation][20] on more - guidance regarding the `edit_uri` attribute, which defines whether the edit - button is shown or not. - - [20]: https://www.mkdocs.org/user-guide/configuration/#edit_uri - -### Adding social links - -Social accounts can be linked in the footer of the documentation using the -[icons][21] which are bundled with the theme. Note that each `icon` must point -to a valid path (without the trailing `.svg`) relative to the `.icons` folder -which comes with the theme: - -``` yaml -extra: - social: - - icon: fontawesome/brands/github-alt - link: https://github.com/squidfunk - - icon: fontawesome/brands/twitter - link: https://twitter.com/squidfunk - - icon: fontawesome/brands/linkedin - link: https://linkedin.com/in/squidfunk -``` - -By default, the link `title` will be set to the domain name, e.g. _github.com_. -If you want to set a discernable name, e.g., to improve your Lighthouse score, -you can set the `name` attribute on each social link. - - [21]: #icons - -### Adding a Web App Manifest - -A [Web App Manifest][22] is a simple JSON file that tells the browser about your -web application and how it should behave when installed on the user's mobile -device or desktop. You can specify such a manifest in `mkdocs.yml`: - -``` yaml -extra: - manifest: manifest.webmanifest -``` - - [22]: https://developers.google.com/web/fundamentals/web-app-manifest/ - -## Integrations - -### Google Analytics - -MkDocs makes it easy to integrate site tracking with Google Analytics. To enable -tracking, which is disabled by default, you must add your tracking identifier -to `mkdocs.yml`: - -``` yaml -google_analytics: - - UA-XXXXXXXX-X - - auto -``` - -Besides basic page views, *site search* can also be tracked to better understand -how people use your documentation and what they expect to find. To enable -search tracking: - -1. Go to your Google Analytics **admin settings** -2. Select the property for the respective tracking code -3. Go to the **view settings** tab. -4. Scroll down and enable **site search settings** -5. Set the **query parameter** to `q`. - -### Disqus - -Material for MkDocs is integrated with [Disqus][23], so if you want to add a -comments section to your documentation set the *shortname* of your Disqus -project in `mkdocs.yml`: - -``` yaml -extra: - disqus: your-shortname -``` - -The comments section is inserted on *every page, except the index page*. The -necessary JavaScript is automatically included. - -!!! warning "Requirements" - - Note that `site_url` must be set in `mkdocs.yml` for the Disqus integration - to load properly. - -Disqus can also be enabled or disabled for specific pages using [Metadata][24]. - - [23]: https://disqus.com - [24]: extensions/metadata.md#disqus - -## Extensions - -[Markdown][3] comes with several very useful extensions, the following of which -are not enabled by default but highly recommended, so enabling them should -definitely be a good idea: - -``` yaml -markdown_extensions: - - admonition - - codehilite: - guess_lang: false - - toc: - permalink: true -``` - -See the following list of extensions supported by Material for MkDocs including -some more information on configuration and usage: - -* [Admonition][25] -* [Codehilite][26] -* [Footnotes][27] -* [Metadata][28] -* [Permalinks][29] -* [PyMdown Extensions][30] - - [25]: extensions/admonition.md - [26]: extensions/codehilite.md - [27]: extensions/footnotes.md - [28]: extensions/metadata.md - [29]: extensions/permalinks.md - [30]: extensions/pymdown.md - -## Plugins - -MkDocs' plugin architecture makes it possible to add pre- or post-processing -steps that sit between the theme and your documentation. For more information, -see the following list of plugins tested and supported by Material for MkDocs -including more information regarding installation and usage: - -* [Search][31] (enabled by default) -* [Minification][32] -* [Revision date][33] -* [Awesome pages][34] - -For further reference, the MkDocs wiki contains a list of all -[available plugins][35]. - - [31]: plugins/search.md - [32]: plugins/minification.md - [33]: plugins/revision-date.md - [34]: plugins/awesome-pages.md - [35]: https://github.com/mkdocs/mkdocs/wiki/MkDocs-Plugins + [9]: https://docs.python.org/3/tutorial/venv.html diff --git a/docs/guides/3rd-party-integrations.md b/docs/guides/3rd-party-integrations.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/adding-an-announcement-bar.md b/docs/guides/adding-an-announcement-bar.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/adding-and-using-icons.md b/docs/guides/adding-and-using-icons.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/adding-footer-links.md b/docs/guides/adding-footer-links.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/colors-and-fonts.md b/docs/guides/colors-and-fonts.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/language-and-translations.md b/docs/guides/language-and-translations.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/navigation-structure.md b/docs/guides/navigation-structure.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/syntax-highlighting.md b/docs/guides/syntax-highlighting.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/license.md b/docs/license.md index ed0f3e6a9..cb9dace45 100644 --- a/docs/license.md +++ b/docs/license.md @@ -6,22 +6,4 @@ template: overrides/main.html **MIT License** -Copyright © 2016 - 2020 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 -IN THE SOFTWARE. +--8<-- "LICENSE" diff --git a/docs/publishing-your-site.md b/docs/publishing-your-site.md new file mode 100644 index 000000000..e69de29bb diff --git a/mkdocs.yml b/mkdocs.yml index cd6f98fa6..a74486898 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -127,7 +127,19 @@ markdown_extensions: # Page tree nav: - Home: index.md - - Getting started: getting-started.md + - Getting started: + - Installation: getting-started.md + - Creating your site: creating-your-site.md + - Publishing your site: publishing-your-site.md + - Guides: + - Colors and fonts: guides/colors-and-fonts.md + - Navigation structure: guides/navigation-structure.md + - Language and translations: guides/language-and-translations.md + - Adding footer links: guides/adding-footer-links.md + - Adding an announcement bar: guides/adding-an-announcement-bar.md + - Adding and using icons: guides/adding-and-using-icons.md + - Syntax highlighting: guides/syntax-highlighting.md + - 3rd-party integrations: guides/3rd-party-integrations.md - Extensions: - Admonition: extensions/admonition.md - CodeHilite: extensions/codehilite.md @@ -144,10 +156,9 @@ nav: - Upgrading to 5.x: releases/5.md - Upgrading to 4.x: releases/4.md - Changelog: releases/changelog.md - - Customization: customization.md - - Data privacy: data-privacy.md - - Contributing: contributing.md - - License: license.md + # - Data privacy: data-privacy.md + # - Contributing: contributing.md + # - License: license.md # Google Analytics google_analytics: From 133cea49397c4cddbabb0eca292917d4ffcf8cfc Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Sun, 31 May 2020 16:39:32 +0200 Subject: [PATCH 02/37] Updated structure --- docs/creating-your-site.md | 6 ++++-- .../{3rd-party-integrations.md => adding-a-landing-page.md} | 0 ...adding-and-using-icons.md => adding-icons-and-emojis.md} | 0 docs/guides/{colors-and-fonts.md => changing-colors.md} | 0 .../{language-and-translations.md => changing-the-fonts.md} | 0 docs/guides/changing-the-language.md | 0 docs/guides/third-party-integrations.md | 0 7 files changed, 4 insertions(+), 2 deletions(-) rename docs/guides/{3rd-party-integrations.md => adding-a-landing-page.md} (100%) rename docs/guides/{adding-and-using-icons.md => adding-icons-and-emojis.md} (100%) rename docs/guides/{colors-and-fonts.md => changing-colors.md} (100%) rename docs/guides/{language-and-translations.md => changing-the-fonts.md} (100%) create mode 100644 docs/guides/changing-the-language.md create mode 100644 docs/guides/third-party-integrations.md diff --git a/docs/creating-your-site.md b/docs/creating-your-site.md index a6fcddb34..7744d602f 100644 --- a/docs/creating-your-site.md +++ b/docs/creating-your-site.md @@ -23,8 +23,8 @@ This will create the following structure along your existing files: ## Configuration Depending on your [installation method][1], you can now add the following lines -to `mkdocs.yml` in your project root. If you installed Material for MkDocs using -a package manager, add: +to `mkdocs.yml` in your project root. If you installed Material for MkDocs with +`pip` or pulled the Docker image, add: ``` yaml theme: @@ -39,6 +39,8 @@ theme: custom_dir: mkdocs-material/material ``` +!!! todo "Add note about many customization options with links to guides" + ## Previewing MkDocs includes a live preview server, so you can preview your changes as you diff --git a/docs/guides/3rd-party-integrations.md b/docs/guides/adding-a-landing-page.md similarity index 100% rename from docs/guides/3rd-party-integrations.md rename to docs/guides/adding-a-landing-page.md diff --git a/docs/guides/adding-and-using-icons.md b/docs/guides/adding-icons-and-emojis.md similarity index 100% rename from docs/guides/adding-and-using-icons.md rename to docs/guides/adding-icons-and-emojis.md diff --git a/docs/guides/colors-and-fonts.md b/docs/guides/changing-colors.md similarity index 100% rename from docs/guides/colors-and-fonts.md rename to docs/guides/changing-colors.md diff --git a/docs/guides/language-and-translations.md b/docs/guides/changing-the-fonts.md similarity index 100% rename from docs/guides/language-and-translations.md rename to docs/guides/changing-the-fonts.md diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/third-party-integrations.md b/docs/guides/third-party-integrations.md new file mode 100644 index 000000000..e69de29bb From e90008600f87a4e7db08e9244a66ebb1e9c506f9 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Sun, 31 May 2020 16:43:56 +0200 Subject: [PATCH 03/37] Updated structure --- mkdocs.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index a74486898..edbdf5511 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -132,14 +132,16 @@ nav: - Creating your site: creating-your-site.md - Publishing your site: publishing-your-site.md - Guides: - - Colors and fonts: guides/colors-and-fonts.md + - Changing colors: guides/changing-colors.md + - Changing the fonts: guides/changing-the-fonts.md + - Changing the language: guides/changing-the-language.md - Navigation structure: guides/navigation-structure.md - - Language and translations: guides/language-and-translations.md - - Adding footer links: guides/adding-footer-links.md - - Adding an announcement bar: guides/adding-an-announcement-bar.md - - Adding and using icons: guides/adding-and-using-icons.md - Syntax highlighting: guides/syntax-highlighting.md - - 3rd-party integrations: guides/3rd-party-integrations.md + - Third-party integrations: guides/third-party-integrations.md + - Adding a landing page: guides/adding-a-landing-page.md + - Adding an announcement bar: guides/adding-an-announcement-bar.md + - Adding icons and emojis: guides/adding-icons-and-emojis.md + - Adding footer links: guides/adding-footer-links.md - Extensions: - Admonition: extensions/admonition.md - CodeHilite: extensions/codehilite.md From 71e9b1d745aab0063a0d16bed6176fdf3a8ccbdb Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Thu, 16 Jul 2020 22:31:39 +0200 Subject: [PATCH 04/37] Improved getting started guide and added further guides --- docs/assets/guides/creating-your-site.png | Bin 0 -> 326845 bytes docs/creating-your-site.md | 73 ----- docs/getting-started.md | 71 +---- docs/getting-started/creating-your-site.md | 137 +++++++++ docs/getting-started/customization.md | 247 ++++++++++++++++ docs/getting-started/publishing-your-site.md | 94 ++++++ docs/getting-started/troubleshooting.md | 102 +++++++ .../adding-a-comment-system.md} | 0 docs/guides/adding-site-analytics.md | 0 docs/guides/changing-colors.md | 274 ++++++++++++++++++ docs/guides/changing-the-fonts.md | 38 +++ material/assets/manifest.json | 4 +- .../stylesheets/main.61729dd2.min.css.map | 1 - ...61729dd2.min.css => main.ee9eac3c.min.css} | 4 +- .../stylesheets/main.ee9eac3c.min.css.map | 1 + material/base.html | 2 +- material/partials/more.html | 11 - mkdocs.yml | 9 +- .../extensions/pymdown/_emoji.scss | 2 + src/partials/more.html | 39 --- 20 files changed, 916 insertions(+), 193 deletions(-) create mode 100644 docs/assets/guides/creating-your-site.png delete mode 100644 docs/creating-your-site.md create mode 100644 docs/getting-started/creating-your-site.md create mode 100644 docs/getting-started/customization.md create mode 100644 docs/getting-started/publishing-your-site.md create mode 100644 docs/getting-started/troubleshooting.md rename docs/{publishing-your-site.md => guides/adding-a-comment-system.md} (100%) create mode 100644 docs/guides/adding-site-analytics.md delete mode 100644 material/assets/stylesheets/main.61729dd2.min.css.map rename material/assets/stylesheets/{main.61729dd2.min.css => main.ee9eac3c.min.css} (95%) create mode 100644 material/assets/stylesheets/main.ee9eac3c.min.css.map delete mode 100644 material/partials/more.html delete mode 100644 src/partials/more.html diff --git a/docs/assets/guides/creating-your-site.png b/docs/assets/guides/creating-your-site.png new file mode 100644 index 0000000000000000000000000000000000000000..0243b619279206dde1d13022e417b60ffe7357b1 GIT binary patch literal 326845 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%0Aj6XGWYIgR+;&h4s04);Av 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�ws#-@-ca35%AI@WPB-eC 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 literal 0 HcmV?d00001 diff --git a/docs/creating-your-site.md b/docs/creating-your-site.md deleted file mode 100644 index 7744d602f..000000000 --- a/docs/creating-your-site.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -template: overrides/main.html ---- - -# Creating your site - -After you've installed Material for MkDocs, bootstrap your site using the -`mkdocs` executable. Change to the directory where you want your documentation -to be located and enter: - -``` sh -mkdocs new . -``` - -This will create the following structure along your existing files: - -``` -├─ docs/ -│ └─ index.md -└─ mkdocs.yml -``` - -## Configuration - -Depending on your [installation method][1], you can now add the following lines -to `mkdocs.yml` in your project root. If you installed Material for MkDocs with -`pip` or pulled the Docker image, add: - -``` yaml -theme: - name: material -``` - -If you cloned Material for MkDocs from GitHub, add: - -``` yaml -theme: - name: null - custom_dir: mkdocs-material/material -``` - -!!! todo "Add note about many customization options with links to guides" - -## Previewing - -MkDocs includes a live preview server, so you can preview your changes as you -write your documentation. Start it with: - -``` -mkdocs serve -``` - -If you're running Material for MkDocs from within Docker, use: - -=== "Unix" - - ``` - docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material - ``` - -=== "Windows" - - ``` - docker run --rm -it -p 8000:8000 -v "%cd%":/docs squidfunk/mkdocs-material - ``` - -Point your browser to [localhost:8000][2] and you should see: - -[![Creating your site][3]][3] - - [1]: getting-started.md#installation - [2]: http://localhost:8000 - [3]: assets/screenshots/creating-your-site.png diff --git a/docs/getting-started.md b/docs/getting-started.md index 30813ef84..5fbcd83d1 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -5,13 +5,16 @@ template: overrides/main.html # Getting started Material for MkDocs is a theme for [MkDocs][1], a static site generator geared -towards technical documentation. If you're familar with Python, you can install -Material for MkDocs with [`pip`][2], the Python package manager. If not, we -recommended using [`docker`][3]. +towards (technical) project documentation. If you're familar 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]: getting-started/troubleshooting.md ## Installation @@ -24,16 +27,13 @@ pip install mkdocs-material ``` This will automatically install compatible versions of all dependencies: -[MkDocs][1], [Markdown][4], [Pygments][5] and [PyMdown Extensions][6]. Material +[MkDocs][1], [Markdown][5], [Pygments][6] and [PyMdown Extensions][7]. Material for MkDocs always strives to support the latest versions, so there's no need to install those packages separately. -If you're running into problems, read the section on [virtual environments][7]. - - [4]: https://python-markdown.github.io/ - [5]: https://pygments.org/ - [6]: https://facelessuser.github.io/pymdown-extensions/ - [7]: #virtual-environments + [5]: https://python-markdown.github.io/ + [6]: https://pygments.org/ + [7]: https://facelessuser.github.io/pymdown-extensions/ ### with docker @@ -69,54 +69,3 @@ pip install -r mkdocs-material/requirements.txt ``` [9]: https://github.com/squidfunk/mkdocs-material - -## Virtual environments - -If you're installing Material for MkDocs with `pip`, the easiest way to make -sure that you end up with the correct versions and without any incompatibility -problems between packages it to use a [virtual environment][9]. First, ensure -that you have a Python version of 3 or higher installed: - -``` sh -python --version -``` - -If you're good to go, create and activate a virtual environment with: - -``` -python -m venv venv -source ./venv/bin/activate -``` - -Note that the second `venv` is the name of the folder where to create the -virtual environment – you may choose it as you like. Your terminal should now -print `(venv)` before the prompt and the `python` executable should be located -inside the folder you just created: - -``` sh -which python -``` - -Next, install Material for MkDocs with `pip`, which will download and install -all packages in the `venv` folder you just created, including MkDocs and its -dependencies: - -``` sh -pip install mkdocs-material -``` - -Verify that MkDocs and Material for MkDocs were both installed correctly: - -``` sh -mkdocs --version -mkdocs serve --help -``` - -MkDocs should list `material` as an option under the `--theme` flag. When you're -finished working with MkDocs, you can exit the virtual environment with: - -``` -deactivate -``` - - [9]: https://docs.python.org/3/tutorial/venv.html diff --git a/docs/getting-started/creating-your-site.md b/docs/getting-started/creating-your-site.md new file mode 100644 index 000000000..bae1e7be1 --- /dev/null +++ b/docs/getting-started/creating-your-site.md @@ -0,0 +1,137 @@ +--- +template: overrides/main.html +--- + +# Creating your site + +After you've [installed][1] Material for MkDocs, you can bootstrap your project +documentation using the `mkdocs` executable. Go to the directory where you want +your project to be located and enter: + +``` sh +mkdocs new . +``` + +If you're running Material for MkDocs from within Docker, use: + +=== "Unix" + + ``` + docker run --rm -it -v ${PWD}:/docs squidfunk/mkdocs-material new . + ``` + +=== "Windows" + + ``` + docker run --rm -it -v "%cd%":/docs squidfunk/mkdocs-material new . + ``` + +This will create the following structure: + +``` +├─ docs/ +│ └─ index.md +└─ mkdocs.yml +``` + + [1]: ../getting-started.md + +## Configuration + +### Minimal configuration + +Depending on your [installation method][2], you can now add the following lines +to `mkdocs.yml` in your project root. If you installed Material for MkDocs using +`pip` or `docker`, add: + +``` yaml +theme: + name: material +``` + +If you cloned Material for MkDocs from GitHub, add: + +``` yaml +theme: + name: null + custom_dir: mkdocs-material/material +``` + +### Advanced configuration + +Material for MkDocs comes with a lot of configuration options. The _guides_ +section explains in great detail how to configure and customize colors, fonts, +icons and much more: + +* [Changing colors][3] +* [Changing the fonts][4] +* [Changing the language][5] +* [Navigation structure][6] +* [Syntax highlighting][7] +* [Adding a landing page][8] +* [Adding an announcement bar][9] +* [Adding icons and emojis][10] +* [Adding footer links][11] +* [Adding site analytics][12] +* [Adding a comment system][13] + + [2]: ../getting-started.md#installation + [3]: ../guides/changing-colors.md + [4]: ../guides/changing-the-fonts.md + [5]: ../guides/changing-the-language.md + [6]: ../guides/navigation-structure.md + [7]: ../guides/syntax-highlighting.md + [8]: ../guides/adding-a-landing-page.md + [9]: ../guides/adding-an-announcement-bar.md + [10]: ../guides/adding-icons-and-emojis.md + [11]: ../guides/adding-footer-links.md + [12]: ../guides/adding-site-analytics.md + [13]: ../guides/adding-a-comment-system.md + +## Previewing as you write + +MkDocs includes a live preview server, so you can preview your changes as you +write your documentation. The server will automatically rebuild the site upon +saving. Start it with: + +``` +mkdocs serve +``` + +If you're running Material for MkDocs from within Docker, use: + +=== "Unix" + + ``` + docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material + ``` + +=== "Windows" + + ``` + docker run --rm -it -p 8000:8000 -v "%cd%":/docs squidfunk/mkdocs-material + ``` + +Point your browser to [localhost:8000][14] and you should see: + +[![Creating your site][15]][14] + + [14]: http://localhost:8000 + [15]: ../assets/guides/creating-your-site.png + +## Building your site + +When you're finished editing, you can build a static site from your Markdown +files with: + +``` +mkdocs build +``` + +The contents of this directory make up your project documentation. There's no +need for operating a database or server, as it is completely self-contained. +The site can be hosted on [GitHub Pages][16], [GitLab Pages][17], a CDN of your +choice or your private web space. + + [16]: publishing-your-site.md#github-pages + [17]: publishing-your-site.md#gitlab-pages diff --git a/docs/getting-started/customization.md b/docs/getting-started/customization.md new file mode 100644 index 000000000..8c16b1de1 --- /dev/null +++ b/docs/getting-started/customization.md @@ -0,0 +1,247 @@ +--- +template: overrides/main.html +--- + +# Customization + +Project documentation is as diverse as the projects themselves and Material for +MkDocs is a good starting point for making it look great. However, as you write +your documentation, you may reach a point where some small adjustments are +necessary to preserve your brand's style. + +## Adding assets + +[MkDocs][1] provides several ways to customize a theme. In order to make a few +tweaks to an existing theme, you can just add your stylesheets and JavaScript +files to the `docs` directory. + + [1]: https://www.mkdocs.org + +### Additional stylesheets + +If you want to tweak some colors or change the spacing of certain elements, +you can do this in a separate stylesheet. The easiest way is by creating a +new stylesheet file in the `docs` directory: + +``` sh +mkdir docs/stylesheets +touch docs/stylesheets/extra.css +``` + +Then, add the following line to `mkdocs.yml`: + +``` yaml +extra_css: + - stylesheets/extra.css +``` + +Spin up the [live preview server][2] and start typing your changes in your +additional stylesheet file – you should see them almost instantly after saving. + + [2]: creating-your-site.md#previewing-as-you-write + +### Additional JavaScript + +The same is true for additional JavaScript. If you want to integrate another +syntax highlighter or add some custom logic to your theme, create a new +JavaScript file in the `docs` directory: + +``` sh +mkdir docs/javascripts +touch docs/javascripts/extra.js +``` + +Then, add the following line to `mkdocs.yml`: + +``` yaml +extra_javascript: + - javascripts/extra.js +``` + +Further assistance can be found in the [MkDocs documentation][3]. + + [3]: https://www.mkdocs.org/user-guide/styling-your-docs/#customizing-a-theme + +## Extending the theme + +If you want to alter the HTML source (e.g. add or remove some part), you can +extend the theme. MkDocs supports [theme extension][4], an easy way to override +parts of a theme without forking and changing the main theme. + + [4]: https://www.mkdocs.org/user-guide/styling-your-docs/#using-the-theme-custom_dir + +### Setup and theme structure + +Reference the Material theme as usual in `mkdocs.yml`, and create a new folder +for `overrides` which you reference using `custom_dir`: + +``` yaml +theme: + name: material + custom_dir: overrides +``` + +!!! warning "Theme extension prerequisites" + + As the `custom_dir` variable is used for the theme extension process, + Material for MkDocs needs to be installed via `pip` and referenced with the + `name` parameter in `mkdocs.yml`. It will not work when cloning from `git`. + +The structure in the `overrides` directory must mirror the directory structure +of the original theme, as any file in the `overrides` directory will replace the +file with the same name which is part of the original theme. Besides, further +assets may also be put in the `overrides` directory. + +The directory layout of the theme is as follows: + +``` sh +. +├─ assets/ +│ ├─ images/ # Images and icons +│ ├─ javascripts/ # JavaScript +│ └─ stylesheets/ # Stylesheets +├─ partials/ +│ ├─ integrations/ # 3rd-party integrations +│ ├─ language/ # Localized languages +│ ├─ footer.html # Footer bar +│ ├─ header.html # Header bar +│ ├─ hero.html # Hero teaser +│ ├─ language.html # Localized labels +│ ├─ logo.html # Logo in header and sidebar +│ ├─ nav.html # Main navigation +│ ├─ nav-item.html # Main navigation item +│ ├─ palette.html # Color palette +│ ├─ search.html # Search box +│ ├─ social.html # Social links +│ ├─ source.html # Repository information +│ ├─ source-date.html # Last updated date +│ ├─ source-link.html # Link to source file +│ ├─ tabs.html # Tabs navigation +│ ├─ tabs-item.html # Tabs navigation item +│ ├─ toc.html # Table of contents +│ └─ toc-item.html # Table of contents item +├─ 404.html # 404 error page +├─ base.html # Base template +└─ main.html # Default page +``` + +### Overriding partials + +In order to override the footer, we can replace the `footer.html` partial with +our own partial. To do this, create the file `partials/footer.html` in the +`overrides` directory. MkDocs will now use the new partial when rendering the +theme. This can be done with any file. + +### Overriding blocks + +Besides overriding partials, it's also possible to override (and extend) so +called *blocks*, which are defined inside the templates and wrap specific +features. To override a block, create a `main.html` inside the `overrides` +directory and define the block, e.g.: + +``` jinja +{% extends "base.html" %} + +{% block htmltitle %} + <title>Lorem ipsum dolor sit amet +{% endblock %} +``` + +Material for MkDocs provides the following template blocks: + +| Block name | Wrapped contents | +| ------------ | ----------------------------------------------- | +| `analytics` | Wraps the Google Analytics integration | +| `announce` | Wraps the Announcement bar | +| `config` | Wraps the JavaScript application config | +| `content` | Wraps the main content | +| `disqus` | Wraps the disqus integration | +| `extrahead` | Empty block to define additional meta tags | +| `fonts` | Wraps the webfont definitions | +| `footer` | Wraps the footer with navigation and copyright | +| `header` | Wraps the fixed header bar | +| `hero` | Wraps the hero teaser (if available) | +| `htmltitle` | Wraps the `` tag | +| `libs` | Wraps the JavaScript libraries (header) | +| `scripts` | Wraps the JavaScript application (footer) | +| `source` | Wraps the linked source files | +| `site_meta` | Wraps the meta tags in the document head | +| `site_nav` | Wraps the site navigation and table of contents | +| `styles` | Wraps the stylesheets (also extra sources) | +| `tabs` | Wraps the tabs navigation (if available) | + +For more on this topic refer to the [MkDocs documentation][5]. + + [5]: https://www.mkdocs.org/user-guide/styling-your-docs/#overriding-template-blocks + +## Theme development + +Material for MkDocs uses [Webpack][6] as a build tool to leverage modern web +technologies like [TypeScript][7] and [SASS][8]. If you want to make more +fundamental changes, it may be necessary to make the adjustments directly in +the source of the theme and recompile it. + + [6]: https://webpack.js.org/ + [7]: https://www.typescriptlang.org/ + [8]: https://sass-lang.com + +### Environment setup + +In order to start development on Material for MkDocs, a [Node.js][9] version of +at least 12 is required. First, clone the repository: + +``` sh +git clone https://github.com/squidfunk/mkdocs-material +``` + +Next, all dependencies need to be installed, which is done with: + +``` sh +cd mkdocs-material +pip install -r requirements.txt +pip install mkdocs-minify-plugin +npm install +``` + + [9]: https://nodejs.org + +### Development mode + +Start the Webpack watchdog with: + +``` sh +npm start +``` + +Then, in a second session, start the MkDocs server with: + +```sh +mkdocs serve +``` + +Point your browser to [localhost:8000][10] and you should see this documentation +in front of you. + +!!! warning "Automatically generated files" + + Never make any changes in the `material` directory, as the contents of this + directory are automatically generated from the `src` directory and will be + overridden when the theme is built. + + [10]: http://localhost:8000 + +### Build process + +When you're finished making your changes, you can build the theme by invoking: + +``` sh +npm run build +``` + +This triggers the production-level compilation and minification of all +stylesheets and JavaScript sources. When the command exits, the final files are +located in the `material` directory. Add the `theme_dir` variable pointing to +the aforementioned directory in the original `mkdocs.yml`. + +Now you can run `mkdocs build` and you should see your documentation with your +changes to the original theme. diff --git a/docs/getting-started/publishing-your-site.md b/docs/getting-started/publishing-your-site.md new file mode 100644 index 000000000..7535ed30c --- /dev/null +++ b/docs/getting-started/publishing-your-site.md @@ -0,0 +1,94 @@ +--- +template: overrides/main.html +--- + +# Publishing your site + +The great thing about hosting project documentation in a `git` repository is +the ability to automatically deploy it when new changes are pushed. MkDocs +makes this ridiculously simple. + +## GitHub Pages + +If you're already hosting your code on GitHub, [GitHub Pages][1] is certainly +the most convenient way to publish your project documentation. It's free of +charge and pretty easy to set up. + + [1]: https://pages.github.com/ + +### with GitHub Actions + +Using [GitHub Actions][2] you can automate the deployment of your project +documentation. At the root of your repository, create a new GitHub Actions +workflow, e.g. `.github/workflows/ci.yml`, and copy and paste the following +contents: + +=== ".github/workflows/ci.yml" + + ``` yaml + name: ci + on: + - push + - pull_request + jobs: + deploy: + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.x + - run: pip install mkdocs-material + - run: mkdocs gh-deploy --force + ``` + +Now, when a new commit is pushed to `master`, the static site is automatically +built and deployed. Commit and push the file to your repository to see the +workflow in action. + +Your documentation should shortly appear at `<username>.github.io/<repository>`. + + [2]: https://github.com/features/actions + +### with MkDocs + +If you prefer to deploy your project documentation manually, you can just invoke +the following command from the directory containing the `mkdocs.yml` file: + +``` +mkdocs gh-deploy --force +``` + +## GitLab Pages + +If you're hosting your code on GitLab, deploying to [GitLab Pages][3] can be +done by using the [GitLab CI][4] task runner. At the root of your repository, +create a task definition named `.gitlab-ci.yml` and copy and paste the +following contents: + +=== ".gitlab-ci.yml" + + ``` yaml + image: python:latest + deploy: + stage: deploy + only: + - master + script: + - pip install mkdocs-material + - mkdocs build --site-dir public + artifacts: + paths: + - public + ``` + +Now, when a new commit is pushed to `master`, the static site is automatically +built and deployed. Commit and push the file to your repository to see the +workflow in action. + +Your documentation should shortly appear at `<username>.gitlab.io/<repository>`. + + [3]: https://gitlab.com/pages + [4]: https://docs.gitlab.com/ee/ci/ + diff --git a/docs/getting-started/troubleshooting.md b/docs/getting-started/troubleshooting.md new file mode 100644 index 000000000..a3ba5e74c --- /dev/null +++ b/docs/getting-started/troubleshooting.md @@ -0,0 +1,102 @@ +--- +template: overrides/main.html +--- + +# Troubleshooting + +## Inadequate permissions + +> Operating systems: +> :fontawesome-brands-apple: + +!!! error "Error: Permission denied" + + ``` sh + pip install mkdocs-material + # => Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '...' + # => Consider using the --user option or check the permissions. + ``` + +When you're running the pre-installed version of Python on macOS, `pip` tries +to install packages in a folder for which your user might not have the adequate +permissions. There are three possible solutions for this: + +1. **Installing in a virtual environment**: Virtual environments provide an easy + way of encapsulation. + +1. **Installing in user space**: Provide the `--user` flag to the install + command and `pip` will install the package in a user-site location. Note + that while this is not a global installation, it's still not + +2. **Switching to a homebrewed Python**: Upgrade your Python installation to a + self-contained solution by installing Python with Homebrew. This should + eliminate a lot of problems you could be having with `pip`. + +### Virtual environments + +If you're installing Material for MkDocs with `pip`, the easiest way to make +sure that you end up with the correct versions and without any incompatibility +problems between packages it to use a [virtual environment][9]. First, ensure +that you have a Python version of 3 or higher installed: + +``` sh +python --version +``` + +If you're good to go, create and activate a virtual environment with: + +``` +python -m venv venv +source ./venv/bin/activate +``` + +Note that the second `venv` is the name of the folder where to create the +virtual environment – you may choose it as you like. Your terminal should now +print `(venv)` before the prompt and the `python` executable should be located +inside the folder you just created. + +Next, install Material for MkDocs with `pip`, which will download and install +all packages in the `venv` folder you just created, including MkDocs and its +dependencies: + +``` sh +pip install mkdocs-material +``` + +Verify that MkDocs and Material for MkDocs were both installed correctly: + +``` sh +mkdocs --version +mkdocs serve --help +``` + +MkDocs should list `material` as an option under the `--theme` flag. When you're +finished working with MkDocs, you can exit the virtual environment with: + +``` +deactivate +``` + + [9]: https://docs.python.org/3/tutorial/venv.html + +## Theme not recognized + +> Operating systems: +> :fontawesome-brands-apple: +> :fontawesome-brands-windows: +> :fontawesome-brands-linux: + +!!! error "Error: Unrecognized theme" + + ``` sh + mkdocs serve + # => INFO - Building documentation... + # => ERROR - Config value: 'theme'. Error: Unrecognised theme 'material'. + # => ... + # => ConfigurationError: Aborted with 1 Configuration Errors! + ``` + +If you run into this error, the most common reason is that you installed MkDocs +through some package manager (e.g. `brew` or `apt-get`) and Material for MkDocs +through `pip`, so both packages end up in different locations. MkDocs only +checks its install location for themes. diff --git a/docs/publishing-your-site.md b/docs/guides/adding-a-comment-system.md similarity index 100% rename from docs/publishing-your-site.md rename to docs/guides/adding-a-comment-system.md diff --git a/docs/guides/adding-site-analytics.md b/docs/guides/adding-site-analytics.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index e69de29bb..c7759d0d3 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -0,0 +1,274 @@ +--- +template: overrides/main.html +--- + +# Changing colors + +As any good Material Design implementation, Material for MkDocs supports +Google's original [color palette][1], which can be easily configured through +`mkdocs.yml`. Furthermore, colors can be adjusted with a few lines of CSS to +fit your brand identity by using [CSS variables][2]. + + [1]: http://www.materialui.co/colors + [2]: #customization + +## Configuration + +### Color scheme + +> Default: `default` + +Material for MkDocs supports two _color schemes_: a light mode, which is just +called `default`, and a dark mode, which is called `slate`. The color scheme +can be set from `mkdocs.yml`: + +``` yaml +theme: + palette: + scheme: default +``` + +:material-cursor-default-click-outline: click on a tile to change the color +scheme: + +<style> + .md-typeset button[data-md-color-scheme] { + cursor: pointer; + transition: opacity 250ms; + } + .md-typeset button[data-md-color-scheme]:hover { + opacity: 0.75; + } + .md-typeset button[data-md-color-scheme] > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + } +</style> + +<button data-md-color-scheme="default"><code>default</code></button> +<button data-md-color-scheme="slate"><code>slate</code></button> + +<script> + var buttons = document.querySelectorAll("button[data-md-color-scheme]") + buttons.forEach(function(button) { + var attr = "data-md-color-scheme" + button.addEventListener("click", function() { + var name = document.querySelector("#__code_0 code span:nth-child(7)") + document.body.setAttribute(attr, this.getAttribute(attr)) + name.textContent = this.getAttribute(attr) + }) + }) +</script> + +The _color scheme_ can also be set based on _user preference_, which makes use +of the `prefers-color-scheme` media query. This can be done by adding the +following to `mkdocs.yml`: + +``` yaml +theme: + palette: + scheme: preference +``` + +### Primary color + +> Default: `indigo` + +The _primary color_ is used for the header, the sidebar, text links and several +other components. In order to change the primary color, set the following value +in `mkdocs.yml` to a valid color name: + +``` yaml +theme: + palette: + primary: indigo +``` + +:material-cursor-default-click-outline: click on a tile to change the primary +color: + +<style> + .md-typeset button[data-md-color-primary] { + cursor: pointer; + transition: opacity 250ms; + } + .md-typeset button[data-md-color-primary]:hover { + opacity: 0.75; + } + .md-typeset button[data-md-color-primary] > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + } +</style> + +<button data-md-color-primary="red"><code>red</code></button> +<button data-md-color-primary="pink"><code>pink</code></button> +<button data-md-color-primary="purple"><code>purple</code></button> +<button data-md-color-primary="deep-purple"><code>deep purple</code></button> +<button data-md-color-primary="indigo"><code>indigo</code></button> +<button data-md-color-primary="blue"><code>blue</code></button> +<button data-md-color-primary="light-blue"><code>light blue</code></button> +<button data-md-color-primary="cyan"><code>cyan</code></button> +<button data-md-color-primary="teal"><code>teal</code></button> +<button data-md-color-primary="green"><code>green</code></button> +<button data-md-color-primary="light-green"><code>light green</code></button> +<button data-md-color-primary="lime"><code>lime</code></button> +<button data-md-color-primary="yellow"><code>yellow</code></button> +<button data-md-color-primary="amber"><code>amber</code></button> +<button data-md-color-primary="orange"><code>orange</code></button> +<button data-md-color-primary="deep-orange"><code>deep orange</code></button> +<button data-md-color-primary="brown"><code>brown</code></button> +<button data-md-color-primary="grey"><code>grey</code></button> +<button data-md-color-primary="blue-grey"><code>blue grey</code></button> +<button data-md-color-primary="black"><code>black</code></button> +<button data-md-color-primary="white"><code>white</code></button> + +<script> + var buttons = document.querySelectorAll("button[data-md-color-primary]") + buttons.forEach(function(button) { + var attr = "data-md-color-primary" + button.addEventListener("click", function() { + var name = document.querySelector("#__code_2 code span:nth-child(7)") + document.body.setAttribute(attr, this.getAttribute(attr)) + name.textContent = this.getAttribute(attr) + }) + }) +</script> + +### Accent color + +> Default: `indigo` + +The _accent color_ is used to denote elements that can be interacted with, e.g. +hovered links, buttons and scrollbars. It can be changed in `mkdocs.yml` by +chosing a valid color name: + +``` yaml +theme: + palette: + accent: indigo +``` + +:material-cursor-default-click-outline: click on a tile to change the accent +color: + +<style> + .md-typeset button[data-md-color-accent] { + cursor: pointer; + transition: opacity 250ms; + } + .md-typeset button[data-md-color-accent]:hover { + opacity: 0.75; + } + .md-typeset button[data-md-color-accent] > code { + display: block; + color: var(--md-accent-fg-color); + } +</style> + +<button data-md-color-accent="red"><code>red</code></button> +<button data-md-color-accent="pink"><code>pink</code></button> +<button data-md-color-accent="purple"><code>purple</code></button> +<button data-md-color-accent="deep-purple"><code>deep purple</code></button> +<button data-md-color-accent="indigo"><code>indigo</code></button> +<button data-md-color-accent="blue"><code>blue</code></button> +<button data-md-color-accent="light-blue"><code>light blue</code></button> +<button data-md-color-accent="cyan"><code>cyan</code></button> +<button data-md-color-accent="teal"><code>teal</code></button> +<button data-md-color-accent="green"><code>green</code></button> +<button data-md-color-accent="light-green"><code>light green</code></button> +<button data-md-color-accent="lime"><code>lime</code></button> +<button data-md-color-accent="yellow"><code>yellow</code></button> +<button data-md-color-accent="amber"><code>amber</code></button> +<button data-md-color-accent="orange"><code>orange</code></button> +<button data-md-color-accent="deep-orange"><code>deep orange</code></button> + +<script> + var buttons = document.querySelectorAll("button[data-md-color-accent]") + buttons.forEach(function(button) { + var attr = "data-md-color-accent" + button.addEventListener("click", function() { + var name = document.querySelector("#__code_3 code span:nth-child(7)") + document.body.setAttribute(attr, this.getAttribute(attr)) + name.textContent = this.getAttribute(attr) + }) + }) +</script> + +## Customization + +Material for MkDocs implements colors using [CSS variables][3] (custom +properties). If you want to customize the colors beyond the palette (e.g. to +use your brand-specific colors), you can add an [additional stylesheet][4] and +tweak the following CSS variables: + +``` css +:root { + + /* Default color shades */ + --md-default-fg-color: hsla(0, 0%, 0%, 0.87); + --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54); + --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32); + --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07); + --md-default-bg-color: hsla(0, 0%, 100%, 1); + --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7); + --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3); + --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12); + + /* Primary color shades */ + --md-primary-fg-color: hsla(231, 48%, 48%, 1); + --md-primary-fg-color--light: hsla(231, 44%, 56%, 1); + --md-primary-fg-color--dark: hsla(232, 54%, 41%, 1); + --md-primary-bg-color: hsla(0, 0%, 100%, 1); + --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); + + /* Accent color shades */ + --md-accent-fg-color: hsla(231, 99%, 66%, 1); + --md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1); + --md-accent-bg-color: hsla(0, 0%, 100%, 1); + --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); +} +``` + +The colors of [code blocks][5], [admonitions][6], text links and the footer can +be adjusted through dedicated CSS variables, which partly default to the base +colors or neutral colors: + +``` css +:root > * { + + /* Code color shades */ + --md-code-bg-color: hsla(0, 0%, 96%, 1); + --md-code-fg-color: hsla(200, 18%, 26%, 1); + + /* Text color shades */ + --md-text-color: var(--md-default-fg-color); + --md-text-link-color: var(--md-primary-fg-color); + + /* Admonition color shades */ + --md-admonition-bg-color: var(--md-default-bg-color); + --md-admonition-fg-color: var(--md-default-fg-color); + + /* Footer color shades */ + --md-footer-bg-color: hsla(0, 0%, 0%, 0.87); + --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32); + --md-footer-fg-color: hsla(0, 0%, 100%, 1); + --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7); + --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3); +} +``` + + [3]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties + [4]: ../getting-started/customization.md#additional-stylesheets + +## Caveats + +!!! warning "Accessibility – not all color combinations work well" + + With __2__ (color schemes) __x 21__ (primary colors) __x 17__ (accent color) + = __714__ combinations, it's impossible to ensure that all configurations + provide a good user experience (e.g. _yellow on light background_), so make + sure that the color combination of your choosing provides enough contrast + and tweak CSS variables where necessary. diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index e69de29bb..deb008461 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -0,0 +1,38 @@ +--- +template: overrides/main.html +--- + +# Changing the fonts + +## Configuration + +> Default: `Roboto` and `Roboto Mono` + +The [Roboto font family][1] is the default font included with the theme, +specifically the regular sans-serif type for text and the `monospaced` type for +code. Both fonts are loaded from [Google Fonts][2] and can be changed to any +supported typeface, like for example the [Ubuntu font family][3]: + +``` yaml +theme: + font: + text: Ubuntu + code: Ubuntu Mono +``` + +The text font will be loaded in weights 400 and **700**, the `monospaced` font +in regular weight. If you want to load fonts from other destinations or don't +want to use Google Fonts for data privacy reasons, just set `font` to `false`: + +``` yaml +theme: + font: false +``` + + [1]: https://fonts.google.com/specimen/Roboto + [2]: https://fonts.google.com + [3]: https://fonts.google.com/specimen/Ubuntu + +## Customization + +TBD diff --git a/material/assets/manifest.json b/material/assets/manifest.json index 6e723489c..90f4dec1e 100644 --- a/material/assets/manifest.json +++ b/material/assets/manifest.json @@ -5,8 +5,8 @@ "assets/javascripts/vendor.js.map": "assets/javascripts/vendor.568ba93b.min.js.map", "assets/javascripts/worker/search.js": "assets/javascripts/worker/search.a68abb33.min.js", "assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.a68abb33.min.js.map", - "assets/stylesheets/main.css": "assets/stylesheets/main.61729dd2.min.css", - "assets/stylesheets/main.css.map": "assets/stylesheets/main.61729dd2.min.css.map", + "assets/stylesheets/main.css": "assets/stylesheets/main.ee9eac3c.min.css", + "assets/stylesheets/main.css.map": "assets/stylesheets/main.ee9eac3c.min.css.map", "assets/stylesheets/palette.css": "assets/stylesheets/palette.e185632b.min.css", "assets/stylesheets/palette.css.map": "assets/stylesheets/palette.e185632b.min.css.map" } \ No newline at end of file diff --git a/material/assets/stylesheets/main.61729dd2.min.css.map b/material/assets/stylesheets/main.61729dd2.min.css.map deleted file mode 100644 index b8d1935e2..000000000 --- a/material/assets/stylesheets/main.61729dd2.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,wBACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,kBACA,mCCbJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,8MACE,mQACA,6BASA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVsWa,oDUpWX,CVoWW,2CUpWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.61729dd2.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");--md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");\n --md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/stylesheets/main.61729dd2.min.css b/material/assets/stylesheets/main.ee9eac3c.min.css similarity index 95% rename from material/assets/stylesheets/main.61729dd2.min.css rename to material/assets/stylesheets/main.ee9eac3c.min.css index 5f830e10a..4fbdf94fb 100644 --- a/material/assets/stylesheets/main.61729dd2.min.css +++ b/material/assets/stylesheets/main.ee9eac3c.min.css @@ -1,3 +1,3 @@ -html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>')}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} +html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>')}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} -/*# sourceMappingURL=main.61729dd2.min.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.ee9eac3c.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.ee9eac3c.min.css.map b/material/assets/stylesheets/main.ee9eac3c.min.css.map new file mode 100644 index 000000000..795e732dd --- /dev/null +++ b/material/assets/stylesheets/main.ee9eac3c.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,wBACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,8MACE,mQACA,6BASA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVsWa,oDUpWX,CVoWW,2CUpWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.ee9eac3c.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");--md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");\n --md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/base.html b/material/base.html index ba4c30ed7..15d4202e4 100644 --- a/material/base.html +++ b/material/base.html @@ -41,7 +41,7 @@ {% endif %} {% endblock %} {% block styles %} - <link rel="stylesheet" href="{{ 'assets/stylesheets/main.61729dd2.min.css' | url }}"> + <link rel="stylesheet" href="{{ 'assets/stylesheets/main.ee9eac3c.min.css' | url }}"> {% if palette.scheme or palette.primary or palette.accent %} <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.e185632b.min.css' | url }}"> {% endif %} diff --git a/material/partials/more.html b/material/partials/more.html deleted file mode 100644 index 7c419f8f5..000000000 --- a/material/partials/more.html +++ /dev/null @@ -1,11 +0,0 @@ -{#- - This file was automatically generated - do not edit --#} -<div class="md-more"> - <input class="md-toggle" data-md-toggle="more" type="checkbox" id="__more" autocomplete="off"> - <ul class="md-more__list"> - <li class="md-more__item">Item 1</li> - <li class="md-more__item">Item 2</li> - <li class="md-more__item">Item 3</li> - </ul> -</div> diff --git a/mkdocs.yml b/mkdocs.yml index edbdf5511..f228d8175 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -129,19 +129,22 @@ nav: - Home: index.md - Getting started: - Installation: getting-started.md - - Creating your site: creating-your-site.md - - Publishing your site: publishing-your-site.md + - Creating your site: getting-started/creating-your-site.md + - Publishing your site: getting-started/publishing-your-site.md + - Customization: getting-started/customization.md + - Troubleshooting: getting-started/troubleshooting.md - Guides: - Changing colors: guides/changing-colors.md - Changing the fonts: guides/changing-the-fonts.md - Changing the language: guides/changing-the-language.md - Navigation structure: guides/navigation-structure.md - Syntax highlighting: guides/syntax-highlighting.md - - Third-party integrations: guides/third-party-integrations.md - Adding a landing page: guides/adding-a-landing-page.md - Adding an announcement bar: guides/adding-an-announcement-bar.md - Adding icons and emojis: guides/adding-icons-and-emojis.md - Adding footer links: guides/adding-footer-links.md + - Adding site analytics: guides/adding-site-analytics.md + - Adding a comment systems: guides/adding-a-comment-system.md - Extensions: - Admonition: extensions/admonition.md - CodeHilite: extensions/codehilite.md diff --git a/src/assets/stylesheets/extensions/pymdown/_emoji.scss b/src/assets/stylesheets/extensions/pymdown/_emoji.scss index 48160eb89..5acc0afc3 100644 --- a/src/assets/stylesheets/extensions/pymdown/_emoji.scss +++ b/src/assets/stylesheets/extensions/pymdown/_emoji.scss @@ -32,6 +32,7 @@ img.twemoji, img.gemoji { width: px2em(18px); + max-height: 100%; vertical-align: -15%; } @@ -44,6 +45,7 @@ // Icon svg { width: px2em(18px); + max-height: 100%; fill: currentColor; } } diff --git a/src/partials/more.html b/src/partials/more.html deleted file mode 100644 index f29d6774e..000000000 --- a/src/partials/more.html +++ /dev/null @@ -1,39 +0,0 @@ -<!-- - Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com> - - 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 - IN THE SOFTWARE. ---> - -<!-- Options dialog --> -<div class="md-more"> - <input - class="md-toggle" - data-md-toggle="more" - type="checkbox" - id="__more" - autocomplete="off" - /> - - <!-- Options --> - <ul class="md-more__list"> - <li class="md-more__item">Item 1</li> - <li class="md-more__item">Item 2</li> - <li class="md-more__item">Item 3</li> - </ul> -</div> From 66c939265f912298d8737f64972ab82b367db55b Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Thu, 16 Jul 2020 23:05:57 +0200 Subject: [PATCH 05/37] Added source links to docs --- docs/guides/changing-colors.md | 24 ++++++++++++++++-------- material/partials/source-link.html | 2 +- src/partials/source-link.html | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index c7759d0d3..1be40cbc6 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -16,7 +16,7 @@ fit your brand identity by using [CSS variables][2]. ### Color scheme -> Default: `default` +[:octicons-file-code-24: Source][3] · :octicons-tools-24: Default: `default` Material for MkDocs supports two _color schemes_: a light mode, which is just called `default`, and a dark mode, which is called `slate`. The color scheme @@ -71,9 +71,11 @@ theme: scheme: preference ``` + [3]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/palette/_scheme.scss + ### Primary color -> Default: `indigo` +[:octicons-file-code-24: Source][4] · :octicons-tools-24: Default: `indigo` The _primary color_ is used for the header, the sidebar, text links and several other components. In order to change the primary color, set the following value @@ -137,9 +139,11 @@ color: }) </script> + [4]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/palette/_primary.scss + ### Accent color -> Default: `indigo` +[:octicons-file-code-24: Source][5] · :octicons-tools-24: Default: `indigo` The _accent color_ is used to denote elements that can be interacted with, e.g. hovered links, buttons and scrollbars. It can be changed in `mkdocs.yml` by @@ -197,11 +201,13 @@ color: }) </script> + [5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/palette/_accent.scss + ## Customization -Material for MkDocs implements colors using [CSS variables][3] (custom +Material for MkDocs implements colors using [CSS variables][6] (custom properties). If you want to customize the colors beyond the palette (e.g. to -use your brand-specific colors), you can add an [additional stylesheet][4] and +use your brand-specific colors), you can add an [additional stylesheet][7] and tweak the following CSS variables: ``` css @@ -232,7 +238,7 @@ tweak the following CSS variables: } ``` -The colors of [code blocks][5], [admonitions][6], text links and the footer can +The colors of [code blocks][8], [admonitions][9], text links and the footer can be adjusted through dedicated CSS variables, which partly default to the base colors or neutral colors: @@ -260,8 +266,10 @@ colors or neutral colors: } ``` - [3]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties - [4]: ../getting-started/customization.md#additional-stylesheets + [6]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties + [7]: ../getting-started/customization.md#additional-stylesheets + [8]: ../extensions/codehilite.md + [9]: ../extensions/admonition.md ## Caveats diff --git a/material/partials/source-link.html b/material/partials/source-link.html index 237efe74c..987fbeea4 100644 --- a/material/partials/source-link.html +++ b/material/partials/source-link.html @@ -6,7 +6,7 @@ {% if repo | last == "/" %} {% set repo = repo[:-1] %} {% endif %} -{% set path = page.meta.path | default([""]) %} +{% set path = page.meta.path | default("") %} <a href="{{ [repo, path, page.meta.source] | join('/') }}" title="{{ page.meta.source }}" class="md-content__button md-icon"> {{ lang.t("meta.source") }} {% set icon = config.theme.icon.repo or "fontawesome/brands/git-alt" %} diff --git a/src/partials/source-link.html b/src/partials/source-link.html index 6e3d9638e..d977e427a 100644 --- a/src/partials/source-link.html +++ b/src/partials/source-link.html @@ -27,7 +27,7 @@ {% if repo | last == "/" %} {% set repo = repo[:-1] %} {% endif %} -{% set path = page.meta.path | default([""]) %} +{% set path = page.meta.path | default("") %} <a href="{{ [repo, path, page.meta.source] | join('/') }}" title="{{ page.meta.source }}" From a53900581643ae866996b2a3ce235e1775d9356c Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Thu, 16 Jul 2020 23:55:37 +0200 Subject: [PATCH 06/37] Added guide for font configuration --- docs/getting-started/customization.md | 2 +- docs/{ => getting-started}/data-privacy.md | 2 +- docs/guides/changing-the-fonts.md | 90 ++++++++++++++++++---- mkdocs.yml | 3 +- 4 files changed, 79 insertions(+), 18 deletions(-) rename docs/{ => getting-started}/data-privacy.md (97%) diff --git a/docs/getting-started/customization.md b/docs/getting-started/customization.md index 8c16b1de1..3134492f0 100644 --- a/docs/getting-started/customization.md +++ b/docs/getting-started/customization.md @@ -157,7 +157,7 @@ Material for MkDocs provides the following template blocks: | `content` | Wraps the main content | | `disqus` | Wraps the disqus integration | | `extrahead` | Empty block to define additional meta tags | -| `fonts` | Wraps the webfont definitions | +| `fonts` | Wraps the font definitions | | `footer` | Wraps the footer with navigation and copyright | | `header` | Wraps the fixed header bar | | `hero` | Wraps the hero teaser (if available) | diff --git a/docs/data-privacy.md b/docs/getting-started/data-privacy.md similarity index 97% rename from docs/data-privacy.md rename to docs/getting-started/data-privacy.md index a28ffca54..2f2e4986d 100644 --- a/docs/data-privacy.md +++ b/docs/getting-started/data-privacy.md @@ -30,7 +30,7 @@ Neue** and **Monaco** with their corresponding fall backs, relying on system fonts. You can easily include your own, self-hosted webfont by [overriding][4] the `fonts` block. - [2]: getting-started.md#fonts + [2]: ../guides/changing-the-fonts.md [3]: https://github.com/google/fonts/issues/1495 [4]: customization.md#overriding-template-blocks diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index deb008461..e874650d9 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -4,35 +4,95 @@ template: overrides/main.html # Changing the fonts +Material for MkDocs makes it easy to change the typeface of your project +documentation, as it directly integrates with [Google Fonts][1]. Alternatively, +fonts can be custom-loaded if self-hosting is preferred or another destination +should be used. + + [1]: https://fonts.google.com + ## Configuration -> Default: `Roboto` and `Roboto Mono` +### Regular font -The [Roboto font family][1] is the default font included with the theme, -specifically the regular sans-serif type for text and the `monospaced` type for -code. Both fonts are loaded from [Google Fonts][2] and can be changed to any -supported typeface, like for example the [Ubuntu font family][3]: +[:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: [`Roboto`][3] + +The _regular font_ is used for all body copy, headlines, and essentially +everything that does not need to be proportionally spaced. It can be set to any +valid [Google Font][1] with: ``` yaml theme: font: - text: Ubuntu - code: Ubuntu Mono + text: Roboto ``` -The text font will be loaded in weights 400 and **700**, the `monospaced` font -in regular weight. If you want to load fonts from other destinations or don't -want to use Google Fonts for data privacy reasons, just set `font` to `false`: +The typeface will be loaded in 300, 400, *400i* and **700**. + + [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L120-L139 + [3]: https://fonts.google.com/specimen/Roboto + +### Proportional font + +[:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: +[`Roboto Mono`][4] + +The _proportional font_ is used for code blocks and can be configured separately. +Just like the regular font, it can be set to any valid [Google Font][1] from +`mkdocs.yml` with: + +``` yaml +theme: + font: + code: Roboto Mono +``` + +The typeface will be loaded in 400. + + [4]: https://fonts.google.com/specimen/Roboto+Mono + +## Customization + +If you want to load fonts from other destinations or don't want to use Google +Fonts for [data privacy][5] reasons, e.g. _due to GDPR_, add the following lines +to `mkdocs.yml`: ``` yaml theme: font: false ``` - [1]: https://fonts.google.com/specimen/Roboto - [2]: https://fonts.google.com - [3]: https://fonts.google.com/specimen/Ubuntu +This will prevent typefaces from being loaded from Google Fonts. As a fallback, +common system fonts will be used automatically. Additionally, if you want to +load a font from another destination, you can either [override the `fonts` +block][6] with a `style` tag, or use an [additional stylesheet][7] to add the +necessary `@font-face` definition: -## Customization +``` css +@font-face { + font-family: "<font>"; + src: "..."; +} +``` -TBD +The font can then be configured to be used as the regular or proportional font: + +=== "Regular" + + ``` css + body, input { + font-family: "<font>", -apple-system, Helvetica, Arial, sans-serif; + } + ``` + +=== "Proportional" + + ``` css + pre, code, kbd { + font-family: "<font>", SFMono-Regular, Consolas, Menlo, monospace; + } + ``` + + [5]: ../getting-started/data-privacy.md + [6]: ../getting-started/customization.md#overriding-blocks + [7]: ../getting-started/customization.md#additional-stylesheets diff --git a/mkdocs.yml b/mkdocs.yml index f228d8175..5805a9e47 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,6 +133,7 @@ nav: - Publishing your site: getting-started/publishing-your-site.md - Customization: getting-started/customization.md - Troubleshooting: getting-started/troubleshooting.md + - Data privacy: getting-started/data-privacy.md - Guides: - Changing colors: guides/changing-colors.md - Changing the fonts: guides/changing-the-fonts.md @@ -161,7 +162,7 @@ nav: - Upgrading to 5.x: releases/5.md - Upgrading to 4.x: releases/4.md - Changelog: releases/changelog.md - # - Data privacy: data-privacy.md + # - Contributing: contributing.md # - License: license.md From 1375f3d44aa3579a5d7eebbc0f64ab24c8935195 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 00:15:59 +0200 Subject: [PATCH 07/37] Added guide for language configuration --- docs/guides/changing-the-language.md | 143 +++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md index e69de29bb..01c95ee16 100644 --- a/docs/guides/changing-the-language.md +++ b/docs/guides/changing-the-language.md @@ -0,0 +1,143 @@ +--- +template: overrides/main.html +--- + +# Changing the language + +Material for MkDocs supports internationalization (i18n) and provides +translation keys for all template variables and labels in 40+ languages. +Additionally, search can be configured to use a language-specific stemmer +(if available). + +## Configuration + +### Site language + +[:octicons-file-code-24: Source][1] · :octicons-tools-24: Default: `en` + +You can set the language from `mkdocs.yml` with: + +``` yaml +theme: + language: en +``` + +The following languages are supported: + +<style> + .md-language-list { + -webkit-columns: 2; + -moz-columns: 2; + columns: 2; + } + .md-language-list li { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid; + } +</style> +<ul class="md-language-list"> + <li><code>af</code> / Afrikaans</li> + <li><code>ar</code> / Arabic</li> + <li><code>bn</code> / Bengali (Bangla)</li> + <li><code>ca</code> / Catalan</li> + <li><code>cs</code> / Czech</li> + <li><code>da</code> / Danish</li> + <li><code>de</code> / German</li> + <li><code>en</code> / English</li> + <li><code>es</code> / Spanish</li> + <li><code>et</code> / Estonian</li> + <li><code>fa</code> / Persian (Farsi)</li> + <li><code>fi</code> / Finnish</li> + <li><code>fr</code> / French</li> + <li><code>gl</code> / Galician</li> + <li><code>gr</code> / Greek</li> + <li><code>he</code> / Hebrew</li> + <li><code>hi</code> / Hindi</li> + <li><code>hr</code> / Croatian</li> + <li><code>hu</code> / Hungarian</li> + <li><code>id</code> / Indonesian</li> + <li><code>it</code> / Italian</li> + <li><code>ja</code> / Japanese</li> + <li><code>kr</code> / Korean</li> + <li><code>my</code> / Burmese</li> + <li><code>nl</code> / Dutch</li> + <li><code>nn</code> / Norwegian (Nynorsk)</li> + <li><code>no</code> / Norwegian</li> + <li><code>pl</code> / Polish</li> + <li><code>pt</code> / Portuguese</li> + <li><code>ro</code> / Romanian</li> + <li><code>ru</code> / Russian</li> + <li><code>sh</code> / Serbo-Croatian</li> + <li><code>si</code> / Slovenian</li> + <li><code>sk</code> / Slovak</li> + <li><code>sr</code> / Serbian</li> + <li><code>sv</code> / Swedish</li> + <li><code>th</code> / Thai</li> + <li><code>tr</code> / Turkish</li> + <li><code>uk</code> / Ukrainian</li> + <li><code>vi</code> / Vietnamese</li> + <li><code>zh</code> / Chinese (Simplified)</li> + <li><code>zh-Hant</code> / Chinese (Traditional)</li> + <li><code>zh-TW</code> / Chinese (Taiwanese)</li> + <li> + <a href="https://bit.ly/38F5RCa"> + Add language + </a> + </li> +</ul> + + [1]: https://github.com/squidfunk/mkdocs-material/blob/master/src/partials/language/en.html + +### Directionality + +[:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: best match +for `theme.language`, automatically set + +While many languages are read `ltr` (left-to-right), Material for MkDocs also +supports `rtl` (right-to-left) directionality which is inferred from the +selected language, but can also be set with: + +``` yaml +theme: + direction: ltr +``` + +:material-cursor-default-click-outline: click on a tile to change the +directionality: + +<style> + .md-typeset button[data-md-dir] { + cursor: pointer; + transition: opacity 250ms; + } + .md-typeset button[data-md-dir]:hover { + opacity: 0.75; + } + .md-typeset button[data-md-dir] > code { + display: block; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + } +</style> + +<button data-md-dir="ltr"><code>ltr</code></button> +<button data-md-dir="rtl"><code>rtl</code></button> + +<script> + var buttons = document.querySelectorAll("button[data-md-dir]") + buttons.forEach(function(button) { + var attr = "data-md-dir" + button.addEventListener("click", function() { + var name = document.querySelector("#__code_1 code span:nth-child(5)") + document.body.dir = this.getAttribute(attr) + name.textContent = this.getAttribute(attr) + }) + }) +</script> + + [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L180 + +### Search + +TBD From b652bdad5935e9a6528f1c81589b2569b7b29f2d Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 08:04:48 +0200 Subject: [PATCH 08/37] Simplify GitHub Actions workflow template --- docs/getting-started/publishing-your-site.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/publishing-your-site.md b/docs/getting-started/publishing-your-site.md index 7535ed30c..6786b10c3 100644 --- a/docs/getting-started/publishing-your-site.md +++ b/docs/getting-started/publishing-your-site.md @@ -28,11 +28,11 @@ contents: ``` yaml name: ci on: - - push - - pull_request + push: + branches: + - master jobs: deploy: - if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From 9cc396315cda8564fdf0cec7b44e270d38ec9cbc Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 13:08:27 +0200 Subject: [PATCH 09/37] Added guide for navigation configuration --- .../creating-your-site.md | 30 +-- docs/{getting-started => }/customization.md | 10 +- docs/{getting-started => }/data-privacy.md | 6 +- docs/extensions/permalinks.md | 37 ---- docs/extensions/pymdown.md | 4 +- docs/getting-started.md | 2 +- docs/guides/changing-colors.md | 41 ++-- docs/guides/changing-the-fonts.md | 8 +- docs/guides/changing-the-language.md | 33 ++-- docs/guides/navigation-structure.md | 0 docs/guides/navigation.md | 183 ++++++++++++++++++ .../publishing-your-site.md | 0 docs/releases/5.md | 4 +- docs/{getting-started => }/troubleshooting.md | 6 +- material/assets/manifest.json | 4 +- .../assets/stylesheets/main.94fefe80.min.css | 3 + .../stylesheets/main.94fefe80.min.css.map | 1 + .../assets/stylesheets/main.ee9eac3c.min.css | 3 - .../stylesheets/main.ee9eac3c.min.css.map | 1 - material/base.html | 2 +- mkdocs.yml | 15 +- src/assets/stylesheets/base/_typeset.scss | 5 + .../extensions/pymdown/_tasklist.scss | 8 +- 23 files changed, 285 insertions(+), 121 deletions(-) rename docs/{getting-started => }/creating-your-site.md (81%) rename docs/{getting-started => }/customization.md (96%) rename docs/{getting-started => }/data-privacy.md (91%) delete mode 100644 docs/extensions/permalinks.md delete mode 100644 docs/guides/navigation-structure.md create mode 100644 docs/guides/navigation.md rename docs/{getting-started => }/publishing-your-site.md (100%) rename docs/{getting-started => }/troubleshooting.md (93%) create mode 100644 material/assets/stylesheets/main.94fefe80.min.css create mode 100644 material/assets/stylesheets/main.94fefe80.min.css.map delete mode 100644 material/assets/stylesheets/main.ee9eac3c.min.css delete mode 100644 material/assets/stylesheets/main.ee9eac3c.min.css.map diff --git a/docs/getting-started/creating-your-site.md b/docs/creating-your-site.md similarity index 81% rename from docs/getting-started/creating-your-site.md rename to docs/creating-your-site.md index bae1e7be1..628bd77ce 100644 --- a/docs/getting-started/creating-your-site.md +++ b/docs/creating-your-site.md @@ -34,7 +34,7 @@ This will create the following structure: └─ mkdocs.yml ``` - [1]: ../getting-started.md + [1]: getting-started.md ## Configuration @@ -66,7 +66,7 @@ icons and much more: * [Changing colors][3] * [Changing the fonts][4] * [Changing the language][5] -* [Navigation structure][6] +* [Navigation][6] * [Syntax highlighting][7] * [Adding a landing page][8] * [Adding an announcement bar][9] @@ -75,18 +75,18 @@ icons and much more: * [Adding site analytics][12] * [Adding a comment system][13] - [2]: ../getting-started.md#installation - [3]: ../guides/changing-colors.md - [4]: ../guides/changing-the-fonts.md - [5]: ../guides/changing-the-language.md - [6]: ../guides/navigation-structure.md - [7]: ../guides/syntax-highlighting.md - [8]: ../guides/adding-a-landing-page.md - [9]: ../guides/adding-an-announcement-bar.md - [10]: ../guides/adding-icons-and-emojis.md - [11]: ../guides/adding-footer-links.md - [12]: ../guides/adding-site-analytics.md - [13]: ../guides/adding-a-comment-system.md + [2]: getting-started.md#installation + [3]: guides/changing-colors.md + [4]: guides/changing-the-fonts.md + [5]: guides/changing-the-language.md + [6]: guides/navigation.md + [7]: guides/syntax-highlighting.md + [8]: guides/adding-a-landing-page.md + [9]: guides/adding-an-announcement-bar.md + [10]: guides/adding-icons-and-emojis.md + [11]: guides/adding-footer-links.md + [12]: guides/adding-site-analytics.md + [13]: guides/adding-a-comment-system.md ## Previewing as you write @@ -117,7 +117,7 @@ Point your browser to [localhost:8000][14] and you should see: [![Creating your site][15]][14] [14]: http://localhost:8000 - [15]: ../assets/guides/creating-your-site.png + [15]: assets/guides/creating-your-site.png ## Building your site diff --git a/docs/getting-started/customization.md b/docs/customization.md similarity index 96% rename from docs/getting-started/customization.md rename to docs/customization.md index 3134492f0..e2750b952 100644 --- a/docs/getting-started/customization.md +++ b/docs/customization.md @@ -135,7 +135,7 @@ theme. This can be done with any file. ### Overriding blocks Besides overriding partials, it's also possible to override (and extend) so -called *blocks*, which are defined inside the templates and wrap specific +called _blocks_, which are defined inside the templates and wrap specific features. To override a block, create a `main.html` inside the `overrides` directory and define the block, e.g.: @@ -152,11 +152,11 @@ Material for MkDocs provides the following template blocks: | Block name | Wrapped contents | | ------------ | ----------------------------------------------- | | `analytics` | Wraps the Google Analytics integration | -| `announce` | Wraps the Announcement bar | +| `announce` | Wraps the announcement bar | | `config` | Wraps the JavaScript application config | | `content` | Wraps the main content | -| `disqus` | Wraps the disqus integration | -| `extrahead` | Empty block to define additional meta tags | +| `disqus` | Wraps the Disqus integration | +| `extrahead` | Empty block to add custom meta tags | | `fonts` | Wraps the font definitions | | `footer` | Wraps the footer with navigation and copyright | | `header` | Wraps the fixed header bar | @@ -230,7 +230,7 @@ in front of you. [10]: http://localhost:8000 -### Build process +### Building the theme When you're finished making your changes, you can build the theme by invoking: diff --git a/docs/getting-started/data-privacy.md b/docs/data-privacy.md similarity index 91% rename from docs/getting-started/data-privacy.md rename to docs/data-privacy.md index 2f2e4986d..509addae3 100644 --- a/docs/getting-started/data-privacy.md +++ b/docs/data-privacy.md @@ -25,12 +25,12 @@ theme: font: false ``` -When Google Fonts are disabled, Material for MkDocs will default to **Helvetica -Neue** and **Monaco** with their corresponding fall backs, relying on system +When Google Fonts are disabled, Material for MkDocs will default to __Helvetica +Neue__ and __Monaco__ with their corresponding fall backs, relying on system fonts. You can easily include your own, self-hosted webfont by [overriding][4] the `fonts` block. - [2]: ../guides/changing-the-fonts.md + [2]: guides/changing-the-fonts.md [3]: https://github.com/google/fonts/issues/1495 [4]: customization.md#overriding-template-blocks diff --git a/docs/extensions/permalinks.md b/docs/extensions/permalinks.md deleted file mode 100644 index 0e6b482bf..000000000 --- a/docs/extensions/permalinks.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -template: overrides/main.html ---- - -# Permalinks - -Permalinks are a feature of the [Table of Contents][1] extension, which is part -of the standard Markdown library. The extension inserts an anchor at the end of -each headline, which makes it possible to directly link to a specific section -of the document. - - [1]: https://python-markdown.github.io/extensions/toc/ - -## Configuration - -Add the following lines to `mkdocs.yml`: - -``` yaml -markdown_extensions: - - toc: - permalink: true -``` - -This will add a link containing the paragraph symbol `¶` at the end of each -headline (exactly like on the page you're currently viewing), which Material -for MkDocs will make appear on hover. In order to change the text of the -permalink, a string can be passed, e.g.: - -``` yaml -markdown_extensions: - - toc: - permalink: Link -``` - -## Usage - -When enabled, permalinks are inserted automatically. diff --git a/docs/extensions/pymdown.md b/docs/extensions/pymdown.md index 48f984fdd..40fdc8043 100644 --- a/docs/extensions/pymdown.md +++ b/docs/extensions/pymdown.md @@ -57,7 +57,7 @@ extra_javascript: ``` If you want to override the default MathJax configuration, you can do this by -adding another JavaScript file **before** the MathJax runtime which contains +adding another JavaScript file __before__ the MathJax runtime which contains the MathJax configuration, e.g.: ``` js @@ -130,7 +130,7 @@ Lorem ipsum dolor sit amet: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$ ### BetterEm -[BetterEm][6] improves the handling of emphasis markup (**bold** and *italic*) +[BetterEm][6] improves the handling of emphasis markup (__bold__ and _italic_) within Markdown by providing a more sophisticated parser for better detecting start and end tokens. Read the documentation for [usage notes][7]. diff --git a/docs/getting-started.md b/docs/getting-started.md index 5fbcd83d1..a877a2a53 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -14,7 +14,7 @@ In case you're running into problems, consult the [troubleshooting][4] section. [1]: https://www.mkdocs.org [2]: #with-pip [3]: #with-docker - [4]: getting-started/troubleshooting.md + [4]: troubleshooting.md ## Installation diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index 1be40cbc6..ab2c934f3 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -6,7 +6,7 @@ template: overrides/main.html As any good Material Design implementation, Material for MkDocs supports Google's original [color palette][1], which can be easily configured through -`mkdocs.yml`. Furthermore, colors can be adjusted with a few lines of CSS to +`mkdocs.yml`. Furthermore, colors can be customized with a few lines of CSS to fit your brand identity by using [CSS variables][2]. [1]: http://www.materialui.co/colors @@ -52,11 +52,11 @@ scheme: <script> var buttons = document.querySelectorAll("button[data-md-color-scheme]") buttons.forEach(function(button) { - var attr = "data-md-color-scheme" button.addEventListener("click", function() { + var attr = this.getAttribute("data-md-color-scheme") + document.body.setAttribute("data-md-color-scheme", attr) var name = document.querySelector("#__code_0 code span:nth-child(7)") - document.body.setAttribute(attr, this.getAttribute(attr)) - name.textContent = this.getAttribute(attr) + name.textContent = attr }) }) </script> @@ -130,11 +130,11 @@ color: <script> var buttons = document.querySelectorAll("button[data-md-color-primary]") buttons.forEach(function(button) { - var attr = "data-md-color-primary" button.addEventListener("click", function() { + var attr = this.getAttribute("data-md-color-primary") + document.body.setAttribute("data-md-color-primary", attr) var name = document.querySelector("#__code_2 code span:nth-child(7)") - document.body.setAttribute(attr, this.getAttribute(attr)) - name.textContent = this.getAttribute(attr) + name.textContent = attr.replace("-", " ") }) }) </script> @@ -192,17 +192,27 @@ color: <script> var buttons = document.querySelectorAll("button[data-md-color-accent]") buttons.forEach(function(button) { - var attr = "data-md-color-accent" button.addEventListener("click", function() { + var attr = this.getAttribute("data-md-color-accent") + document.body.setAttribute("data-md-color-accent", attr) var name = document.querySelector("#__code_3 code span:nth-child(7)") - document.body.setAttribute(attr, this.getAttribute(attr)) - name.textContent = this.getAttribute(attr) + name.textContent = attr.replace("-", " ") }) }) </script> [5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/palette/_accent.scss +--- + +!!! warning "Accessibility – not all color combinations work well" + + With __2__ (color schemes) __x 21__ (primary colors) __x 17__ (accent color) + = __714__ combinations, it's impossible to ensure that all configurations + provide a good user experience (e.g. _yellow on light background_), so make + sure that the color combination of your choosing provides enough contrast + and tweak CSS variables where necessary. + ## Customization Material for MkDocs implements colors using [CSS variables][6] (custom @@ -267,16 +277,7 @@ colors or neutral colors: ``` [6]: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties - [7]: ../getting-started/customization.md#additional-stylesheets + [7]: ../customization.md#additional-stylesheets [8]: ../extensions/codehilite.md [9]: ../extensions/admonition.md -## Caveats - -!!! warning "Accessibility – not all color combinations work well" - - With __2__ (color schemes) __x 21__ (primary colors) __x 17__ (accent color) - = __714__ combinations, it's impossible to ensure that all configurations - provide a good user experience (e.g. _yellow on light background_), so make - sure that the color combination of your choosing provides enough contrast - and tweak CSS variables where necessary. diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index e874650d9..57d2293c9 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -27,7 +27,7 @@ theme: text: Roboto ``` -The typeface will be loaded in 300, 400, *400i* and **700**. +The typeface will be loaded in 300, 400, _400i_ and __700__. [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L120-L139 [3]: https://fonts.google.com/specimen/Roboto @@ -93,6 +93,6 @@ The font can then be configured to be used as the regular or proportional font: } ``` - [5]: ../getting-started/data-privacy.md - [6]: ../getting-started/customization.md#overriding-blocks - [7]: ../getting-started/customization.md#additional-stylesheets + [5]: ../data-privacy.md + [6]: ../customization.md#overriding-blocks + [7]: ../customization.md#additional-stylesheets diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md index 01c95ee16..83a151318 100644 --- a/docs/guides/changing-the-language.md +++ b/docs/guides/changing-the-language.md @@ -5,9 +5,8 @@ template: overrides/main.html # Changing the language Material for MkDocs supports internationalization (i18n) and provides -translation keys for all template variables and labels in 40+ languages. -Additionally, search can be configured to use a language-specific stemmer -(if available). +translations for template variables and labels in 40+ languages. Additionally, +search can be configured to use a language-specific stemmer (if available). ## Configuration @@ -89,11 +88,25 @@ The following languages are supported: [1]: https://github.com/squidfunk/mkdocs-material/blob/master/src/partials/language/en.html -### Directionality +### Site search [:octicons-file-code-24: Source][2] · :octicons-tools-24: Default: best match for `theme.language`, automatically set +Some languages, like Arabic or Japanese, need dedicated stemmers for search to +work properly. Material for MkDocs relies on [lunr-languages][3] to provide this +functionality. See the [search plugin documentation][4] for more information. + + [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/javascripts/integrations/search/worker/main/index.ts#L49-L69 + [3]: https://github.com/MihaiValentin/lunr-languages + [4]: ../plugins/search.md#language + + +### Directionality + +[:octicons-file-code-24: Source][5] · :octicons-tools-24: Default: best match +for `theme.language`, automatically set + While many languages are read `ltr` (left-to-right), Material for MkDocs also supports `rtl` (right-to-left) directionality which is inferred from the selected language, but can also be set with: @@ -127,17 +140,13 @@ directionality: <script> var buttons = document.querySelectorAll("button[data-md-dir]") buttons.forEach(function(button) { - var attr = "data-md-dir" button.addEventListener("click", function() { + var attr = this.getAttribute("data-md-dir") + document.body.dir = attr var name = document.querySelector("#__code_1 code span:nth-child(5)") - document.body.dir = this.getAttribute(attr) - name.textContent = this.getAttribute(attr) + name.textContent = attr }) }) </script> - [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L180 - -### Search - -TBD + [5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L168 diff --git a/docs/guides/navigation-structure.md b/docs/guides/navigation-structure.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/guides/navigation.md b/docs/guides/navigation.md new file mode 100644 index 000000000..1ceda1c51 --- /dev/null +++ b/docs/guides/navigation.md @@ -0,0 +1,183 @@ +--- +template: overrides/main.html +--- + +# Navigation + +A clear and concise navigation structure is an important aspect of good project +documentation. Material for MkDocs provides several options to configure the +behavior of navigational elements, some of those through _feature flags_. + +## Configuration + +### Instant loading + +[:octicons-file-code-24: Source][1] · :octicons-beaker-24: Experimental · +:octicons-unlock-24: Feature flag + +When _instant loading_ is activated, clicks on all internal links will be +intercepted and dispatched via [XHR][2] without fully reloading the page. It +can be enabled from `mkdocs.yml` with: + +``` yaml +theme: + features: + - instant +``` + +The resulting page is parsed and injected and all event handlers and components +are automatically rebound. This means that __Material for MkDocs behaves like a +Single Page Application__, which is especially useful for large documentation +sites that come with a huge search index, as the search index will now remain +intact in-between document switches. + + [1]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/javascripts/integrations/instant/index.ts + [2]: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest + +### Tabs navigation + +[:octicons-file-code-24: Source][3] · :octicons-unlock-24: Feature flag + +When _tabs_ are activated, top-level sections are rendered in a menu layer +below the header on big screens (but not when the sidebar is hidden). It can be +enabled from `mkdocs.yml` with: + +``` yaml +theme: + features: + - tabs +``` + +Note that all __top-level pages__ (i.e. all top-level entries that directly +refer to an `*.md` file) defined inside the `nav` entry of `mkdocs.yml` will be +grouped under the first tab which will receive the title of the first page. + +This means that there will effectively be no collapsible subsections for the +first tab, because each subsection is rendered as another tab. If you want more +fine-grained control, _i.e. collapsible subsections for the first tab_, you can +use __top-level sections__, so that the top-level is entirely made up of +sections. This is illustrated in the following example: + +=== "Top-level pages" + + ``` yaml + nav: + - Tab 1 + - Page 1.1 + - Tab 2: + - Page 2.1 + - Page 2.2 + - Page 1.2 + ``` + +=== "Top-level sections" + + ``` yaml + nav: + - Tab 1: + - Page 1.1 + - Page 1.2 + - Tab 2: + - Page 2.1 + - Page 2.2 + ``` + +Note that tabs are only shown for larger screens, so make sure that navigation +is plausible on mobile devices. As another example, see the [`mkdocs.yml`][4] +used to render these pages. + +[3]: https://github.com/squidfunk/mkdocs-material/blob/master/src/partials/tabs.html +[4]: https://github.com/squidfunk/mkdocs-material/blob/master/mkdocs.yml + +### Table of contents + +[:octicons-file-code-24: Source][5] · [:octicons-workflow-24: Extension][6] + +The [Table of Contents][7] extension, which is part of the standard Markdown +library, provides some options that are supported by Material for MkDocs to +customize its appearance. + +`permalink` + +: This options adds an anchor link containing the paragraph symbol `¶` or + another custom symbol at the end of each headline, exactly like on the page + you're currently viewing, which Material for MkDocs will make appear on + hover: + + === "¶" + + ``` yaml + markdown_extensions: + - toc: + permalink: true + ``` + + === "⚓︎" + + ``` yaml + markdown_extensions: + - toc: + permalink: ⚓︎ + ``` + + === "Link" + + ``` yaml + markdown_extensions: + - toc: + permalink: Link + ``` + +`slugify` + +: This option allows for customization of the slug function. For some + languages, the standard slug function may not produce good and readable + identifiers. Consider using another slug function like for example those + from [PyMdown Extensions][8]: + + === "Unicode" + + ``` yaml + markdown_extensions: + - toc: + slugify: pymdownx.slugs.uslugify + ``` + + === "Casing" + + ``` yaml + markdown_extensions: + - toc: + slugify: pymdownx.slugs.uslugify_cased + ``` + +`toc_depth` + +: Define the range of levels to be included in the table of contents. This is + especially useful for project documentation with deeply structured headings + to decrease the length of the table of contents, or to remove the table of + contents altogether: + + === "Hide levels 4-6" + + ``` yaml + markdown_extensions: + - toc: + toc_depth: 3 + ``` + + === "Hide table of contents" + + ``` yaml + markdown_extensions: + - toc: + toc_depth: 0 + ``` + +_Material for MkDocs doesn't provide official support for the other options of +this extension, so they may yield weird results. Use them at your own risk._ + + [5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/partials/toc.html + [6]: https://python-markdown.github.io/extensions/toc/ + [7]: https://python-markdown.github.io/extensions/toc/#usage + [8]: https://facelessuser.github.io/pymdown-extensions/extras/slugs/ diff --git a/docs/getting-started/publishing-your-site.md b/docs/publishing-your-site.md similarity index 100% rename from docs/getting-started/publishing-your-site.md rename to docs/publishing-your-site.md diff --git a/docs/releases/5.md b/docs/releases/5.md index 720ff5c51..2c9c71831 100644 --- a/docs/releases/5.md +++ b/docs/releases/5.md @@ -158,8 +158,8 @@ The templates have undergone a set of changes to make them future-proof. If you've used theme extension to override a block or template, make sure that it matches the new structure: -- If you've overridden a **block**, check `base.html` for potential changes -- If you've overridden a **template**, check the respective `*.html` file for +- If you've overridden a __block__, check `base.html` for potential changes +- If you've overridden a __template__, check the respective `*.html` file for potential changes #### `base.html` diff --git a/docs/getting-started/troubleshooting.md b/docs/troubleshooting.md similarity index 93% rename from docs/getting-started/troubleshooting.md rename to docs/troubleshooting.md index a3ba5e74c..4679f5d80 100644 --- a/docs/getting-started/troubleshooting.md +++ b/docs/troubleshooting.md @@ -21,14 +21,14 @@ When you're running the pre-installed version of Python on macOS, `pip` tries to install packages in a folder for which your user might not have the adequate permissions. There are three possible solutions for this: -1. **Installing in a virtual environment**: Virtual environments provide an easy +1. __Installing in a virtual environment__: Virtual environments provide an easy way of encapsulation. -1. **Installing in user space**: Provide the `--user` flag to the install +2. __Installing in user space__: Provide the `--user` flag to the install command and `pip` will install the package in a user-site location. Note that while this is not a global installation, it's still not -2. **Switching to a homebrewed Python**: Upgrade your Python installation to a +3. __Switching to a homebrewed Python__: Upgrade your Python installation to a self-contained solution by installing Python with Homebrew. This should eliminate a lot of problems you could be having with `pip`. diff --git a/material/assets/manifest.json b/material/assets/manifest.json index 90f4dec1e..7d7618886 100644 --- a/material/assets/manifest.json +++ b/material/assets/manifest.json @@ -5,8 +5,8 @@ "assets/javascripts/vendor.js.map": "assets/javascripts/vendor.568ba93b.min.js.map", "assets/javascripts/worker/search.js": "assets/javascripts/worker/search.a68abb33.min.js", "assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.a68abb33.min.js.map", - "assets/stylesheets/main.css": "assets/stylesheets/main.ee9eac3c.min.css", - "assets/stylesheets/main.css.map": "assets/stylesheets/main.ee9eac3c.min.css.map", + "assets/stylesheets/main.css": "assets/stylesheets/main.94fefe80.min.css", + "assets/stylesheets/main.css.map": "assets/stylesheets/main.94fefe80.min.css.map", "assets/stylesheets/palette.css": "assets/stylesheets/palette.e185632b.min.css", "assets/stylesheets/palette.css.map": "assets/stylesheets/palette.e185632b.min.css.map" } \ No newline at end of file diff --git a/material/assets/stylesheets/main.94fefe80.min.css b/material/assets/stylesheets/main.94fefe80.min.css new file mode 100644 index 000000000..15a7424fe --- /dev/null +++ b/material/assets/stylesheets/main.94fefe80.min.css @@ -0,0 +1,3 @@ +html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset dd+dt{margin-top:1.5em}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' );--md-tasklist-icon--checked: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} + +/*# sourceMappingURL=main.94fefe80.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.94fefe80.min.css.map b/material/assets/stylesheets/main.94fefe80.min.css.map new file mode 100644 index 000000000..87ad5a385 --- /dev/null +++ b/material/assets/stylesheets/main.94fefe80.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBA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aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BA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A,kBACE,0BAMN,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,a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WACA,wCAIF,aACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,kVACE,4VAGA,6BAWA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVkWa,oDUhWX,CVgWW,2CUhWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.94fefe80.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset dd+dt{margin-top:1.5em}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" );--md-tasklist-icon--checked: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Definition terms\n dd + dt {\n margin-top: 1.5em;\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n --md-tasklist-icon--checked: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/stylesheets/main.ee9eac3c.min.css b/material/assets/stylesheets/main.ee9eac3c.min.css deleted file mode 100644 index 4fbdf94fb..000000000 --- a/material/assets/stylesheets/main.ee9eac3c.min.css +++ /dev/null @@ -1,3 +0,0 @@ -html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>')}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} - -/*# sourceMappingURL=main.ee9eac3c.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.ee9eac3c.min.css.map b/material/assets/stylesheets/main.ee9eac3c.min.css.map deleted file mode 100644 index 795e732dd..000000000 --- a/material/assets/stylesheets/main.ee9eac3c.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,wBACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,8MACE,mQACA,6BASA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVsWa,oDUpWX,CVoWW,2CUpWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.ee9eac3c.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");--md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\")}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\"@mdi/svg/svg/checkbox-blank-circle.svg\");\n --md-tasklist-icon--checked: svg-load(\"@mdi/svg/svg/check-circle.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/base.html b/material/base.html index 15d4202e4..815d13b3b 100644 --- a/material/base.html +++ b/material/base.html @@ -41,7 +41,7 @@ {% endif %} {% endblock %} {% block styles %} - <link rel="stylesheet" href="{{ 'assets/stylesheets/main.ee9eac3c.min.css' | url }}"> + <link rel="stylesheet" href="{{ 'assets/stylesheets/main.94fefe80.min.css' | url }}"> {% if palette.scheme or palette.primary or palette.accent %} <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.e185632b.min.css' | url }}"> {% endif %} diff --git a/mkdocs.yml b/mkdocs.yml index 5805a9e47..2b3dcc2cb 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -129,29 +129,28 @@ nav: - Home: index.md - Getting started: - Installation: getting-started.md - - Creating your site: getting-started/creating-your-site.md - - Publishing your site: getting-started/publishing-your-site.md - - Customization: getting-started/customization.md - - Troubleshooting: getting-started/troubleshooting.md - - Data privacy: getting-started/data-privacy.md + - Creating your site: creating-your-site.md + - Publishing your site: publishing-your-site.md + - Customization: customization.md + - Troubleshooting: troubleshooting.md + - Data privacy: data-privacy.md - Guides: - Changing colors: guides/changing-colors.md - Changing the fonts: guides/changing-the-fonts.md - Changing the language: guides/changing-the-language.md - - Navigation structure: guides/navigation-structure.md + - Navigation: guides/navigation.md - Syntax highlighting: guides/syntax-highlighting.md - Adding a landing page: guides/adding-a-landing-page.md - Adding an announcement bar: guides/adding-an-announcement-bar.md - Adding icons and emojis: guides/adding-icons-and-emojis.md - Adding footer links: guides/adding-footer-links.md - Adding site analytics: guides/adding-site-analytics.md - - Adding a comment systems: guides/adding-a-comment-system.md + - Adding a comment system: guides/adding-a-comment-system.md - Extensions: - Admonition: extensions/admonition.md - CodeHilite: extensions/codehilite.md - Footnotes: extensions/footnotes.md - Metadata: extensions/metadata.md - - Permalinks: extensions/permalinks.md - PyMdown: extensions/pymdown.md - Plugins: - Search: plugins/search.md diff --git a/src/assets/stylesheets/base/_typeset.scss b/src/assets/stylesheets/base/_typeset.scss index a866e799f..f2ef4c707 100644 --- a/src/assets/stylesheets/base/_typeset.scss +++ b/src/assets/stylesheets/base/_typeset.scss @@ -383,6 +383,11 @@ kbd { } } + // Definition terms + dd + dt { + margin-top: 1.5em; + } + // Limit width to container, scale height proportionally img, svg { diff --git a/src/assets/stylesheets/extensions/pymdown/_tasklist.scss b/src/assets/stylesheets/extensions/pymdown/_tasklist.scss index b995ac849..b9ce31b1a 100644 --- a/src/assets/stylesheets/extensions/pymdown/_tasklist.scss +++ b/src/assets/stylesheets/extensions/pymdown/_tasklist.scss @@ -26,8 +26,12 @@ // Icon definitions :root { - --md-tasklist-icon: svg-load("@mdi/svg/svg/checkbox-blank-circle.svg"); - --md-tasklist-icon--checked: svg-load("@mdi/svg/svg/check-circle.svg"); + --md-tasklist-icon: svg-load( + "@primer/octicons/build/svg/check-circle-fill-24.svg" + ); + --md-tasklist-icon--checked: svg-load( + "@primer/octicons/build/svg/check-circle-fill-24.svg" + ); } // ---------------------------------------------------------------------------- From 84437201554f163d78036382c15cf17a88594820 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 13:09:56 +0200 Subject: [PATCH 10/37] Fixed spacing for definition lists --- material/assets/manifest.json | 4 ++-- material/assets/stylesheets/main.660197c7.min.css | 3 +++ material/assets/stylesheets/main.660197c7.min.css.map | 1 + material/assets/stylesheets/main.94fefe80.min.css | 3 --- material/assets/stylesheets/main.94fefe80.min.css.map | 1 - material/base.html | 2 +- src/assets/stylesheets/base/_typeset.scss | 7 +------ 7 files changed, 8 insertions(+), 13 deletions(-) create mode 100644 material/assets/stylesheets/main.660197c7.min.css create mode 100644 material/assets/stylesheets/main.660197c7.min.css.map delete mode 100644 material/assets/stylesheets/main.94fefe80.min.css delete mode 100644 material/assets/stylesheets/main.94fefe80.min.css.map diff --git a/material/assets/manifest.json b/material/assets/manifest.json index 7d7618886..437b0bc30 100644 --- a/material/assets/manifest.json +++ b/material/assets/manifest.json @@ -5,8 +5,8 @@ "assets/javascripts/vendor.js.map": "assets/javascripts/vendor.568ba93b.min.js.map", "assets/javascripts/worker/search.js": "assets/javascripts/worker/search.a68abb33.min.js", "assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.a68abb33.min.js.map", - "assets/stylesheets/main.css": "assets/stylesheets/main.94fefe80.min.css", - "assets/stylesheets/main.css.map": "assets/stylesheets/main.94fefe80.min.css.map", + "assets/stylesheets/main.css": "assets/stylesheets/main.660197c7.min.css", + "assets/stylesheets/main.css.map": "assets/stylesheets/main.660197c7.min.css.map", "assets/stylesheets/palette.css": "assets/stylesheets/palette.e185632b.min.css", "assets/stylesheets/palette.css.map": "assets/stylesheets/palette.e185632b.min.css.map" } \ No newline at end of file diff --git a/material/assets/stylesheets/main.660197c7.min.css b/material/assets/stylesheets/main.660197c7.min.css new file mode 100644 index 000000000..85047b41c --- /dev/null +++ b/material/assets/stylesheets/main.660197c7.min.css @@ -0,0 +1,3 @@ +html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' );--md-tasklist-icon--checked: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} + +/*# sourceMappingURL=main.660197c7.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.660197c7.min.css.map b/material/assets/stylesheets/main.660197c7.min.css.map new file mode 100644 index 000000000..0435ce061 --- /dev/null +++ b/material/assets/stylesheets/main.660197c7.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,0BACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,kVACE,4VAGA,6BAWA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVkWa,oDUhWX,CVgWW,2CUhWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.660197c7.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" );--md-tasklist-icon--checked: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1.5em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n --md-tasklist-icon--checked: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/stylesheets/main.94fefe80.min.css b/material/assets/stylesheets/main.94fefe80.min.css deleted file mode 100644 index 15a7424fe..000000000 --- a/material/assets/stylesheets/main.94fefe80.min.css +++ /dev/null @@ -1,3 +0,0 @@ -html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset dd+dt{margin-top:1.5em}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' );--md-tasklist-icon--checked: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} - -/*# sourceMappingURL=main.94fefe80.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.94fefe80.min.css.map b/material/assets/stylesheets/main.94fefe80.min.css.map deleted file mode 100644 index 87ad5a385..000000000 --- a/material/assets/stylesheets/main.94fefe80.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBA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aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BA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A,kBACE,0BAMN,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,a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WACA,wCAIF,aACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,kVACE,4VAGA,6BAWA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVkWa,oDUhWX,CVgWW,2CUhWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.94fefe80.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset dd+dt{margin-top:1.5em}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" );--md-tasklist-icon--checked: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Definition terms\n dd + dt {\n margin-top: 1.5em;\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n --md-tasklist-icon--checked: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/base.html b/material/base.html index 815d13b3b..bf9e79a2e 100644 --- a/material/base.html +++ b/material/base.html @@ -41,7 +41,7 @@ {% endif %} {% endblock %} {% block styles %} - <link rel="stylesheet" href="{{ 'assets/stylesheets/main.94fefe80.min.css' | url }}"> + <link rel="stylesheet" href="{{ 'assets/stylesheets/main.660197c7.min.css' | url }}"> {% if palette.scheme or palette.primary or palette.accent %} <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.e185632b.min.css' | url }}"> {% endif %} diff --git a/src/assets/stylesheets/base/_typeset.scss b/src/assets/stylesheets/base/_typeset.scss index f2ef4c707..ac2f9ca3e 100644 --- a/src/assets/stylesheets/base/_typeset.scss +++ b/src/assets/stylesheets/base/_typeset.scss @@ -374,7 +374,7 @@ kbd { // Definition lists dd { - margin: 1em 0 1em px2em(30px, 16px); + margin: 1em 0 1.5em px2em(30px, 16px); // Adjust for right-to-left languages [dir="rtl"] & { @@ -383,11 +383,6 @@ kbd { } } - // Definition terms - dd + dt { - margin-top: 1.5em; - } - // Limit width to container, scale height proportionally img, svg { From c0e8d062b907288da454856f4a161e0ea84a5de4 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 14:33:52 +0200 Subject: [PATCH 11/37] Added customization guide for languages --- docs/guides/changing-the-fonts.md | 11 ++++++----- docs/guides/changing-the-language.md | 23 +++++++++++++++++++++++ docs/guides/navigation.md | 16 ++++------------ 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index 57d2293c9..84a3f3624 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -64,9 +64,9 @@ theme: This will prevent typefaces from being loaded from Google Fonts. As a fallback, common system fonts will be used automatically. Additionally, if you want to -load a font from another destination, you can either [override the `fonts` -block][6] with a `style` tag, or use an [additional stylesheet][7] to add the -necessary `@font-face` definition: +load a font from another destination, you may either follow the guide on [theme +extension][6] and [override the `fonts` block][7] with a `style` tag, or use an +[additional stylesheet][8] to add the necessary `@font-face` definition: ``` css @font-face { @@ -94,5 +94,6 @@ The font can then be configured to be used as the regular or proportional font: ``` [5]: ../data-privacy.md - [6]: ../customization.md#overriding-blocks - [7]: ../customization.md#additional-stylesheets + [6]: ../customization.md#setup-and-theme-structure + [7]: ../customization.md#overriding-blocks + [8]: ../customization.md#additional-stylesheets diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md index 83a151318..f2a337c06 100644 --- a/docs/guides/changing-the-language.md +++ b/docs/guides/changing-the-language.md @@ -150,3 +150,26 @@ directionality: </script> [5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L168 + +## Customization + +If you want to customize some (or all) of the translations for your language, +you may follow the guide on [theme extension][6] and create a new partial in +`partials/language`, e.g. `en-custom.html`. Next, look up the translation you +want to change in the [base translation][1] and add it to the partial you just +created. Say, you want to change "__Table of contents__" to "__On this page__": + +``` jinja +{% macro t(key) %}{{ { + "toc.title": "On this page" +}[key] }}{% endmacro %} +``` + +Then, add the following lines to `mkdocs.yml`: + +``` yaml +theme: + language: en-custom +``` + + [6]: ../customization.md#setup-and-theme-structure diff --git a/docs/guides/navigation.md b/docs/guides/navigation.md index 1ceda1c51..bfd8d10c6 100644 --- a/docs/guides/navigation.md +++ b/docs/guides/navigation.md @@ -93,13 +93,13 @@ used to render these pages. [:octicons-file-code-24: Source][5] · [:octicons-workflow-24: Extension][6] -The [Table of Contents][7] extension, which is part of the standard Markdown +The [table of contents][7] extension, which is part of the standard Markdown library, provides some options that are supported by Material for MkDocs to -customize its appearance. +customize its appearance: `permalink` -: This options adds an anchor link containing the paragraph symbol `¶` or +: This option adds an anchor link containing the paragraph symbol `¶` or another custom symbol at the end of each headline, exactly like on the page you're currently viewing, which Material for MkDocs will make appear on hover: @@ -120,14 +120,6 @@ customize its appearance. permalink: ⚓︎ ``` - === "Link" - - ``` yaml - markdown_extensions: - - toc: - permalink: Link - ``` - `slugify` : This option allows for customization of the slug function. For some @@ -143,7 +135,7 @@ customize its appearance. slugify: pymdownx.slugs.uslugify ``` - === "Casing" + === "Unicode, case-sensitive" ``` yaml markdown_extensions: From 6de92d8fff913ef02d81cdb44a50710797b19730 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 16:07:32 +0200 Subject: [PATCH 12/37] Fixed erroneous top margin for non-highlighted tabbed content --- src/assets/stylesheets/extensions/pymdown/_tabbed.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/assets/stylesheets/extensions/pymdown/_tabbed.scss b/src/assets/stylesheets/extensions/pymdown/_tabbed.scss index e7f0c96d8..8de422edd 100644 --- a/src/assets/stylesheets/extensions/pymdown/_tabbed.scss +++ b/src/assets/stylesheets/extensions/pymdown/_tabbed.scss @@ -35,6 +35,7 @@ box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest); // Mirror old superfences behavior, if there's only a single code block. + > pre:only-child, > .codehilite:only-child pre, > .codehilitetable:only-child, > .highlight:only-child pre, From 2fdee428ffe2c296d048e4fb2531065d35422878 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Fri, 17 Jul 2020 16:50:57 +0200 Subject: [PATCH 13/37] Added first part of syntax highlighting guide --- docs/customization.md | 2 +- docs/guides/adding-a-git-repository.md | 0 docs/guides/changing-colors.md | 1 - docs/guides/changing-the-fonts.md | 2 +- docs/guides/changing-the-language.md | 2 +- docs/guides/navigation.md | 12 +++- docs/guides/syntax-highlighting.md | 72 +++++++++++++++++++ material/assets/manifest.json | 4 +- ...660197c7.min.css => main.04aed59c.min.css} | 4 +- .../stylesheets/main.04aed59c.min.css.map | 1 + .../stylesheets/main.660197c7.min.css.map | 1 - material/base.html | 2 +- mkdocs.yml | 8 +-- 13 files changed, 96 insertions(+), 15 deletions(-) create mode 100644 docs/guides/adding-a-git-repository.md rename material/assets/stylesheets/{main.660197c7.min.css => main.04aed59c.min.css} (95%) create mode 100644 material/assets/stylesheets/main.04aed59c.min.css.map delete mode 100644 material/assets/stylesheets/main.660197c7.min.css.map diff --git a/docs/customization.md b/docs/customization.md index e2750b952..6fed2d576 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -72,7 +72,7 @@ parts of a theme without forking and changing the main theme. ### Setup and theme structure -Reference the Material theme as usual in `mkdocs.yml`, and create a new folder +Reference the original theme as usual in `mkdocs.yml`, and create a new folder for `overrides` which you reference using `custom_dir`: ``` yaml diff --git a/docs/guides/adding-a-git-repository.md b/docs/guides/adding-a-git-repository.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/guides/changing-colors.md b/docs/guides/changing-colors.md index ab2c934f3..a3e695758 100644 --- a/docs/guides/changing-colors.md +++ b/docs/guides/changing-colors.md @@ -280,4 +280,3 @@ colors or neutral colors: [7]: ../customization.md#additional-stylesheets [8]: ../extensions/codehilite.md [9]: ../extensions/admonition.md - diff --git a/docs/guides/changing-the-fonts.md b/docs/guides/changing-the-fonts.md index 84a3f3624..f7c4e8635 100644 --- a/docs/guides/changing-the-fonts.md +++ b/docs/guides/changing-the-fonts.md @@ -94,6 +94,6 @@ The font can then be configured to be used as the regular or proportional font: ``` [5]: ../data-privacy.md - [6]: ../customization.md#setup-and-theme-structure + [6]: ../customization.md#extending-the-theme [7]: ../customization.md#overriding-blocks [8]: ../customization.md#additional-stylesheets diff --git a/docs/guides/changing-the-language.md b/docs/guides/changing-the-language.md index f2a337c06..d858efef7 100644 --- a/docs/guides/changing-the-language.md +++ b/docs/guides/changing-the-language.md @@ -172,4 +172,4 @@ theme: language: en-custom ``` - [6]: ../customization.md#setup-and-theme-structure + [6]: ../customization.md#extending-the-theme diff --git a/docs/guides/navigation.md b/docs/guides/navigation.md index bfd8d10c6..870b9c84e 100644 --- a/docs/guides/navigation.md +++ b/docs/guides/navigation.md @@ -125,7 +125,7 @@ customize its appearance: : This option allows for customization of the slug function. For some languages, the standard slug function may not produce good and readable identifiers. Consider using another slug function like for example those - from [PyMdown Extensions][8]: + from [Python Markdown Extensions][8]: === "Unicode" @@ -173,3 +173,13 @@ this extension, so they may yield weird results. Use them at your own risk._ [6]: https://python-markdown.github.io/extensions/toc/ [7]: https://python-markdown.github.io/extensions/toc/#usage [8]: https://facelessuser.github.io/pymdown-extensions/extras/slugs/ + +## Customization + +All navigational elements are defined as partials and can be overridden through +[theme extension][9] by [overriding partials][10] or [blocks][11], i.e. +`site_nav` which contains both sidebars, `tabs` and `footer`. + + [9]: ../customization.md#extending-the-theme + [10]: ../customization.md#overriding-partials + [11]: ../customization.md#overriding-blocks diff --git a/docs/guides/syntax-highlighting.md b/docs/guides/syntax-highlighting.md index e69de29bb..fbc11c3b7 100644 --- a/docs/guides/syntax-highlighting.md +++ b/docs/guides/syntax-highlighting.md @@ -0,0 +1,72 @@ +--- +template: overrides/main.html +--- + +# Syntax highlighting + +Code blocks and examples are an essential part of technical project +documentation. Material for MkDocs provides different ways to set up syntax +highlighting for code blocks, either during build time using [Pygments][1] or +during runtime using a JavaScript syntax highlighter. + + [1]: https://pygments.org + +## Configuration + +### Highlight + +[:octicons-file-code-24: Source][2] · [:octicons-workflow-24: Extension][3] + +The [highlight][3] extension, which is part of [Python Markdown Extensions][4], +integrates with Material for MkDocs and provides several options for +configuring syntax highlighting of code blocks: + +`use_pygments` + +: This option allows to control whether highlighting should be carried out + during build time by [Pygments][1] (default, recommended) or runtime with + a JavaScript highlighter. Remember to add the necessary + [additional stylesheets][5] and [JavaScript][6] if you want to use the + latter: + + === "Pygments" + + ``` yaml + markdown_extensions: + - pymdownx.highlight: + use_pygments: true + ``` + + === "JavaScript" + + ``` yaml + markdown_extensions: + - pymdownx.highlight: + use_pygments: false + ``` + + ??? example "Syntax highlighting with [Highlight.js][7]" + + Highlight.js can be integrated by including the respective stylesheet + and JavaScript from a [CDN][8] in `mkdocs.yml`: + + ``` yaml + extra_javascript: + - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js + extra_css: + - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css + ``` + + Additionally, the following function must be called: + + ``` js + hljs.initHighlighting() + ``` + + [2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/assets/stylesheets/extensions/pymdown/_highlight.scss + [3]: https://facelessuser.github.io/pymdown-extensions/extensions/highlight/ + [4]: https://facelessuser.github.io/pymdown-extensions/ + [5]: ../customization.md#additional-stylesheets + [6]: ../customization.md#additional-javascript + [7]: https://highlightjs.org/ + [8]: https://cdnjs.com/libraries/highlight.js/ diff --git a/material/assets/manifest.json b/material/assets/manifest.json index 437b0bc30..a13d83406 100644 --- a/material/assets/manifest.json +++ b/material/assets/manifest.json @@ -5,8 +5,8 @@ "assets/javascripts/vendor.js.map": "assets/javascripts/vendor.568ba93b.min.js.map", "assets/javascripts/worker/search.js": "assets/javascripts/worker/search.a68abb33.min.js", "assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.a68abb33.min.js.map", - "assets/stylesheets/main.css": "assets/stylesheets/main.660197c7.min.css", - "assets/stylesheets/main.css.map": "assets/stylesheets/main.660197c7.min.css.map", + "assets/stylesheets/main.css": "assets/stylesheets/main.04aed59c.min.css", + "assets/stylesheets/main.css.map": "assets/stylesheets/main.04aed59c.min.css.map", "assets/stylesheets/palette.css": "assets/stylesheets/palette.e185632b.min.css", "assets/stylesheets/palette.css.map": "assets/stylesheets/palette.e185632b.min.css.map" } \ No newline at end of file diff --git a/material/assets/stylesheets/main.660197c7.min.css b/material/assets/stylesheets/main.04aed59c.min.css similarity index 95% rename from material/assets/stylesheets/main.660197c7.min.css rename to material/assets/stylesheets/main.04aed59c.min.css index 85047b41c..87d1d0697 100644 --- a/material/assets/stylesheets/main.660197c7.min.css +++ b/material/assets/stylesheets/main.04aed59c.min.css @@ -1,3 +1,3 @@ -html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' );--md-tasklist-icon--checked: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} +html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:"kern","liga";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:"kern";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:-webkit-sticky;position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color 250ms;transition:color 250ms}.md-search__input::-moz-placeholder{-moz-transition:color 250ms;transition:color 250ms}.md-search__input::-ms-input-placeholder{-ms-transition:color 250ms;transition:color 250ms}.md-search__input::placeholder{transition:color 250ms}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:-moz-placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}@media(-webkit-max-device-pixel-ratio: 1), (max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@-webkit-keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}@keyframes md-sidebar__scrollwrap--hack{0%,99%{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}100%{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}}.md-sidebar{position:-webkit-sticky;position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{-webkit-animation:md-sidebar__scrollwrap--hack 400ms forwards;animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@-webkit-keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done 250ms ease-in;animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done 400ms ease-out;animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:"·"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>')}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);content:""}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>')}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]::before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);content:""}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:""}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:""}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:""}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:"/* "}.md-typeset .critic.comment::after{content:" */"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>')}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:""}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:""}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:-webkit-sticky;position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>pre:only-child,.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>pre:only-child>code,.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' );--md-tasklist-icon--checked: url( 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"/></svg>' )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);content:""}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0} -/*# sourceMappingURL=main.660197c7.min.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.04aed59c.min.css.map*/ \ No newline at end of file diff --git a/material/assets/stylesheets/main.04aed59c.min.css.map b/material/assets/stylesheets/main.04aed59c.min.css.map new file mode 100644 index 000000000..400d6e3d1 --- /dev/null +++ b/material/assets/stylesheets/main.04aed59c.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,0BACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,wQAGA,QAKE,iSAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCpER,kVACE,4VAGA,6BAWA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVkWa,oDUhWX,CVgWW,2CUhWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.04aed59c.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>pre:only-child,.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>pre:only-child>code,.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" );--md-tasklist-icon--checked: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1.5em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > pre:only-child,\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n --md-tasklist-icon--checked: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/assets/stylesheets/main.660197c7.min.css.map b/material/assets/stylesheets/main.660197c7.min.css.map deleted file mode 100644 index 0435ce061..000000000 --- a/material/assets/stylesheets/main.660197c7.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/assets/stylesheets/main.scss","webpack:///./src/assets/stylesheets/base/_reset.scss","webpack:///./src/assets/stylesheets/base/_colors.scss","webpack:///./src/assets/stylesheets/base/_icons.scss","webpack:///./src/assets/stylesheets/base/_typeset.scss","webpack:///./src/assets/stylesheets/utilities/_break.scss","webpack:///./src/assets/stylesheets/layout/_base.scss","webpack:///./src/assets/stylesheets/layout/_announce.scss","webpack:///./src/assets/stylesheets/layout/_button.scss","webpack:///./src/assets/stylesheets/layout/_clipboard.scss","webpack:///./src/assets/stylesheets/layout/_content.scss","webpack:///./src/assets/stylesheets/layout/_dialog.scss","webpack:///./node_modules/material-shadows/material-shadows.scss","webpack:///./src/assets/stylesheets/layout/_header.scss","webpack:///./src/assets/stylesheets/layout/_hero.scss","webpack:///./src/assets/stylesheets/layout/_footer.scss","webpack:///./src/assets/stylesheets/layout/_nav.scss","webpack:///./src/assets/stylesheets/layout/_search.scss","webpack:///./src/assets/stylesheets/layout/_sidebar.scss","webpack:///./src/assets/stylesheets/layout/_source.scss","webpack:///./src/assets/stylesheets/layout/_tabs.scss","webpack:///./src/assets/stylesheets/extensions/_admonition.scss","webpack:///./node_modules/material-design-color/material-color.scss","webpack:///./src/assets/stylesheets/extensions/_codehilite.scss","webpack:///./src/assets/stylesheets/extensions/_footnotes.scss","webpack:///./src/assets/stylesheets/extensions/_permalinks.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_arithmatex.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_critic.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_details.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_emoji.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_highlight.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tabbed.scss","webpack:///./src/assets/stylesheets/extensions/pymdown/_tasklist.scss"],"names":[],"mappings":"AAAA,KC6BA,qBACE,sBAIF,kBAGE,MAIF,6BACE,CADF,0BACE,CADF,yBACE,CADF,qBACE,MAIF,QACE,IAIF,sBACE,iBACA,sBAIF,uCAIE,GAIF,aACE,qBACA,OAIF,aACE,SAIF,iBAEE,cACA,cACA,wBACA,KAIF,cACE,KAIF,UACE,KAIF,iBACE,OAIF,wBACE,iBACA,OAIF,kBAEE,mBACA,QAIF,QACE,UACA,kBACA,uBACA,SACA,OAIF,QACE,UACA,OCjGF,4CAGE,oDACA,sDACA,uDACA,4CACA,qDACA,uDACA,yDACA,8CAGA,qDACA,oDACA,4CACA,qDACA,6CAGA,4DACA,2CACA,oDACA,SAGA,uCAGE,2CACA,4CAGA,iDACA,qDAGA,qDACA,4CAGA,kDACA,2CACA,oDACA,sDACA,cC1CF,aACE,aACA,cACA,cACA,kBACA,MCRJ,kCACE,kCACA,YAIF,0BAEE,oCACA,wEACA,cAIF,0BAGE,6BACA,oDACA,aAWF,eACE,gBACA,iCACA,CADA,kBACA,oEAGA,YAIE,gBAIF,eACE,wCACA,gBACA,oBACA,gBACA,uBACA,gBAIF,mBACE,gBACA,kBACA,gBACA,uBACA,gBAIF,qBACE,gBACA,eACA,gBACA,uBACA,mBAIF,gBACE,gBAIF,cACE,gBACA,gBACA,uBACA,+BAIF,cAEE,wCACA,gBACA,iBACA,uBACA,gBAIF,wBACE,gBAIF,cACE,gEACA,eAIF,+BACE,sBACA,qCAGA,sBAEE,yCAIF,+BAEE,kDAKJ,6BAGE,cACA,cAGA,iDAPF,oBAQI,mBAKJ,uBACE,gBACA,sBACA,yCACA,oBACA,mCACA,CADA,0BACA,yHAIF,cAME,gBACA,6BACA,gBACA,oBAIF,kBACE,iBAIF,iBACE,aACA,gBACA,sBAGA,aACE,SACA,+BACA,cACA,kBACA,gBACA,mCACA,CADA,0BACA,kBACA,qBAEA,gEACA,4BAGA,qDACE,yCAIF,WACE,aACA,+CAIF,oDACE,qDAGA,0CACE,0CCvBN,gBDiCA,kBACE,sBAGA,eACE,kBAMN,oBACE,wBACA,gBACA,gBACA,wBACA,sBACA,oBACA,+JAEE,kBAMJ,eACE,sBACA,qCACA,oBACA,mCACA,CADA,0BACA,kBAIF,oBACE,8DACA,YACA,mBAIF,WACE,iCAIF,qBAEE,qDAGA,sBACE,oBACA,wBAKJ,kBACE,wCACA,4DACA,kCAGA,mBACE,qBACA,6DACA,oBACA,gBAKJ,oBACE,+BAIF,kBAEE,UACA,mDAGA,mBACE,oBACA,qCAIF,2BACE,2CAGA,2BACE,qCAKJ,kBACE,mBACA,yDAGA,mBACE,oBACA,mGAIF,aAEE,2DAIF,eACE,qFAIF,yBAEE,6HAGA,mBACE,oBACA,gBAOR,0BACE,0BAGA,oBACE,oBACA,iCAKJ,cAEE,YACA,oBAIF,cACE,gCAIF,oBACE,eACA,cACA,iBACA,sCACA,oBACA,mEAEE,kBAEF,kCAKA,gBACE,+FAIF,eAEE,mHAGA,gBACE,mCAKJ,cACE,oBACA,iCACA,mBACA,mDACA,qCAGA,aACE,mCAKJ,mBACE,mBACA,6DACA,mCAIF,iCACE,yCAGA,iCACE,uDACA,kDAIF,YACE,kCAMJ,iBACE,yBAKJ,kBACE,gBACA,kBACA,oBAIF,oBACE,mBACA,gBACA,0BAGA,aACE,WACA,SACA,gBACA,MEtcN,WACE,kBAKA,eAOA,sCD0IE,KCvJJ,gBAiBI,uCDsIA,KCvJJ,cAsBI,OAKJ,iBACE,aACA,sBACA,WACA,gBACA,gBAGA,4CACA,0CDqIE,yBC/HA,cACE,eAMJ,KAtBF,aAuBI,KAKJ,aACE,cACA,UACA,SACA,UAIF,eACE,kBACA,iBACA,eAIF,YACE,sBACA,YACA,cAIA,cAPF,aAQI,WAKJ,WACE,iBAGA,YACE,YACA,kBACA,cAKJ,aACE,gBACA,mBACA,uBACA,YAQF,YACE,aAIF,cACE,MACA,UACA,QACA,SACA,iCACA,UACA,0DAEE,0CDgDA,4CCxCA,UACE,YACA,UACA,8CAEE,WAYR,cACE,WAGA,aACA,oBACA,iCACA,iBACA,4CACA,oBACA,6BACA,UACA,gBAGA,UACE,wBACA,UACA,2EAEE,OAUN,WACE,cC1LF,aACE,4CACA,qBAGA,iBACE,gBACA,iCACA,gBACA,cAIF,aAbF,YAcI,yBCXF,oBACE,mBACA,iCACA,gBACA,gCACA,oBACA,iEAEE,iCAKF,gCACE,4CACA,wCACA,2DAIF,+BAEE,2CACA,uCACA,eC3BN,iBACE,UACA,WACA,UACA,YACA,aACA,2CACA,oBACA,eACA,uBACA,cAGA,cAbF,YAcI,oBAIF,aACE,eACA,yBAIF,uCACE,iDAIF,+BAEE,aC/BJ,MACE,eACA,+DLyII,YK3IN,8BAMI,yCL0JA,YKhKJ,kCAWI,qBAIF,qBACE,kBACA,wCL+IA,mBKjJF,mBAMI,mBACA,6BAKF,aACE,aACA,WACA,gCAIF,eACE,qBAKJ,WACE,eACA,kBACA,UACA,+BAGA,UACE,mBACA,oBACA,mCAGA,oBACE,iCAKJ,yCACE,yBAIF,cACE,mBACA,cAIF,oBA9BF,YA+BI,aCvEN,gGCFE,eDKA,YACA,aACA,aACA,UACA,cACA,kBACA,oBACA,iCACA,gBACA,sCACA,YACA,oBACA,2BACA,UACA,6CAEE,sBAIF,aACE,WACA,gCAIF,uBACE,UACA,6EAEE,cAKJ,WAtCF,YAuCI,aEvCJ,uBACE,CADF,eACE,MACA,QACA,OACA,UACA,cACA,iCACA,4CACA,+DAIE,8CAGA,mBAIF,eACE,gBACA,kCAIF,gEAEI,+DAGA,cAMJ,WApCF,YAqCI,iBAKJ,YACE,gBACA,wBAGA,iBACE,UACA,cACA,aACA,cACA,eACA,yBACA,sCAME,oBACE,2DAKJ,UAEE,gCAIF,YACE,cACA,uEAGA,aAEE,aACA,cACA,kBACA,6CAKJ,YACE,qCRwEF,qCQjEE,YACE,2CRkFJ,+BQ1EE,YACE,yCRuDJ,qCQ/CE,YACE,wBAMN,iBACE,WACA,wEAEE,6CAIF,UACE,8BACA,UACA,wEAEE,oBAEF,uDAGA,8BACE,8BAKJ,gBACE,oDAIF,YACE,uBAKJ,WACE,eACA,gBACA,mBACA,mEAGA,UACE,+BACA,UACA,wEAEE,oBAEF,6EAGA,6BACE,yFAIF,SACE,wBACA,UACA,wEAEE,uBAEF,gDAKJ,iBACE,WACA,YACA,wBAKJ,YACE,qCRtCA,uBQqCF,aAKI,cACA,kBACA,iBACA,kCAGA,iBACE,oBACA,yCRlDJ,uBQqCF,kBAmBI,kCAGA,mBACE,WC5NR,eACE,iCACA,eACA,4CACA,4BACA,iBAGA,eACE,0BACA,wEAEE,uBAEF,0CToKA,gBS1KF,iBAUI,qBACA,yCAIF,8BACE,UACA,iDAEE,oBAEF,kCAIF,oBACE,YClCN,+BACE,2CACA,cAGA,WALF,YAMI,wBAQF,aACE,cACA,sBAIF,YACE,mBACA,qBACA,yBACA,qCVwIA,qBU5IF,SAQI,wDAIF,UAEE,4BAIF,UACE,UACA,sCAGA,WACE,0CAGA,oBACE,0CVkIN,iDU7HE,YAII,6BAMN,WACE,UACA,iBACA,sCAGA,UACE,gBACA,0CAGA,oBACE,uBAOR,iBACE,YACA,8BACA,eACA,gBACA,mBACA,wBAIF,YACE,cACA,2BAIF,iBACE,QACA,OACA,iBACA,eACA,iBACA,WACA,iBAKJ,gDACE,wBAGA,YACE,eACA,8BACA,cACA,mCAIF,sCACE,iFAGA,+BAEE,sBAMN,UACE,kBACA,gBACA,yCACA,iBACA,qCVqBE,qBU1BJ,UASI,kCAIF,sCACE,mBAKJ,cACE,sBACA,qCVKE,kBUPJ,eAMI,0BAIF,oBACE,aACA,cACA,kBACA,iCAGA,eACE,6BAIF,gBACE,oBACA,kBACA,SClLN,eACE,gBACA,gBAGA,aACE,gBACA,gBACA,gBACA,uBACA,gCAGA,YACE,oCAGA,UACE,YACA,uFAOA,aAEE,aACA,cACA,4CAIF,iBACE,eAOR,QACE,UACA,gBACA,eAIF,eACE,0BAGA,oBACE,6BAIF,eACE,uCAGA,mBACE,eACA,wCAIF,gBACE,eAMN,aACE,kBACA,gBACA,uBACA,eACA,uBACA,wBACA,+BAIA,YACE,uCAGA,YACE,mCAKJ,yCACE,qCAIF,+BACE,qCAIF,aACE,yCAIF,+BAEE,iBAKJ,YACE,0CX2DA,QWlLJ,2CA4HI,2CAGA,iBAEE,MACA,QACA,OACA,UACA,aACA,sBACA,YACA,gEAOA,eAEE,gBACA,iCAIF,iBACE,cACA,yBACA,wCACA,gBACA,mBACA,mBACA,sDACA,eACA,+CAGA,iBACE,UACA,WACA,cACA,aACA,cACA,aACA,yDAGA,WACE,aACA,+CAKJ,eACE,4CACA,iEAEE,qCACF,CADE,gCACF,CADE,4BACF,mBACA,yEAGA,YACE,+CAKJ,iBACE,iCACA,4CACA,+DAGA,iBACE,UACA,WACA,cACA,aACA,cACA,iBACA,8EASJ,WACE,aACA,gCAKJ,MACE,gCAIF,SACE,6DACA,0CAGA,SACE,sDAIF,oBACE,gEAGA,mBACE,oBACA,sDAKJ,+BACE,uHAGA,+BAEE,gCAMN,iBACE,aACA,oBACA,8CAGA,iBACE,QACA,YACA,mBACA,cACA,iBACA,wDAGA,aACE,WACA,8CAYF,mBACE,mDASJ,eACE,6CAIF,eACE,6BACA,2DAGA,mBACE,qEAGA,oBACE,qBACA,mEAKJ,iBACE,6EAGA,kBACE,qBACA,2EAKJ,mBACE,qFAGA,oBACE,qBACA,mFAKJ,mBACE,6FAGA,oBACE,qBACA,yBAQV,YACE,2BACA,UACA,2EAEE,mCAIF,2BACE,iCAKJ,uBACE,UACA,4EAEE,+CAIF,kCACE,CADF,0BACE,2CX3MJ,8BWqNA,aACE,qBACA,6CAGA,YACE,uCAIF,YACE,8BAKJ,mBACE,oBACA,iBAIF,aACE,gBACA,iCACA,kDACA,sCXjQF,6CW4QE,uBACE,iDAIF,YACE,yCXlRJ,QWhKJ,0DAybI,+CAME,uBACE,+CAIF,YACE,yBAKJ,YACE,iCAIF,aACE,8CAIF,YACE,eAIF,WACE,aACA,2BACA,yBAGA,UACE,yBACA,mBAIF,oBACE,YACA,aACA,uBACA,2EAIF,uBACE,aCteR,iBACE,mBAGA,YACE,qCZmJA,WYxJJ,eAUI,sBAIF,SACE,UACA,0CZ0JA,oBY5JF,iBAMI,UACA,aACA,WACA,YACA,gBACA,4CACA,mBACA,wBACA,qDAEE,oBAEF,+BAGA,aACE,aACA,gEAIF,SACE,yCAEE,2CZ8HN,+DYxHA,mBAII,gEZ6EF,+DYjFF,mBASI,gEZwEF,+DYjFF,mBAcI,sCZwFJ,oBY1IF,cAwDI,MACA,OACA,QACA,SACA,iCACA,eACA,0DAEE,+BAKF,OACE,aACA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N,eACE,eACA,gBACA,mCAEA,CAFA,0BAEA,qBAEA,gEACA,6BAMA,6DACE,CADF,qDACE,0CboEF,6Ca7DE,iBACE,MACA,QACA,SACA,OACA,SACA,8BACA,CADA,yBACA,CADA,qBACA,gCAKJ,qDACE,4CAIF,WACE,aACA,kDAIF,oDACE,wDAGA,0CACE,2CCjJR,GACE,QACE,MAGF,aACE,ED2II,kCCjJR,GACE,QACE,MAGF,aACE,2CAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,EAjBA,iCAKJ,GACE,0BACE,UACA,KAGF,SACE,MAGF,wBACE,UACA,aASJ,aACE,iBACA,gBACA,mBACA,mCAEA,CAFA,0BAEA,yBACA,kBAGA,UACE,kBAIF,oBACE,aACA,cACA,sBACA,sBAGA,gBACE,kBACA,gCAGA,kBACE,oBACA,yCAKJ,iBACE,kBACA,mDAGA,kBACE,oBACA,mBACA,qBACA,wBAMN,oBACE,8BACA,kBACA,gBACA,gBACA,uBACA,sBACA,mBAIF,QACE,UACA,gBACA,gBACA,iBACA,qBACA,YACA,wCAGA,sDACE,CADF,8CACE,kBAKJ,UACE,4BAGA,WACE,uCAIF,sDACE,CADF,8CACE,0BAIF,cACE,YACA,sCAIF,YACE,UCjIN,UACE,cACA,iCACA,4CACA,4BACA,iBAGA,eACE,0CfyKA,SelLJ,YAcI,eAIF,SAlBF,YAmBI,iBAIF,QACE,kBACA,UACA,mBACA,gBACA,gBACA,0BAGA,kBACE,oBACA,gBAKJ,oBACE,cACA,oBACA,mBACA,gBAKF,aACE,iBACA,gBACA,WACA,wEAEE,uBAIF,eACE,6CAIF,aAEE,UACA,4CAKA,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,qBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,4CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,6CADF,sBACE,gCAMN,mBACE,+CAIA,yBACE,UACA,yDAEE,wCfyEJ,uEe/DA,YACE,2DAUE,aACE,gBACA,oB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ACE,mBACA,mBACA,oBACA,uBAKJ,uCACE,iBACA,0BAGA,aACE,0BAIF,sBACE,iCAGA,gCACE,uCAIF,YACE,oGAIF,uBAEE,UACA,wDAIF,+BACE,2BAMN,oBACE,uBACA,+BAIF,oBACE,gCACA,YAEA,2BACA,8BACA,UACA,iEAEE,yCAKF,8BACE,uCAIF,oBACE,YACA,aACA,8BACA,4CACA,CADA,mCACA,WACA,qDAME,oBACE,cAMN,8BAtCF,+BAuCI,wBACA,UACA,0BC3HJ,oBACE,kBACA,kBAGA,UACA,0DAEE,mCAKF,kBACE,oBACA,mCAIF,yCACE,cAIF,wBAxBF,YAyBI,+FAKJ,kBAGE,UACA,oDAEE,6FAMJ,+BAGE,qBAMF,wBACE,+EAYE,yBACE,kFAIF,aACE,mBACA,kBACA,WACA,uGAIF,kBACE,mBACA,2BAfF,yBACE,4BAIF,aACE,oBACA,mBACA,WACA,mCAIF,mBACE,oBACA,qDAfF,yBACE,uDAIF,aACE,mBACA,kBACA,WACA,qEAIF,kBACE,mBACA,2BC7EN,cACE,gBACA,cACA,kBACA,0CrByKA,4BqBrKF,oBAII,oBACA,6BAKJ,SACE,2ECrBF,eAGE,oBACA,mCACA,CADA,0BACA,wBAIF,qBJEwB,wBIGxB,qBJFyB,6BIOzB,UJKmB,qCIDjB,aACE,oCAIF,aACE,2BAKJ,aACE,aACA,oBACA,mBACA,cACA,gBACA,wCAGA,eACE,uCAIF,kBACE,OCpDN,+LACE,qBASA,aAGE,cACA,iBACA,0CAIA,uBACE,iCAIF,gBACE,yCAIA,gCACE,4BAKJ,aACE,WACA,qBAKJ,aAGE,gBACA,gCACA,8BACA,eACA,+BAGA,+BACE,6CAIF,YACE,4BAIF,iBACE,UACA,YACA,WACA,YACA,8BACA,0CACA,CADA,iCACA,uBACA,2BACA,WACA,sCAGA,aACE,WACA,yBACA,yEC3EN,aAGE,gBACA,oBACA,0BAIF,oBACE,eACA,wBACA,8BAGA,aACE,gBACA,kBACA,mCCfJ,uBACE,CADF,eACE,qBACA,WACA,4BACA,4BACA,4BACA,0CACA,yCACA,iEACA,2BACA,yBACA,CADA,qBACA,CADA,oBACA,CADA,gBACA,6BCdF,YACE,SACA,WACA,2DACA,6NAGA,QAIE,iPAGA,wBACE,0BACA,yCAKJ,QACE,yBAKJ,iBACE,aACA,eACA,aACA,oBACA,+BAGA,YACE,6CAGA,+BACE,uCACA,6DAGA,aACE,+BAMN,SACE,WACA,2BACA,wCACA,gBACA,iBACA,sCACA,eACA,uBACA,0CAGA,+BACE,OCnER,kVACE,4VAGA,6BAWA,iBACE,qBACA,6CAIA,iBACE,UACA,UACA,uDAGA,UACE,aACA,6DASJ,iBACE,UACA,YACA,aACA,cACA,sDACA,2CACA,CADA,kCACA,WACA,uEAGA,YACE,aACA,qFAKJ,wBVkWa,oDUhWX,CVgWW,2CUhWX,gDAIF,UACE,UACA,C","file":"assets/stylesheets/main.660197c7.min.css","sourcesContent":["html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{text-size-adjust:none}body{margin:0}hr{box-sizing:content-box;overflow:visible}a,button,label,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small{font-size:80%}sub,sup{position:relative;font-size:80%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:normal;vertical-align:top}button{margin:0;padding:0;font-size:inherit;background:transparent;border:0}input{border:0;outline:0}:root{--md-default-fg-color: hsla(0, 0%, 0%, 0.87);--md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);--md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);--md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);--md-default-bg-color: hsla(0, 0%, 100%, 1);--md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);--md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);--md-primary-fg-color: hsla(231, 48%, 48%, 1);--md-primary-fg-color--light: hsla(230, 44%, 64%, 1);--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);--md-primary-bg-color: hsla(0, 0%, 100%, 1);--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);--md-accent-fg-color: hsla(231, 99%, 66%, 1);--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);--md-accent-bg-color: hsla(0, 0%, 100%, 1);--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7)}:root>*{--md-code-bg-color: hsla(0, 0%, 96%, 1);--md-code-fg-color: hsla(200, 18%, 26%, 1);--md-text-color: var(--md-default-fg-color);--md-text-link-color: var(--md-primary-fg-color);--md-admonition-bg-color: var(--md-default-bg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-footer-bg-color: hsla(0, 0%, 0%, 0.87);--md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);--md-footer-fg-color: hsla(0, 0%, 100%, 1);--md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);--md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3)}.md-icon svg{display:block;width:1.2rem;height:1.2rem;margin:0 auto;fill:currentColor}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:var(--md-text-color);font-feature-settings:\"kern\",\"liga\";font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,pre,kbd{color:var(--md-text-color);font-feature-settings:\"kern\";font-family:SFMono-Regular,Consolas,Menlo,monospace}.md-typeset{font-size:.8rem;line-height:1.6;color-adjust:exact}.md-typeset p,.md-typeset ul,.md-typeset ol,.md-typeset blockquote{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:var(--md-default-fg-color--light);font-weight:300;font-size:1.5625rem;line-height:1.3;letter-spacing:-0.01em}.md-typeset h2{margin:2rem 0 .8rem;font-weight:300;font-size:1.25rem;line-height:1.4;letter-spacing:-0.01em}.md-typeset h3{margin:1.6rem 0 .8rem;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-0.01em}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{margin:.8rem 0;font-weight:700;font-size:.8rem;letter-spacing:-0.01em}.md-typeset h5,.md-typeset h6{margin:.8rem 0;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;letter-spacing:-0.01em}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted var(--md-default-fg-color--lighter)}.md-typeset a{color:var(--md-text-link-color);word-break:break-word}.md-typeset a,.md-typeset a::before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset code,.md-typeset pre,.md-typeset kbd{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset pre,.md-typeset kbd{white-space:pre-wrap}}.md-typeset code{padding:0 .2941176471em;font-size:.85em;word-break:break-word;background-color:var(--md-code-bg-color);border-radius:.1rem;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:initial;padding:initial;background-color:transparent;box-shadow:none}.md-typeset a>code{color:currentColor}.md-typeset pre{position:relative;margin:1em 0;line-height:1.4}.md-typeset pre>code{display:block;margin:0;padding:.525rem 1.1764705882em;overflow:auto;word-break:normal;box-shadow:none;box-decoration-break:slice;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>pre{margin:1em -0.8rem}.md-typeset>pre code{border-radius:0}}.md-typeset kbd{display:inline-block;padding:0 .6666666667em;font-size:.75em;line-height:1.5;vertical-align:text-top;word-break:break-word;border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-default-fg-color--lighter),0 .1rem 0 var(--md-default-fg-color--lighter),inset 0 -0.1rem .2rem var(--md-default-bg-color)}.md-typeset mark{padding:0 .25em;word-break:break-word;background-color:rgba(255,235,59,.5);border-radius:.1rem;box-decoration-break:clone}.md-typeset abbr{text-decoration:none;border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help}.md-typeset small{opacity:.75}.md-typeset sup,.md-typeset sub{margin-left:.078125em}[dir=rtl] .md-typeset sup,[dir=rtl] .md-typeset sub{margin-right:.078125em;margin-left:initial}.md-typeset blockquote{padding-left:.6rem;color:var(--md-default-fg-color--light);border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ul,.md-typeset ol{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ul,[dir=rtl] .md-typeset ol{margin-right:.625em;margin-left:initial}.md-typeset ul ol,.md-typeset ol ol{list-style-type:lower-alpha}.md-typeset ul ol ol,.md-typeset ol ol ol{list-style-type:lower-roman}.md-typeset ul li,.md-typeset ol li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ul li,[dir=rtl] .md-typeset ol li{margin-right:1.25em;margin-left:initial}.md-typeset ul li p,.md-typeset ul li blockquote,.md-typeset ol li p,.md-typeset ol li blockquote{margin:.5em 0}.md-typeset ul li:last-child,.md-typeset ol li:last-child{margin-bottom:0}.md-typeset ul li ul,.md-typeset ul li ol,.md-typeset ol li ul,.md-typeset ol li ol{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ul li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ol li ol{margin-right:.625em;margin-left:initial}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:initial}.md-typeset img,.md-typeset svg{max-width:100%;height:auto}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){display:inline-block;max-width:100%;overflow:auto;font-size:.64rem;background:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);touch-action:auto}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) th:not([align]),.md-typeset table:not([class]) td:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) th:not([align]),[dir=rtl] .md-typeset table:not([class]) td:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;color:var(--md-default-bg-color);vertical-align:top;background-color:var(--md-default-fg-color--light)}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{padding:.6rem .8rem;vertical-align:top;border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -0.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{height:100%;overflow-x:hidden;font-size:125%}@media screen and (min-width: 100em){html{font-size:137.5%}}@media screen and (min-width: 125em){html{font-size:150%}}body{position:relative;display:flex;flex-direction:column;width:100%;min-height:100%;font-size:.5rem;background-color:var(--md-default-bg-color)}@media screen and (max-width: 59.9375em){body[data-md-state=lock]{position:fixed}}@media print{body{display:block}}hr{display:block;height:.05rem;padding:0;border:0}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-toggle{display:none}.md-overlay{position:fixed;top:0;z-index:3;width:0;height:0;background-color:rgba(0,0,0,.54);opacity:0;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}@media screen and (max-width: 76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-skip{position:fixed;z-index:-1;margin:.5rem;padding:.3rem .5rem;color:var(--md-default-bg-color);font-size:.64rem;background-color:var(--md-default-fg-color);border-radius:.1rem;transform:translateY(0.4rem);opacity:0}.md-skip:focus{z-index:10;transform:translateY(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 175ms 75ms}@page{margin:25mm}.md-announce{overflow:auto;background-color:var(--md-default-fg-color)}.md-announce__inner{margin:.6rem auto;padding:0 .8rem;color:var(--md-default-bg-color);font-size:.7rem}@media print{.md-announce{display:none}}.md-typeset .md-button{display:inline-block;padding:.625em 2em;color:var(--md-primary-fg-color);font-weight:700;border:.1rem solid currentColor;border-radius:.1rem;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-accent-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-clipboard{position:absolute;top:.4rem;right:.5em;z-index:1;width:1.5em;height:1.5em;color:var(--md-default-fg-color--lightest);border-radius:.1rem;cursor:pointer;transition:color 125ms}@media print{.md-clipboard{display:none}}.md-clipboard svg{width:1.125em;height:1.125em}pre:hover .md-clipboard{color:var(--md-default-fg-color--light)}pre .md-clipboard:focus,pre .md-clipboard:hover{color:var(--md-accent-fg-color)}.md-content{flex:1;max-width:100%}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-content{max-width:calc(100% - 12.1rem)}}@media screen and (min-width: 76.25em){.md-content{max-width:calc(100% - 12.1rem * 2)}}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width: 76.25em){.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}}.md-content__inner::before{display:block;height:.4rem;content:\"\"}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0;margin-left:.4rem;padding:0}[dir=rtl] .md-content__button{float:left;margin-right:.4rem;margin-left:initial}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}@media print{.md-content__button{display:none}}.md-dialog{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:fixed;right:.8rem;bottom:.8rem;left:initial;z-index:2;display:block;min-width:11.1rem;padding:.4rem .6rem;color:var(--md-default-bg-color);font-size:.7rem;background:var(--md-default-fg-color);border:none;border-radius:.1rem;transform:translateY(100%);opacity:0;transition:transform 0ms 400ms,opacity 400ms}[dir=rtl] .md-dialog{right:initial;left:.8rem}.md-dialog[data-md-state=open]{transform:translateY(0);opacity:1;transition:transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),opacity 400ms}@media print{.md-dialog{display:none}}.md-header{position:sticky;top:0;right:0;left:0;z-index:2;height:2.4rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem rgba(0,0,0,0),0 .2rem .4rem rgba(0,0,0,0);transition:color 250ms,background-color 250ms}.no-js .md-header{box-shadow:none;transition:none}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:color 250ms,background-color 250ms,box-shadow 250ms}@media print{.md-header{display:none}}.md-header-nav{display:flex;padding:0 .2rem}.md-header-nav__button{position:relative;z-index:1;display:block;margin:.2rem;padding:.4rem;cursor:pointer;transition:opacity 250ms}[dir=rtl] .md-header-nav__button svg{transform:scaleX(-1)}.md-header-nav__button:focus,.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo{margin:.2rem;padding:.4rem}.md-header-nav__button.md-logo img,.md-header-nav__button.md-logo svg{display:block;width:1.2rem;height:1.2rem;fill:currentColor}.no-js .md-header-nav__button[for=__search]{display:none}@media screen and (min-width: 60em){.md-header-nav__button[for=__search]{display:none}}@media screen and (max-width: 76.1875em){.md-header-nav__button.md-logo{display:none}}@media screen and (min-width: 76.25em){.md-header-nav__button[for=__drawer]{display:none}}.md-header-nav__topic{position:absolute;width:100%;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms}.md-header-nav__topic+.md-header-nav__topic{z-index:-1;transform:translateX(1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:initial}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{flex-grow:1;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{z-index:-1;transform:translateX(-1.25rem);opacity:0;transition:transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),opacity 150ms;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{z-index:0;transform:translateX(0);opacity:1;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:initial}.md-header-nav__title>.md-header-nav__ellipsis{position:relative;width:100%;height:100%}.md-header-nav__source{display:none}@media screen and (min-width: 60em){.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;margin-left:1rem}[dir=rtl] .md-header-nav__source{margin-right:1rem;margin-left:initial}}@media screen and (min-width: 76.25em){.md-header-nav__source{margin-left:1.4rem}[dir=rtl] .md-header-nav__source{margin-right:1.4rem}}.md-hero{overflow:hidden;color:var(--md-primary-bg-color);font-size:1rem;background-color:var(--md-primary-fg-color);transition:background 250ms}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms;transition-delay:100ms}@media screen and (max-width: 76.1875em){.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}}[data-md-state=hidden] .md-hero__inner{transform:translateY(0.625rem);opacity:0;transition:transform 0ms 400ms,opacity 100ms 0ms;pointer-events:none}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer{color:var(--md-footer-fg-color);background-color:var(--md-footer-bg-color)}@media print{.md-footer{display:none}}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{display:flex;padding-top:1.4rem;padding-bottom:.4rem;transition:opacity 250ms}@media screen and (min-width: 45em){.md-footer-nav__link{width:50%}}.md-footer-nav__link:focus,.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{float:left;width:25%}[dir=rtl] .md-footer-nav__link--prev{float:right}[dir=rtl] .md-footer-nav__link--prev svg{transform:scaleX(-1)}@media screen and (max-width: 44.9375em){.md-footer-nav__link--prev .md-footer-nav__title{display:none}}.md-footer-nav__link--next{float:right;width:75%;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}[dir=rtl] .md-footer-nav__link--next svg{transform:scaleX(-1)}.md-footer-nav__title{position:relative;flex-grow:1;max-width:calc(100% - 2.4rem);padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__button{margin:.2rem;padding:.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{width:100%;margin:auto .6rem;padding:.4rem 0;color:var(--md-footer-fg-color--lighter);font-size:.64rem}@media screen and (min-width: 45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width: 45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;text-align:center}.md-footer-social__link::before{line-height:1.9}.md-footer-social__link svg{max-height:.8rem;vertical-align:-25%;fill:currentColor}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{width:100%;height:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{display:block;width:2.4rem;height:2.4rem}.md-nav__title .md-nav__button.md-logo svg{fill:currentColor}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__link{display:block;margin-top:.625em;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color 125ms;scroll-snap-align:start}html .md-nav__link[for=__toc]{display:none}html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--lighter)}.md-nav__item .md-nav__link--active{color:var(--md-text-link-color)}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__source{display:none}@media screen and (max-width: 76.1875em){.md-nav{background-color:var(--md-default-bg-color)}.md-nav--primary,.md-nav--primary .md-nav{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;height:100%}.md-nav--primary .md-nav__title,.md-nav--primary .md-nav__item{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;color:var(--md-default-fg-color--light);font-weight:400;line-height:2.4rem;white-space:nowrap;background-color:var(--md-default-fg-color--lightest);cursor:pointer}.md-nav--primary .md-nav__title .md-nav__icon{position:absolute;top:.4rem;left:.4rem;display:block;width:1.2rem;height:1.2rem;margin:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem;left:initial}.md-nav--primary .md-nav__title~.md-nav__list{overflow-y:auto;background-color:var(--md-default-bg-color);box-shadow:inset 0 .05rem 0 var(--md-default-fg-color--lightest);scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{position:relative;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{position:absolute;top:.2rem;left:.2rem;display:block;margin:.2rem;padding:.4rem;font-size:2.4rem}html [dir=rtl] .md-nav--primary .md-nav__title[for=__drawer] .md-nav__button{right:.2rem;left:initial}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid var(--md-default-fg-color--lightest)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-text-link-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link .md-nav__icon{position:absolute;top:50%;right:.6rem;margin-top:-0.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{right:initial;left:.6rem}[dir=rtl] .md-nav--primary .md-nav__icon svg{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:initial}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:initial}.md-nav__toggle~.md-nav{display:flex;transform:translateX(100%);opacity:0;transition:transform 250ms cubic-bezier(0.8, 0, 0.6, 1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{transform:translateX(0);opacity:1;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width: 59.9375em){html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color--dark)}}@media screen and (min-width: 60em){.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width: 76.25em){.md-nav{transition:max-height 250ms cubic-bezier(0.86, 0, 0.07, 1)}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__icon{float:right;height:.9rem;transition:transform 250ms}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon svg{display:inline-block;width:.9rem;height:.9rem;vertical-align:-0.1rem}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon{transform:rotate(90deg)}}.md-search{position:relative}.no-js .md-search{display:none}@media screen and (min-width: 60em){.md-search{padding:.2rem 0}}.md-search__overlay{z-index:1;opacity:0}@media screen and (max-width: 59.9375em){.md-search__overlay{position:absolute;top:.2rem;left:-2.2rem;width:2rem;height:2rem;overflow:hidden;background-color:var(--md-default-bg-color);border-radius:1rem;transform-origin:center;transition:transform 300ms 100ms,opacity 200ms 200ms;pointer-events:none}[dir=rtl] .md-search__overlay{right:-2.2rem;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform 400ms,opacity 100ms}}@media screen and (max-width: 29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width: 30em)and (max-width: 44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width: 45em)and (max-width: 59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}@media screen and (min-width: 60em){.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(0,0,0,.54);cursor:pointer;transition:width 0ms 250ms,height 0ms 250ms,opacity 250ms}[dir=rtl] .md-search__overlay{right:0;left:initial}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;opacity:1;transition:width 0ms,height 0ms,opacity 250ms}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width: 59.9375em){.md-search__inner{position:fixed;top:0;left:100%;z-index:2;width:100%;height:100%;transform:translateX(5%);opacity:0;transition:right 0ms 300ms,left 0ms 300ms,transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),opacity 150ms 150ms}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;transform:translateX(0);opacity:1;transition:right 0ms 0ms,left 0ms 0ms,transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms 150ms}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:initial}html [dir=rtl] .md-search__inner{right:100%;left:initial;transform:translateX(-5%)}}@media screen and (min-width: 60em){.md-search__inner{position:relative;float:right;width:11.7rem;padding:.1rem 0;transition:width 250ms cubic-bezier(0.1, 0.7, 0.1, 1)}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width: 60em)and (max-width: 76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width: 76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{position:relative}@media screen and (min-width: 60em){.md-search__form{border-radius:.1rem}}.md-search__input{position:relative;z-index:2;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;background-color:var(--md-default-bg-color);transition:color 250ms,background-color 250ms}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::placeholder{transition:color 250ms}.md-search__input~.md-search__icon,.md-search__input::placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width: 59.9375em){.md-search__input{width:100%;height:2.4rem;font-size:.9rem}}@media screen and (min-width: 60em){.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;color:inherit;font-size:.8rem;background-color:rgba(0,0,0,.26);border-radius:.1rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input:hover{background-color:rgba(255,255,255,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{color:var(--md-default-fg-color);text-overflow:clip;background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{position:absolute;z-index:2;width:1.2rem;height:1.2rem;cursor:pointer;transition:color 250ms,opacity 250ms}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:initial}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search__icon[for=__search]{top:.6rem;left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem;left:initial}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width: 60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__icon[type=reset]{top:.3rem;right:.5rem;transform:scale(0.75);opacity:0;transition:transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 150ms;pointer-events:none}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.5rem}@media screen and (max-width: 59.9375em){.md-search__icon[type=reset]{top:.6rem;right:.8rem}[dir=rtl] .md-search__icon[type=reset]{right:initial;left:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]{transform:scale(1);opacity:1;pointer-events:initial}[data-md-toggle=search]:checked~.md-header .md-search__input:not(:placeholder-shown)~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;z-index:1;width:100%;overflow:hidden;border-radius:0 0 .1rem .1rem}@media screen and (max-width: 59.9375em){.md-search__output{top:2.4rem;bottom:0}}@media screen and (min-width: 60em){.md-search__output{top:1.9rem;opacity:0;transition:opacity 400ms}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{height:100%;overflow-y:auto;background-color:var(--md-default-bg-color);backface-visibility:hidden;scroll-snap-type:y mandatory;touch-action:pan-y}@media(max-resolution: 1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width: 76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width: 60em){.md-search__scrollwrap{max-height:0;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{padding:0 .8rem;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;background-color:var(--md-default-fg-color--lightest);scroll-snap-align:start}@media screen and (min-width: 60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:initial}}.md-search-result__list{margin:0;padding:0;list-style:none}.md-search-result__item{box-shadow:0 -0.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:0;transition:background 250ms;scroll-snap-align:start}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:focus .md-search-result__article::before,.md-search-result__link:hover .md-search-result__article::before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:hidden}@media screen and (min-width: 60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-weight:400;font-size:.8rem;line-height:1.4}.md-search-result__icon{position:absolute;left:0;margin:.1rem;padding:.4rem;color:var(--md-default-fg-color--light)}[dir=rtl] .md-search-result__icon{right:0;left:initial}[dir=rtl] .md-search-result__icon svg{transform:scaleX(-1)}@media screen and (max-width: 59.9375em){.md-search-result__icon{display:none}}.md-search-result__title{margin:.5em 0;font-weight:700;font-size:.64rem;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;overflow:hidden;color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media screen and (max-width: 44.9375em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}@media screen and (min-width: 60em)and (max-width: 76.1875em){.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}}.md-search-result em{font-weight:700;font-style:normal;text-decoration:underline}@keyframes md-sidebar__scrollwrap--hack{0%,99%{scroll-snap-type:none}100%{scroll-snap-type:y mandatory}}.md-sidebar{position:sticky;top:2.4rem;align-self:flex-start;width:12.1rem;padding:1.2rem 0;overflow:hidden}@media print{.md-sidebar{display:none}}@media screen and (max-width: 76.1875em){.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;z-index:3;width:12.1rem;height:100%;background-color:var(--md-default-bg-color);transform:translateX(0);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:initial}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width: 60em){.md-sidebar--secondary{display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.js .md-sidebar__scrollwrap{animation:md-sidebar__scrollwrap--hack 400ms forwards}@media screen and (max-width: 76.1875em){.md-sidebar--primary .md-sidebar__scrollwrap{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;scroll-snap-type:none}}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@keyframes md-source__facts--done{0%{height:0}100%{height:.65rem}}@keyframes md-source__fact--done{0%{transform:translateY(100%);opacity:0}50%{opacity:0}100%{transform:translateY(0%);opacity:1}}.md-source{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;backface-visibility:hidden;transition:opacity 250ms}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;width:2.4rem;height:2.4rem;vertical-align:middle}.md-source__icon svg{margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:initial}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:initial;padding-right:2rem;padding-left:initial}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);margin-left:.6rem;overflow:hidden;font-weight:700;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{margin:0;padding:0;overflow:hidden;font-weight:700;font-size:.55rem;list-style-type:none;opacity:.75}[data-md-state=done] .md-source__facts{animation:md-source__facts--done 250ms ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{animation:md-source__fact--done 400ms ease-out}.md-source__fact::before{margin:0 .1rem;content:\"·\"}.md-source__fact:first-child::before{display:none}.md-tabs{width:100%;overflow:auto;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color);transition:background 250ms}.no-js .md-tabs{transition:none}@media screen and (max-width: 76.1875em){.md-tabs{display:none}}@media print{.md-tabs{display:none}}.md-tabs__list{margin:0;margin-left:.2rem;padding:0;white-space:nowrap;list-style:none;contain:content}[dir=rtl] .md-tabs__list{margin-right:.2rem;margin-left:initial}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;font-size:.7rem;opacity:.7;transition:transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),opacity 250ms}.no-js .md-tabs__link{transition:none}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:100ms}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:120ms}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:140ms}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:160ms}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:180ms}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:200ms}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:220ms}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:240ms}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:260ms}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:280ms}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:300ms}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{transform:translateY(50%);opacity:0;transition:color 250ms,transform 0ms 400ms,opacity 100ms}@media screen and (min-width: 76.25em){.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-tabs--active~.md-main .md-nav--primary .md-nav__title[for=__drawer]{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]{display:block}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"]>.md-nav__list>.md-nav__item{padding:0 .6rem}.md-tabs--active~.md-main .md-nav[data-md-level=\"1\"] .md-nav .md-nav__title{display:none}}:root{--md-admonition-icon--note: svg-load(\"@mdi/svg/svg/pencil.svg\");--md-admonition-icon--abstract: svg-load(\"@mdi/svg/svg/text-subject.svg\");--md-admonition-icon--info: svg-load(\"@mdi/svg/svg/information.svg\");--md-admonition-icon--tip: svg-load(\"@mdi/svg/svg/fire.svg\");--md-admonition-icon--success: svg-load(\"@mdi/svg/svg/check-circle.svg\");--md-admonition-icon--question: svg-load(\"@mdi/svg/svg/help-circle.svg\");--md-admonition-icon--warning: svg-load(\"@mdi/svg/svg/alert.svg\");--md-admonition-icon--failure: svg-load(\"@mdi/svg/svg/close-circle.svg\");--md-admonition-icon--danger: svg-load(\"@mdi/svg/svg/flash-circle.svg\");--md-admonition-icon--bug: svg-load(\"@mdi/svg/svg/bug.svg\");--md-admonition-icon--example: svg-load(\"@mdi/svg/svg/format-list-numbered.svg\");--md-admonition-icon--quote: svg-load(\"@mdi/svg/svg/format-quote-close.svg\")}.md-typeset .admonition,.md-typeset details{margin:1.5625em 0;padding:0 .6rem;overflow:hidden;color:var(--md-admonition-fg-color);font-size:.64rem;page-break-inside:avoid;background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1)}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset details .admonition,.md-typeset .admonition details,.md-typeset details details{margin:1em 0}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -0.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition-title,.md-typeset summary{position:relative;margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:700;background-color:rgba(68,138,255,.1)}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title::before,.md-typeset summary::before{position:absolute;left:.6rem;width:1rem;height:1rem;background-color:#448aff;mask-image:var(--md-admonition-icon--note);content:\"\"}[dir=rtl] .md-typeset .admonition-title::before,[dir=rtl] .md-typeset summary::before{right:.6rem;left:initial}.md-typeset .admonition-title code,.md-typeset summary code{margin:initial;padding:initial;color:currentColor;background-color:transparent;border-radius:initial;box-shadow:none}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1)}.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:#448aff;mask-image:var(--md-admonition-icon--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract,.md-typeset .admonition.tldr,.md-typeset details.tldr,.md-typeset .admonition.summary,.md-typeset details.summary{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary{background-color:rgba(0,176,255,.1)}.md-typeset .abstract>.admonition-title::before,.md-typeset .abstract>summary::before,.md-typeset .tldr>.admonition-title::before,.md-typeset .tldr>summary::before,.md-typeset .summary>.admonition-title::before,.md-typeset .summary>summary::before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract)}.md-typeset .admonition.info,.md-typeset details.info,.md-typeset .admonition.todo,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1)}.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before,.md-typeset .todo>.admonition-title::before,.md-typeset .todo>summary::before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info)}.md-typeset .admonition.tip,.md-typeset details.tip,.md-typeset .admonition.important,.md-typeset details.important,.md-typeset .admonition.hint,.md-typeset details.hint{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .hint>.admonition-title,.md-typeset .hint>summary{background-color:rgba(0,191,165,.1)}.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before,.md-typeset .important>.admonition-title::before,.md-typeset .important>summary::before,.md-typeset .hint>.admonition-title::before,.md-typeset .hint>summary::before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip)}.md-typeset .admonition.success,.md-typeset details.success,.md-typeset .admonition.done,.md-typeset details.done,.md-typeset .admonition.check,.md-typeset details.check{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .check>.admonition-title,.md-typeset .check>summary{background-color:rgba(0,200,83,.1)}.md-typeset .success>.admonition-title::before,.md-typeset .success>summary::before,.md-typeset .done>.admonition-title::before,.md-typeset .done>summary::before,.md-typeset .check>.admonition-title::before,.md-typeset .check>summary::before{background-color:#00c853;mask-image:var(--md-admonition-icon--success)}.md-typeset .admonition.question,.md-typeset details.question,.md-typeset .admonition.faq,.md-typeset details.faq,.md-typeset .admonition.help,.md-typeset details.help{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary,.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary{background-color:rgba(100,221,23,.1)}.md-typeset .question>.admonition-title::before,.md-typeset .question>summary::before,.md-typeset .faq>.admonition-title::before,.md-typeset .faq>summary::before,.md-typeset .help>.admonition-title::before,.md-typeset .help>summary::before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question)}.md-typeset .admonition.warning,.md-typeset details.warning,.md-typeset .admonition.attention,.md-typeset details.attention,.md-typeset .admonition.caution,.md-typeset details.caution{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary,.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary{background-color:rgba(255,145,0,.1)}.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before,.md-typeset .attention>.admonition-title::before,.md-typeset .attention>summary::before,.md-typeset .caution>.admonition-title::before,.md-typeset .caution>summary::before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning)}.md-typeset .admonition.failure,.md-typeset details.failure,.md-typeset .admonition.missing,.md-typeset details.missing,.md-typeset .admonition.fail,.md-typeset details.fail{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary,.md-typeset .fail>.admonition-title,.md-typeset .fail>summary{background-color:rgba(255,82,82,.1)}.md-typeset .failure>.admonition-title::before,.md-typeset .failure>summary::before,.md-typeset .missing>.admonition-title::before,.md-typeset .missing>summary::before,.md-typeset .fail>.admonition-title::before,.md-typeset .fail>summary::before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure)}.md-typeset .admonition.danger,.md-typeset details.danger,.md-typeset .admonition.error,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1)}.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before,.md-typeset .error>.admonition-title::before,.md-typeset .error>summary::before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1)}.md-typeset .bug>.admonition-title::before,.md-typeset .bug>summary::before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug)}.md-typeset .admonition.example,.md-typeset details.example{border-color:#651fff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(101,31,255,.1)}.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#651fff;mask-image:var(--md-admonition-icon--example)}.md-typeset .admonition.quote,.md-typeset details.quote,.md-typeset .admonition.cite,.md-typeset details.cite{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary,.md-typeset .cite>.admonition-title,.md-typeset .cite>summary{background-color:rgba(158,158,158,.1)}.md-typeset .quote>.admonition-title::before,.md-typeset .quote>summary::before,.md-typeset .cite>.admonition-title::before,.md-typeset .cite>summary::before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote)}.codehilite .o,.highlight .o{color:inherit}.codehilite .ow,.highlight .ow{color:inherit}.codehilite .ge,.highlight .ge{color:#000}.codehilite .gr,.highlight .gr{color:#a00}.codehilite .gh,.highlight .gh{color:#999}.codehilite .go,.highlight .go{color:#888}.codehilite .gp,.highlight .gp{color:#555}.codehilite .gs,.highlight .gs{color:inherit}.codehilite .gu,.highlight .gu{color:#aaa}.codehilite .gt,.highlight .gt{color:#a00}.codehilite .gd,.highlight .gd{background-color:#fdd}.codehilite .gi,.highlight .gi{background-color:#dfd}.codehilite .k,.highlight .k{color:#3b78e7}.codehilite .kc,.highlight .kc{color:#a71d5d}.codehilite .kd,.highlight .kd{color:#3b78e7}.codehilite .kn,.highlight .kn{color:#3b78e7}.codehilite .kp,.highlight .kp{color:#a71d5d}.codehilite .kr,.highlight .kr{color:#3e61a2}.codehilite .kt,.highlight .kt{color:#3e61a2}.codehilite .c,.highlight .c{color:#999}.codehilite .cm,.highlight .cm{color:#999}.codehilite .cp,.highlight .cp{color:#666}.codehilite .c1,.highlight .c1{color:#999}.codehilite .ch,.highlight .ch{color:#999}.codehilite .cs,.highlight .cs{color:#999}.codehilite .na,.highlight .na{color:#c2185b}.codehilite .nb,.highlight .nb{color:#c2185b}.codehilite .bp,.highlight .bp{color:#3e61a2}.codehilite .nc,.highlight .nc{color:#c2185b}.codehilite .no,.highlight .no{color:#3e61a2}.codehilite .nd,.highlight .nd{color:#666}.codehilite .ni,.highlight .ni{color:#666}.codehilite .ne,.highlight .ne{color:#c2185b}.codehilite .nf,.highlight .nf{color:#c2185b}.codehilite .nl,.highlight .nl{color:#3b5179}.codehilite .nn,.highlight .nn{color:#ec407a}.codehilite .nt,.highlight .nt{color:#3b78e7}.codehilite .nv,.highlight .nv{color:#3e61a2}.codehilite .vc,.highlight .vc{color:#3e61a2}.codehilite .vg,.highlight .vg{color:#3e61a2}.codehilite .vi,.highlight .vi{color:#3e61a2}.codehilite .nx,.highlight .nx{color:#ec407a}.codehilite .m,.highlight .m{color:#e74c3c}.codehilite .mf,.highlight .mf{color:#e74c3c}.codehilite .mh,.highlight .mh{color:#e74c3c}.codehilite .mi,.highlight .mi{color:#e74c3c}.codehilite .il,.highlight .il{color:#e74c3c}.codehilite .mo,.highlight .mo{color:#e74c3c}.codehilite .s,.highlight .s{color:#0d904f}.codehilite .sb,.highlight .sb{color:#0d904f}.codehilite .sc,.highlight .sc{color:#0d904f}.codehilite .sd,.highlight .sd{color:#999}.codehilite .s2,.highlight .s2{color:#0d904f}.codehilite .se,.highlight .se{color:#183691}.codehilite .sh,.highlight .sh{color:#183691}.codehilite .si,.highlight .si{color:#183691}.codehilite .sx,.highlight .sx{color:#183691}.codehilite .sr,.highlight .sr{color:#009926}.codehilite .s1,.highlight .s1{color:#0d904f}.codehilite .ss,.highlight .ss{color:#0d904f}.codehilite .err,.highlight .err{color:#a61717}.codehilite .w,.highlight .w{color:transparent}.codehilite .hll,.highlight .hll{display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em;background-color:rgba(255,235,59,.5)}.codehilitetable,.highlighttable{display:block;overflow:hidden}.codehilitetable tbody,.highlighttable tbody,.codehilitetable td,.highlighttable td{display:block;padding:0}.codehilitetable tr,.highlighttable tr{display:flex}.codehilitetable pre,.highlighttable pre{margin:0}.codehilitetable .linenos,.highlighttable .linenos{padding:.525rem 1.1764705882em;padding-right:0;font-size:.85em;background-color:var(--md-code-bg-color);user-select:none}.codehilitetable .linenodiv,.highlighttable .linenodiv{padding-right:.5882352941em;box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest)}.codehilitetable .linenodiv pre,.highlighttable .linenodiv pre{color:var(--md-default-fg-color--lighter);text-align:right}.codehilitetable .code,.highlighttable .code{flex:1;overflow:hidden}.md-typeset .codehilitetable,.md-typeset .highlighttable{margin:1em 0;direction:ltr;border-radius:.1rem}.md-typeset .codehilitetable code,.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width: 44.9375em){.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -0.8rem}.md-typeset>.codehilite .hll,.md-typeset>.highlight .hll{margin:0 -0.8rem;padding:0 .8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{border-radius:0}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -0.8rem;border-radius:0}.md-typeset>.codehilitetable .hll,.md-typeset>.highlighttable .hll{margin:0 -0.8rem;padding:0 .8rem}}:root{--md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\")}.md-typeset [id^=\"fnref:\"]{display:inline-block}.md-typeset [id^=\"fnref:\"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^=\"fn:\"]::before{display:none;height:0;content:\"\"}.md-typeset [id^=\"fn:\"]:target::before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{transition:color 125ms}.md-typeset .footnote li:target{color:var(--md-default-fg-color)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-ref{display:inline-block;pointer-events:initial}.md-typeset .footnote-backref{display:inline-block;color:var(--md-text-link-color);font-size:0;vertical-align:text-bottom;transform:translateX(0.25rem);opacity:0;transition:color 250ms,transform 250ms 250ms,opacity 125ms 250ms}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-0.25rem)}.md-typeset .footnote-backref::before{display:inline-block;width:.8rem;height:.8rem;background-color:currentColor;mask-image:var(--md-footnotes-icon);content:\"\"}[dir=rtl] .md-typeset .footnote-backref::before svg{transform:scaleX(-1)}@media print{.md-typeset .footnote-backref{color:var(--md-text-link-color);transform:translateX(0);opacity:1}}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;visibility:hidden;opacity:0;transition:color 250ms,visibility 0ms 500ms,opacity 125ms}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:initial}html body .md-typeset .headerlink{color:var(--md-default-fg-color--lighter)}@media print{.md-typeset .headerlink{display:none}}.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink,.md-typeset .headerlink:focus{visibility:visible;opacity:1;transition:color 250ms,visibility 0ms,opacity 125ms}.md-typeset :target>.headerlink,.md-typeset .headerlink:focus,.md-typeset .headerlink:hover{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}.md-typeset h3[id]:target,.md-typeset h2[id]:target,.md-typeset h1[id]:target{scroll-margin-top:initial}.md-typeset h3[id]::before,.md-typeset h2[id]::before,.md-typeset h1[id]::before{display:block;margin-top:-0.4rem;padding-top:.4rem;content:\"\"}.md-typeset h3[id]:target::before,.md-typeset h2[id]:target::before,.md-typeset h1[id]:target::before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h4[id]:target{scroll-margin-top:initial}.md-typeset h4[id]::before{display:block;margin-top:-0.45rem;padding-top:.45rem;content:\"\"}.md-typeset h4[id]:target::before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h6[id]:target,.md-typeset h5[id]:target{scroll-margin-top:initial}.md-typeset h6[id]::before,.md-typeset h5[id]::before{display:block;margin-top:-0.6rem;padding-top:.6rem;content:\"\"}.md-typeset h6[id]:target::before,.md-typeset h5[id]:target::before{margin-top:-3.6rem;padding-top:3.6rem}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;touch-action:auto}@media screen and (max-width: 44.9375em){.md-typeset>p>.MJXc-display{margin:.75em -0.8rem;padding:.25em .8rem}}.md-typeset .MathJax_CHTML{outline:0}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset .critic.comment{padding:0 .25em;border-radius:.1rem;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd}.md-typeset ins.critic{background-color:#dfd}.md-typeset .critic.comment{color:#999}.md-typeset .critic.comment::before{content:\"/* \"}.md-typeset .critic.comment::after{content:\" */\"}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;overflow:auto;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}:root{--md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\")}.md-typeset details{display:block;padding-top:0;overflow:visible}.md-typeset details[open]>summary::after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom-right-radius:.1rem}.md-typeset details::after{display:table;content:\"\"}.md-typeset summary{display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem;border-top-right-radius:.1rem;cursor:pointer}[dir=rtl] .md-typeset summary{padding:.4rem 2rem .4rem 1.8rem}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary::after{position:absolute;top:.4rem;right:.4rem;width:1rem;height:1rem;background-color:currentColor;mask-image:var(--md-details-icon);transform:rotate(0deg);transition:transform 250ms;content:\"\"}[dir=rtl] .md-typeset summary::after{right:initial;left:.4rem;transform:rotate(180deg)}.md-typeset img.emojione,.md-typeset img.twemoji,.md-typeset img.gemoji{width:1.125em;max-height:100%;vertical-align:-15%}.md-typeset span.twemoji{display:inline-block;height:1.125em;vertical-align:text-top}.md-typeset span.twemoji svg{width:1.125em;max-height:100%;fill:currentColor}.highlight [data-linenos]::before{position:sticky;left:-1.1764705882em;float:left;margin-right:1.1764705882em;margin-left:-1.1764705882em;padding-left:1.1764705882em;color:var(--md-default-fg-color--lighter);background-color:var(--md-code-bg-color);box-shadow:inset -0.05rem 0 var(--md-default-fg-color--lightest);content:attr(data-linenos);user-select:none}.md-typeset .tabbed-content{display:none;order:99;width:100%;box-shadow:0 -0.05rem var(--md-default-fg-color--lightest)}.md-typeset .tabbed-content>.codehilite:only-child pre,.md-typeset .tabbed-content>.codehilitetable:only-child,.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child{margin:0}.md-typeset .tabbed-content>.codehilite:only-child pre>code,.md-typeset .tabbed-content>.codehilitetable:only-child>code,.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{position:relative;display:flex;flex-wrap:wrap;margin:1em 0;border-radius:.1rem}.md-typeset .tabbed-set>input{display:none}.md-typeset .tabbed-set>input:checked+label{color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>label{z-index:1;width:auto;padding:.6rem 1.25em .5rem;color:var(--md-default-fg-color--light);font-weight:700;font-size:.64rem;border-bottom:.1rem solid transparent;cursor:pointer;transition:color 250ms}html .md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" );--md-tasklist-icon--checked: svg-load( \"@primer/octicons/build/svg/check-circle-fill-24.svg\" )}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:initial}.md-typeset .task-list-control .task-list-indicator::before{position:absolute;top:.15em;left:-1.5em;width:1.25em;height:1.25em;background-color:var(--md-default-fg-color--lightest);mask-image:var(--md-tasklist-icon);content:\"\"}[dir=rtl] .md-typeset .task-list-control .task-list-indicator::before{right:-1.5em;left:initial}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#00e676;mask-image:var(--md-tasklist-icon--checked)}.md-typeset .task-list-control [type=checkbox]{z-index:-1;opacity:0}","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable no-duplicate-selectors\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Enforce correct box model\nhtml {\n box-sizing: border-box;\n}\n\n// All elements shall inherit the document default\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n// Prevent adjustments of font size after orientation changes in IE and iOS\nhtml {\n text-size-adjust: none;\n}\n\n// Remove margin in all browsers\nbody {\n margin: 0;\n}\n\n// Reset horizontal rules in FF\nhr {\n box-sizing: content-box;\n overflow: visible;\n}\n\n// Reset tap outlines on iOS and Android\na,\nbutton,\nlabel,\ninput {\n -webkit-tap-highlight-color: transparent;\n}\n\n// Reset link styles\na {\n color: inherit;\n text-decoration: none;\n}\n\n// Normalize font-size in all browsers\nsmall {\n font-size: 80%;\n}\n\n// Prevent subscript and superscript from affecting line-height\nsub,\nsup {\n position: relative;\n font-size: 80%;\n line-height: 0;\n vertical-align: baseline;\n}\n\n// Correct subscript offset\nsub {\n bottom: -0.25em;\n}\n\n// Correct superscript offset\nsup {\n top: -0.5em;\n}\n\n// Remove borders on images\nimg {\n border-style: none;\n}\n\n// Reset table styles\ntable {\n border-collapse: separate;\n border-spacing: 0;\n}\n\n// Reset table cell styles\ntd,\nth {\n font-weight: normal; // stylelint-disable-line\n vertical-align: top;\n}\n\n// Reset button styles\nbutton {\n margin: 0;\n padding: 0;\n font-size: inherit;\n background: transparent;\n border: 0;\n}\n\n// Reset input styles\ninput {\n border: 0;\n outline: 0;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Color definitions\n:root {\n\n // Default color shades\n --md-default-fg-color: hsla(0, 0%, 0%, 0.87);\n --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);\n --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);\n --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);\n --md-default-bg-color: hsla(0, 0%, 100%, 1);\n --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);\n --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);\n\n // Primary color shades\n --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);\n --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-300)}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);\n --md-primary-bg-color: hsla(0, 0%, 100%, 1);\n --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Accent color shades\n --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);\n --md-accent-bg-color: hsla(0, 0%, 100%, 1);\n --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);\n\n // Light theme (default)\n > * {\n\n // Code color shades\n --md-code-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-fg-color: hsla(200, 18%, 26%, 1);\n\n // Text color shades\n --md-text-color: var(--md-default-fg-color);\n --md-text-link-color: var(--md-primary-fg-color);\n\n // Admonition color shades\n --md-admonition-bg-color: var(--md-default-bg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Footer color shades\n --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);\n --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);\n --md-footer-fg-color: hsla(0, 0%, 100%, 1);\n --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);\n --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon\n.md-icon {\n\n // SVG defaults\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: 0 auto;\n fill: currentColor;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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: font definitions\n// ----------------------------------------------------------------------------\n\n// Enable font-smoothing in Webkit and FF\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Default fonts\nbody,\ninput {\n color: var(--md-text-color);\n font-feature-settings: \"kern\", \"liga\";\n font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;\n}\n\n// Proportionally spaced fonts\ncode,\npre,\nkbd {\n color: var(--md-text-color);\n font-feature-settings: \"kern\";\n font-family: SFMono-Regular, Consolas, Menlo, monospace;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: typesetted content\n// ----------------------------------------------------------------------------\n\n// Content that is typeset - if possible, all margins, paddings and font sizes\n// should be set in ems, so nested blocks (e.g. Admonition) render correctly,\n// except headlines that should only appear on the top level and need to have\n// consistent spacing due to layout constraints.\n.md-typeset {\n font-size: ms(0);\n line-height: 1.6;\n color-adjust: exact;\n\n // Default spacing\n p,\n ul,\n ol,\n blockquote {\n margin: 1em 0;\n }\n\n // 1st level headline\n h1 {\n margin: 0 0 px2rem(40px);\n color: var(--md-default-fg-color--light);\n font-weight: 300;\n font-size: ms(3);\n line-height: 1.3;\n letter-spacing: -0.01em;\n }\n\n // 2nd level headline\n h2 {\n margin: px2rem(40px) 0 px2rem(16px);\n font-weight: 300;\n font-size: ms(2);\n line-height: 1.4;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline\n h3 {\n margin: px2rem(32px) 0 px2rem(16px);\n font-weight: 400;\n font-size: ms(1);\n line-height: 1.5;\n letter-spacing: -0.01em;\n }\n\n // 3rd level headline following an 2nd level headline\n h2 + h3 {\n margin-top: px2rem(16px);\n }\n\n // 4th level headline\n h4 {\n margin: px2rem(16px) 0;\n font-weight: 700;\n font-size: ms(0);\n letter-spacing: -0.01em;\n }\n\n // 5th and 6th level headline\n h5,\n h6 {\n margin: px2rem(16px) 0;\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n letter-spacing: -0.01em;\n }\n\n // Overrides for 5th level headline\n h5 {\n text-transform: uppercase;\n }\n\n // Horizontal separators\n hr {\n margin: 1.5em 0;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--lighter);\n }\n\n // Links\n a {\n color: var(--md-text-link-color);\n word-break: break-word;\n\n // Also enable color transition on pseudo elements\n &,\n &::before {\n transition: color 125ms;\n }\n\n // Focused or hover links\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Code blocks\n code,\n pre,\n kbd {\n color: var(--md-code-fg-color);\n direction: ltr;\n\n // Wrap text and hide scollbars\n @media print {\n white-space: pre-wrap;\n }\n }\n\n // Inline code blocks\n code {\n padding: 0 px2em(4px, 13.6px);\n font-size: px2em(13.6px);\n word-break: break-word;\n background-color: var(--md-code-bg-color);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Disable containing block inside headlines\n h1 code,\n h2 code,\n h3 code,\n h4 code,\n h5 code,\n h6 code {\n margin: initial;\n padding: initial;\n background-color: transparent;\n box-shadow: none;\n }\n\n // Ensure link color in code blocks\n a > code {\n color: currentColor;\n }\n\n // Unformatted code blocks\n pre {\n position: relative;\n margin: 1em 0;\n line-height: 1.4;\n\n // Actual container with code, overflowing\n > code {\n display: block;\n margin: 0;\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n overflow: auto;\n word-break: normal;\n box-shadow: none;\n box-decoration-break: slice;\n touch-action: auto;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Stretch top-level containers\n > pre {\n margin: 1em px2rem(-16px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n }\n\n // Keystrokes\n kbd {\n display: inline-block;\n padding: 0 px2em(8px, 12px);\n font-size: px2em(12px);\n line-height: 1.5;\n vertical-align: text-top;\n word-break: break-word;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(2px) 0 px2rem(1px) var(--md-default-fg-color--lighter),\n 0 px2rem(2px) 0 var(--md-default-fg-color--lighter),\n inset 0 px2rem(-2px) px2rem(4px) var(--md-default-bg-color);\n }\n\n // Text highlighting marker\n mark {\n padding: 0 px2em(4px, 16px);\n word-break: break-word;\n background-color: transparentize($clr-yellow-500, 0.5);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Abbreviations\n abbr {\n text-decoration: none;\n border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);\n cursor: help;\n }\n\n // Small text\n small {\n opacity: 0.75;\n }\n\n // Superscript and subscript\n sup,\n sub {\n margin-left: px2em(1px, 12.8px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(1px, 12.8px);\n margin-left: initial;\n }\n }\n\n // Blockquotes, possibly nested\n blockquote {\n padding-left: px2rem(12px);\n color: var(--md-default-fg-color--light);\n border-left: px2rem(4px) solid var(--md-default-fg-color--lighter);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: initial;\n border-right: px2rem(4px) solid var(--md-default-fg-color--lighter);\n border-left: initial;\n }\n }\n\n // Unordered lists\n ul {\n list-style-type: disc;\n }\n\n // Unordered and ordered lists\n ul,\n ol {\n margin-left: px2em(10px, 16px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n\n // Nested ordered lists\n ol {\n list-style-type: lower-alpha;\n\n // Triply nested ordered list\n ol {\n list-style-type: lower-roman;\n }\n }\n\n // List elements\n li {\n margin-bottom: 0.5em;\n margin-left: px2em(20px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(20px, 16px);\n margin-left: initial;\n }\n\n // Decrease vertical spacing\n p,\n blockquote {\n margin: 0.5em 0;\n }\n\n // Remove margin on last element\n &:last-child {\n margin-bottom: 0;\n }\n\n // Nested lists\n ul,\n ol {\n margin: 0.5em 0 0.5em px2em(10px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(10px, 16px);\n margin-left: initial;\n }\n }\n }\n }\n\n // Definition lists\n dd {\n margin: 1em 0 1.5em px2em(30px, 16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2em(30px, 16px);\n margin-left: initial;\n }\n }\n\n // Limit width to container, scale height proportionally\n img,\n svg {\n max-width: 100%;\n height: auto;\n }\n\n // Limit width to container\n iframe {\n max-width: 100%;\n }\n\n // Data tables\n table:not([class]) {\n display: inline-block;\n max-width: 100%;\n overflow: auto;\n font-size: ms(-1);\n background: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n touch-action: auto;\n\n // Due to margin collapse because of the necessary inline-block hack, we\n // cannot increase the bottom margin on the table, so we just increase the\n // top margin on the following element\n & + * {\n margin-top: 1.5em;\n }\n\n // Table headings and cells\n th:not([align]),\n td:not([align]) {\n text-align: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n text-align: right;\n }\n }\n\n // Table headings\n th {\n min-width: px2rem(100px);\n padding: px2rem(12px) px2rem(16px);\n color: var(--md-default-bg-color);\n vertical-align: top;\n background-color: var(--md-default-fg-color--light);\n\n // Links in table headings\n a {\n color: inherit;\n }\n }\n\n // Table cells\n td {\n padding: px2rem(12px) px2rem(16px);\n vertical-align: top;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n }\n\n // Table rows\n tr {\n transition: background-color 125ms;\n\n // Add background on hover\n &:hover {\n background-color: rgba(0, 0, 0, 0.035);\n box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;\n }\n\n // Remove top border on first row\n &:first-child td {\n border-top: 0;\n }\n }\n\n\n // Do not wrap links in tables\n a {\n word-break: normal;\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n margin: 1em px2rem(-16px);\n overflow-x: auto;\n touch-action: auto;\n }\n\n // Data table wrapper, in case JavaScript is available\n &__table {\n display: inline-block;\n margin-bottom: 0.5em;\n padding: 0 px2rem(16px);\n\n // Data tables\n table {\n display: table;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 != null {\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) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\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 @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 @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~\";\n\n// ----------------------------------------------------------------------------\n// Rules: base grid and containers\n// ----------------------------------------------------------------------------\n\n// Stretch container to viewport and set base font-sizefor simple calculations\n// based on relative ems (rems)\nhtml {\n height: 100%;\n // Hack: some browsers on some operating systems don't account for scroll\n // bars when firing media queries, so we need to do this for safety. This\n // currently impacts the table of contents component between 1220 and 1234px\n // and is to current knowledge not fixable.\n overflow-x: hidden;\n // Hack: normally, we would set the base font-size to 62.5%, so we can base\n // all calculations on 10px, but Chromium and Chrome define a minimal font\n // size of 12 if the system language is set to Chinese. For this reason we\n // just double the font-size, set it to 20px which seems to do the trick.\n //\n // See https://github.com/squidfunk/mkdocs-material/issues/911\n font-size: 125%;\n\n // [screen medium +]: Set base font-size to 11px\n @include break-from-device(screen medium) {\n font-size: 137.50%;\n }\n\n // [screen large +]: Set base font-size to 12px\n @include break-from-device(screen large) {\n font-size: 150%;\n }\n}\n\n// Stretch body to container and leave room for footer\nbody {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n // Hack: reset font-size to 10px, so the spacing for all inline elements is\n // correct again. Otherwise the spacing would be based on 20px.\n font-size: 0.5rem; // stylelint-disable-line unit-whitelist\n background-color: var(--md-default-bg-color);\n\n // [tablet portrait -]: Lock body to disable scroll bubbling\n @include break-to-device(tablet portrait) {\n\n // Lock body to viewport height (e.g. in search mode)\n &[data-md-state=\"lock\"] {\n position: fixed;\n }\n }\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// Horizontal separators\nhr {\n display: block;\n height: px2rem(1px);\n padding: 0;\n border: 0;\n}\n\n// Template-wide grid\n.md-grid {\n max-width: px2rem(1220px);\n margin-right: auto;\n margin-left: auto;\n}\n\n// Content wrapper\n.md-container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n // Hack: we must not use flex, or Firefox will only print the first page\n // see https://mzl.la/39DgR3m\n @media print {\n display: block;\n }\n}\n\n// The main content should stretch to maximum height in the table\n.md-main {\n flex-grow: 1;\n\n // Increase top spacing of content area to give typography more room\n &__inner {\n display: flex;\n height: 100%;\n margin-top: px2rem(24px + 6px);\n }\n}\n\n// Apply ellipsis in case of overflowing text\n.md-ellipsis {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// ----------------------------------------------------------------------------\n// Rules: navigational elements\n// ----------------------------------------------------------------------------\n\n// Toggle checkbox\n.md-toggle {\n display: none;\n}\n\n// Overlay below expanded drawer\n.md-overlay {\n position: fixed;\n top: 0;\n z-index: 3;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n opacity: 0;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // [tablet -]: Trigger overlay\n @include break-to-device(tablet) {\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: skip link\n// ----------------------------------------------------------------------------\n\n// Skip link\n.md-skip {\n position: fixed;\n // Hack: if we don't set the negative z-index, the skip link will induce the\n // creation of new layers when code blocks are near the header on scrolling\n z-index: -1;\n margin: px2rem(10px);\n padding: px2rem(6px) px2rem(10px);\n color: var(--md-default-bg-color);\n font-size: ms(-1);\n background-color: var(--md-default-fg-color);\n border-radius: px2rem(2px);\n transform: translateY(px2rem(8px));\n opacity: 0;\n\n // Show skip link on focus\n &:focus {\n z-index: 10;\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 175ms 75ms;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: print styles\n// ----------------------------------------------------------------------------\n\n// Add margins to page\n@page {\n margin: 25mm;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 overflow: auto;\n background-color: var(--md-default-fg-color);\n\n // Actual content\n &__inner {\n margin: px2rem(12px) auto;\n padding: 0 px2rem(16px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Button\n .md-button {\n display: inline-block;\n padding: px2em(10px, 16px) px2em(32px, 16px);\n color: var(--md-primary-fg-color);\n font-weight: 700;\n border: px2rem(2px) solid currentColor;\n border-radius: px2rem(2px);\n transition:\n color 125ms,\n background-color 125ms,\n border-color 125ms;\n\n // Primary button\n &--primary {\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n border-color: var(--md-primary-fg-color);\n }\n\n // Focused or hovered button\n &:focus,\n &:hover {\n color: var(--md-accent-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Copy to clipboard\n.md-clipboard {\n position: absolute;\n top: px2rem(8px);\n right: px2em(8px, 16px);\n z-index: 1;\n width: px2em(24px, 16px);\n height: px2em(24px, 16px);\n color: var(--md-default-fg-color--lightest);\n border-radius: px2rem(2px);\n cursor: pointer;\n transition: color 125ms;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // Slightly smaller icon\n svg {\n width: px2em(18px, 16px);\n height: px2em(18px, 16px);\n }\n\n // Show on container hover\n pre:hover & {\n color: var(--md-default-fg-color--light);\n }\n\n // Focused or hovered icon\n pre &:focus,\n pre &:hover {\n color: var(--md-accent-fg-color);\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 container\n.md-content {\n flex: 1;\n max-width: 100%;\n\n // [tablet landscape]: Decrease horizontal width\n @include break-at-device(tablet landscape) {\n max-width: calc(100% - #{px2rem(242px)});\n }\n\n // [screen +]: Decrease horizontal width\n @include break-from-device(screen) {\n max-width: calc(100% - #{px2rem(242px)} * 2);\n }\n\n // Define spacing\n &__inner {\n margin: 0 px2rem(16px) px2rem(24px);\n padding-top: px2rem(12px);\n\n // [screen +]: Increase horizontal spacing\n @include break-from-device(screen) {\n margin-right: px2rem(24px);\n margin-left: px2rem(24px);\n }\n\n // Hack: add pseudo element for spacing, as the overflow of the content\n // container may not be hidden due to an imminent offset error on targets\n &::before {\n display: block;\n height: px2rem(8px);\n content: \"\";\n }\n\n // Hack: remove bottom spacing of last element, due to margin collapse\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n // Button next to the title\n &__button {\n float: right;\n margin: px2rem(8px) 0;\n margin-left: px2rem(8px);\n padding: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n margin-right: px2rem(8px);\n margin-left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Override default link color for icons\n .md-typeset & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Align text with icon\n svg {\n display: inline;\n vertical-align: top;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Dialog rendered as snackbar\n.md-dialog {\n @include z-depth(2);\n\n position: fixed;\n right: px2rem(16px);\n bottom: px2rem(16px);\n left: initial;\n z-index: 2;\n display: block;\n min-width: px2rem(222px);\n padding: px2rem(8px) px2rem(12px);\n color: var(--md-default-bg-color);\n font-size: px2rem(14px);\n background: var(--md-default-fg-color);\n border: none;\n border-radius: px2rem(2px);\n transform: translateY(100%);\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 400ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n\n // Show open dialog\n &[data-md-state=\"open\"] {\n transform: translateY(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),\n opacity 400ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n","//\n// Name: Material Shadows\n// Description: Mixins for Material Design Shadows.\n// Version: 3.0.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-shadows\n//\n// twitter: @mrmlnc\n//\n// ------------------------------------\n\n\n// Mixins\n// ------------------------------------\n\n@mixin z-depth-transition() {\n transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);\n}\n\n@mixin z-depth-focus() {\n box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36);\n}\n\n@mixin z-depth-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),\n 0 1px 5px 0 rgba(0, 0, 0, .12),\n 0 3px 1px -2px rgba(0, 0, 0, .2);\n}\n\n@mixin z-depth-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),\n 0 1px 8px 0 rgba(0, 0, 0, .12),\n 0 3px 3px -2px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14),\n 0 1px 10px 0 rgba(0, 0, 0, .12),\n 0 2px 4px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14),\n 0 1px 18px 0 rgba(0, 0, 0, .12),\n 0 3px 5px -1px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14),\n 0 3px 14px 2px rgba(0, 0, 0, .12),\n 0 5px 5px -3px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14),\n 0 6px 30px 5px rgba(0, 0, 0, .12),\n 0 8px 10px -5px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14),\n 0 24px 38px 3px rgba(0, 0, 0, .12),\n 0 11px 15px -7px rgba(0, 0, 0, .4);\n}\n\n@mixin z-depth($dp: 2) {\n @if $dp == 2 {\n @include z-depth-2dp();\n } @else if $dp == 3 {\n @include z-depth-3dp();\n } @else if $dp == 4 {\n @include z-depth-4dp();\n } @else if $dp == 6 {\n @include z-depth-6dp();\n } @else if $dp == 8 {\n @include z-depth-8dp();\n } @else if $dp == 16 {\n @include z-depth-16dp();\n } @else if $dp == 24 {\n @include z-depth-24dp();\n }\n}\n\n\n// Class generator\n// ------------------------------------\n\n@mixin z-depth-classes($transition: false, $focus: false) {\n @if $transition == true {\n &-transition {\n @include z-depth-transition();\n }\n }\n\n @if $focus == true {\n &-focus {\n @include z-depth-focus();\n }\n }\n\n // The available values for the shadow depth\n @each $depth in 2, 3, 4, 6, 8, 16, 24 {\n &-#{$depth}dp {\n @include z-depth($depth);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application header (stays always on top)\n.md-header {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\n height: px2rem(48px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n // Hack: reduce jitter by adding a transparent box shadow of the same size\n // so the size of the layer doesn't change during animation\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Always hide shadow, in case JavaScript is not available\n .no-js & {\n box-shadow: none;\n transition: none;\n }\n\n // Show and animate shadow\n &[data-md-state=\"shadow\"] {\n box-shadow:\n 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),\n 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);\n transition:\n color 250ms,\n background-color 250ms,\n box-shadow 250ms;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within header\n.md-header-nav {\n display: flex;\n padding: 0 px2rem(4px);\n\n // Icon buttons\n &__button {\n position: relative;\n z-index: 1;\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n cursor: pointer;\n transition: opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Focused or hovered icon\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Logo\n &.md-logo {\n margin: px2rem(4px);\n padding: px2rem(8px);\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n fill: currentColor;\n }\n }\n\n // Hide search icon, if JavaScript is not available.\n .no-js &[for=\"__search\"] {\n display: none;\n }\n\n // [tablet landscape +]: Hide the search button\n @include break-from-device(tablet landscape) {\n\n // Search button\n &[for=\"__search\"] {\n display: none;\n }\n }\n\n // [tablet -]: Hide the logo\n @include break-to-device(tablet) {\n\n // Logo\n &.md-logo {\n display: none;\n }\n }\n\n // [screen +]: Hide the menu button\n @include break-from-device(screen) {\n\n // Menu button\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n }\n\n // Header topics\n &__topic {\n position: absolute;\n width: 100%;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n\n // Page title\n & + & {\n z-index: -1;\n transform: translateX(px2rem(25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-25px));\n }\n }\n\n // Induce ellipsis, if no JavaScript is available\n .no-js & {\n position: initial;\n }\n\n // Hide page title as it is invisible anyway and will overflow the header\n .no-js & + & {\n display: none;\n }\n }\n\n // Header title - set line height to match icon for correct alignment\n &__title {\n flex-grow: 1;\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n\n // Show page title\n &[data-md-state=\"active\"] .md-header-nav__topic {\n z-index: -1;\n transform: translateX(px2rem(-25px));\n opacity: 0;\n transition:\n transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(25px));\n }\n\n // Page title\n & + .md-header-nav__topic {\n z-index: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: initial;\n }\n }\n\n // Patch ellipsis\n > .md-header-nav__ellipsis {\n position: relative;\n width: 100%;\n height: 100%;\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n\n // [tablet landscape +]: Show the reposistory from tablet\n @include break-from-device(tablet landscape) {\n display: block;\n width: px2rem(234px);\n max-width: px2rem(234px);\n margin-left: px2rem(20px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(20px);\n margin-left: initial;\n }\n }\n\n // [screen +]: Increase spacing of search bar\n @include break-from-device(screen) {\n margin-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(28px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Hero teaser\n.md-hero {\n overflow: hidden;\n color: var(--md-primary-bg-color);\n font-size: ms(1);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Inner wrapper\n &__inner {\n margin-top: px2rem(20px);\n padding: px2rem(16px) px2rem(16px) px2rem(8px);\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n transition-delay: 100ms;\n\n // [tablet -]: Compensate for missing tabs\n @include break-to-device(tablet) {\n margin-top: px2rem(48px);\n margin-bottom: px2rem(24px);\n }\n\n // Fade-out tabs background upon scrolling\n [data-md-state=\"hidden\"] & {\n transform: translateY(px2rem(12.5px));\n opacity: 0;\n transition:\n transform 0ms 400ms,\n opacity 100ms 0ms;\n pointer-events: none;\n }\n\n // Adjust bottom spacing if there are no tabs\n .md-hero--expand & {\n margin-bottom: px2rem(24px);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Application footer\n.md-footer {\n color: var(--md-footer-fg-color);\n background-color: var(--md-footer-bg-color);\n\n // Hide for print\n @media print {\n display: none;\n }\n}\n\n// Navigation within footer\n.md-footer-nav {\n\n // Set spacing\n &__inner {\n padding: px2rem(4px);\n overflow: auto;\n }\n\n // Links to previous and next page\n &__link {\n display: flex;\n padding-top: px2rem(28px);\n padding-bottom: px2rem(8px);\n transition: opacity 250ms;\n\n // [tablet +]: Set proportional width\n @include break-from-device(tablet) {\n width: 50%;\n }\n\n // Focused or hovered links\n &:focus,\n &:hover {\n opacity: 0.7;\n }\n\n // Link to previous page\n &--prev {\n float: left;\n width: 25%;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // Title\n .md-footer-nav__title {\n\n // [mobile -]: Hide title for previous page\n @include break-to-device(mobile) {\n display: none;\n }\n }\n }\n\n // Link to next page\n &--next {\n float: right;\n width: 75%;\n text-align: right;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n text-align: left;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n }\n }\n\n // Link title - set line height to match icon for correct alignment\n &__title {\n position: relative;\n flex-grow: 1;\n max-width: calc(100% - #{px2rem(48px)});\n padding: 0 px2rem(20px);\n font-size: px2rem(18px);\n line-height: px2rem(48px);\n }\n\n // Link button\n &__button {\n margin: px2rem(4px);\n padding: px2rem(8px);\n }\n\n // Link direction\n &__direction {\n position: absolute;\n right: 0;\n left: 0;\n margin-top: px2rem(-20px);\n padding: 0 px2rem(20px);\n font-size: ms(-1);\n opacity: 0.7;\n }\n}\n\n// Non-navigational information\n.md-footer-meta {\n background-color: var(--md-footer-bg-color--dark);\n\n // Set spacing\n &__inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: px2rem(4px);\n }\n\n // Use a decent color for non-hovered links and ensure specificity\n html &.md-typeset a {\n color: var(--md-footer-fg-color--light);\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-footer-fg-color);\n }\n }\n}\n\n// Copyright and theme information\n.md-footer-copyright {\n width: 100%;\n margin: auto px2rem(12px);\n padding: px2rem(8px) 0;\n color: var(--md-footer-fg-color--lighter);\n font-size: ms(-1);\n\n // [tablet portrait +]: Show next to social media links\n @include break-from-device(tablet portrait) {\n width: auto;\n }\n\n // Highlight copyright information\n &__highlight {\n color: var(--md-footer-fg-color--light);\n }\n}\n\n// Social links\n.md-footer-social {\n margin: 0 px2rem(8px);\n padding: px2rem(4px) 0 px2rem(12px);\n\n // [tablet portrait +]: Show next to copyright information\n @include break-from-device(tablet portrait) {\n padding: px2rem(12px) 0;\n }\n\n // Link with icon\n &__link {\n display: inline-block;\n width: px2rem(32px);\n height: px2rem(32px);\n text-align: center;\n\n // Adjust line-height to match height for correct alignment\n &::before {\n line-height: 1.9;\n }\n\n // Social icon\n svg {\n max-height: px2rem(16px);\n vertical-align: -25%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Navigation container\n.md-nav {\n font-size: px2rem(14px);\n line-height: 1.3;\n\n // List title\n &__title {\n display: block;\n padding: 0 px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n\n // Hide buttons by default\n .md-nav__button {\n display: none;\n\n // Stretch images\n img {\n width: 100%;\n height: auto;\n }\n\n // Logo\n &.md-logo {\n\n // Image or icon\n img,\n svg {\n display: block;\n width: px2rem(48px);\n height: px2rem(48px);\n }\n\n // Icon\n svg {\n fill: currentColor;\n }\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n padding: 0 px2rem(12px);\n\n // Add bottom spacing to last item\n &:last-child {\n padding-bottom: px2rem(12px);\n }\n\n // 2nd+ level items\n & & {\n padding-right: 0;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(12px);\n padding-left: 0;\n }\n\n // Remove bottom spacing for nested items\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n margin-top: 0.625em;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: color 125ms;\n scroll-snap-align: start;\n\n // Hide link to table of contents by default - this will only match the\n // table of contents inside the drawer below and including tablet portrait\n html &[for=\"__toc\"] {\n display: none;\n\n // Hide table of contents by default\n & ~ .md-nav {\n display: none;\n }\n }\n\n // Blurred link\n &[data-md-state=\"blur\"] {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Active link\n .md-nav__item &--active {\n color: var(--md-text-link-color);\n }\n\n // Reset active color for nested list titles\n .md-nav__item--nested > & {\n color: inherit;\n }\n\n // Focused or hovered link\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Repository containing source\n &__source {\n display: none;\n }\n\n // [tablet -]: Layered navigation\n @include break-to-device(tablet) {\n background-color: var(--md-default-bg-color);\n\n // Stretch primary navigation to drawer\n &--primary,\n &--primary .md-nav {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n // Adjust styles for primary navigation\n &--primary {\n\n // List title and item\n .md-nav__title,\n .md-nav__item {\n font-size: px2rem(16px);\n line-height: 1.5;\n }\n\n // List title\n .md-nav__title {\n position: relative;\n height: px2rem(112px);\n padding: px2rem(60px) px2rem(16px) px2rem(4px);\n color: var(--md-default-fg-color--light);\n font-weight: 400;\n line-height: px2rem(48px);\n white-space: nowrap;\n background-color: var(--md-default-fg-color--lightest);\n cursor: pointer;\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: px2rem(8px);\n left: px2rem(8px);\n display: block;\n width: px2rem(24px);\n height: px2rem(24px);\n margin: px2rem(4px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(8px);\n left: initial;\n }\n }\n\n // Main lists\n ~ .md-nav__list {\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n box-shadow:\n inset 0 px2rem(1px) 0 var(--md-default-fg-color--lightest);\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Remove border for first list item\n > .md-nav__item:first-child {\n border-top: 0;\n }\n }\n\n // Site title in main navigation\n &[for=\"__drawer\"] {\n position: relative;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n\n // Site logo\n .md-nav__button {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(4px);\n display: block;\n margin: px2rem(4px);\n padding: px2rem(8px);\n font-size: px2rem(48px);\n }\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & .md-nav__title {\n\n // Site title in main navigation\n &[for=\"__drawer\"] .md-nav__button {\n right: px2rem(4px);\n left: initial;\n }\n }\n\n // List of items\n .md-nav__list {\n flex: 1;\n }\n\n // List item\n .md-nav__item {\n padding: 0;\n border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0;\n }\n\n // Increase spacing to account for icon\n &--nested > .md-nav__link {\n padding-right: px2rem(48px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n }\n\n // Active parent item\n &--active > .md-nav__link {\n color: var(--md-text-link-color);\n\n // Focused or hovered linl\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Link inside item\n .md-nav__link {\n position: relative;\n margin-top: 0;\n padding: px2rem(12px) px2rem(16px);\n\n // Icon\n .md-nav__icon {\n position: absolute;\n top: 50%;\n right: px2rem(12px);\n margin-top: px2rem(-12px);\n color: inherit;\n font-size: px2rem(24px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(12px);\n }\n }\n }\n\n // Icon\n .md-nav__icon {\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scale(-1);\n }\n }\n }\n\n // Table of contents inside navigation\n .md-nav--secondary {\n\n // Set links to static to avoid unnecessary layering\n .md-nav__link {\n position: static;\n }\n\n // Set nested navigation for table of contents to static\n .md-nav {\n position: static;\n background-color: transparent;\n\n // 3rd level link\n .md-nav__link {\n padding-left: px2rem(28px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(28px);\n padding-left: initial;\n }\n }\n\n // 4th level link\n .md-nav .md-nav__link {\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n\n // 5th level link\n .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(52px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(52px);\n padding-left: initial;\n }\n }\n\n // 6th level link\n .md-nav .md-nav .md-nav .md-nav__link {\n padding-left: px2rem(64px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(64px);\n padding-left: initial;\n }\n }\n }\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: flex;\n transform: translateX(100%);\n opacity: 0;\n transition:\n transform 250ms cubic-bezier(0.8, 0, 0.6, 1),\n opacity 125ms 50ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(-100%);\n }\n }\n\n // Expand nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n transform: translateX(0);\n opacity: 1;\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 125ms 125ms;\n\n // Hack: reduce jitter\n > .md-nav__list {\n backface-visibility: hidden;\n }\n }\n }\n\n // [tablet portrait -]: Show table of contents in drawer\n @include break-to-device(tablet portrait) {\n\n // Show link to table of contents - higher specificity is necessary to\n // display the table of contents inside the drawer\n html &__link[for=\"__toc\"] {\n display: block;\n padding-right: px2rem(48px);\n\n // Hide link to current item\n + .md-nav__link {\n display: none;\n }\n\n // Show table of contents\n & ~ .md-nav {\n display: flex;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] &__link {\n padding-right: px2rem(16px);\n padding-left: px2rem(48px);\n }\n\n // Repository containing source\n &__source {\n display: block;\n padding: 0 px2rem(4px);\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color--dark);\n }\n }\n\n // [tablet landscape +]: Tree-like navigation\n @include break-from-device(tablet landscape) {\n\n // List title\n &--secondary .md-nav__title {\n\n // Snap to table of contents title\n &[for=\"__toc\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n }\n\n // [screen +]: Tree-like navigation\n @include break-from-device(screen) {\n transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);\n\n // List title\n &--primary .md-nav__title {\n\n // Snap to site title\n &[for=\"__drawer\"] {\n scroll-snap-align: start;\n }\n\n // Hide icon\n .md-nav__icon {\n display: none;\n }\n }\n\n // Hide nested navigation by default\n .md-nav__toggle ~ & {\n display: none;\n }\n\n // Show nested navigation, if toggle is checked\n .md-nav__toggle:checked ~ & {\n display: block;\n }\n\n // Hide titles for nested navigation\n &__item--nested > .md-nav > &__title {\n display: none;\n }\n\n // Icon\n &__icon {\n float: right;\n height: px2rem(18px);\n transition: transform 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n transform: rotate(180deg);\n }\n\n // Inline icon and adjust to match font size\n svg {\n display: inline-block;\n width: px2rem(18px);\n height: px2rem(18px);\n vertical-align: px2rem(-2px);\n }\n\n // Rotate icon for expanded lists\n .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link & {\n transform: rotate(90deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) search\n$md-toggle__search--checked:\n \"[data-md-toggle=\\\"search\\\"]:checked ~ .md-header\";\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Search container\n.md-search {\n position: relative;\n\n // Hide search, if JavaScript is not available.\n .no-js & {\n display: none;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n padding: px2rem(4px) 0;\n }\n\n // Search modal overlay\n &__overlay {\n z-index: 1;\n opacity: 0;\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n position: absolute;\n top: px2rem(4px);\n left: px2rem(-44px);\n width: px2rem(40px);\n height: px2rem(40px);\n overflow: hidden;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(20px);\n transform-origin: center;\n transition:\n transform 300ms 100ms,\n opacity 200ms 200ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-44px);\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n opacity: 1;\n transition:\n transform 400ms,\n opacity 100ms;\n }\n }\n\n // Set scale factors\n #{$md-toggle__search--checked} & {\n\n // [mobile portrait -]: Scale up 45 times\n @include break-to-device(mobile portrait) {\n transform: scale(45);\n }\n\n // [mobile landscape]: Scale up 60 times\n @include break-at-device(mobile landscape) {\n transform: scale(60);\n }\n\n // [tablet portrait]: Scale up 75 times\n @include break-at-device(tablet portrait) {\n transform: scale(75);\n }\n }\n\n // [tablet landscape +]: Overlay for better focus on search\n @include break-from-device(tablet landscape) {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background-color: hsla(0, 0%, 0%, 0.54);\n cursor: pointer;\n transition:\n width 0ms 250ms,\n height 0ms 250ms,\n opacity 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n\n // Expanded overlay\n #{$md-toggle__search--checked} & {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n width 0ms,\n height 0ms,\n opacity 250ms;\n }\n }\n }\n\n // Search modal wrapper\n &__inner {\n // Hack: reduce jitter\n backface-visibility: hidden;\n\n // [tablet portrait -]: Put search modal off-canvas by default\n @include break-to-device(tablet portrait) {\n position: fixed;\n top: 0;\n left: 100%;\n z-index: 2;\n width: 100%;\n height: 100%;\n transform: translateX(5%);\n opacity: 0;\n transition:\n right 0ms 300ms,\n left 0ms 300ms,\n transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),\n opacity 150ms 150ms;\n\n // Active search modal\n #{$md-toggle__search--checked} & {\n left: 0;\n transform: translateX(0);\n opacity: 1;\n transition:\n right 0ms 0ms,\n left 0ms 0ms,\n transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms 150ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n }\n }\n\n // Adjust for right-to-left languages\n html [dir=\"rtl\"] & {\n right: 100%;\n left: initial;\n transform: translateX(-5%);\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n position: relative;\n float: right;\n width: px2rem(234px);\n padding: px2rem(2px) 0;\n transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: left;\n }\n }\n\n // Set maximum width\n #{$md-toggle__search--checked} & {\n\n // [tablet landscape]: Do not overlay title\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Match content width\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n }\n }\n\n // Search form\n &__form {\n position: relative;\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n border-radius: px2rem(2px);\n }\n }\n\n // Search input\n &__input {\n position: relative;\n z-index: 2;\n padding: 0 px2rem(44px) 0 px2rem(72px);\n text-overflow: ellipsis;\n background-color: var(--md-default-bg-color);\n transition:\n color 250ms,\n background-color 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: 0 px2rem(72px) 0 px2rem(44px);\n }\n\n // Transition on placeholder\n &::placeholder {\n transition: color 250ms;\n }\n\n // Placeholder and icon color in active state\n ~ .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n\n // Remove the \"x\" rendered by Internet Explorer\n &::-ms-clear {\n display: none;\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n width: 100%;\n height: px2rem(48px);\n font-size: px2rem(18px);\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n width: 100%;\n height: px2rem(36px);\n padding-left: px2rem(44px);\n color: inherit;\n font-size: ms(0);\n background-color: hsla(0, 0%, 0%, 0.26);\n border-radius: px2rem(2px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n }\n\n // Icon color\n + .md-search__icon {\n color: var(--md-primary-bg-color);\n }\n\n // Placeholder color\n &::placeholder {\n color: var(--md-primary-bg-color--light);\n }\n\n // Hovered search field\n &:hover {\n background-color: hsla(0, 0%, 100%, 0.12);\n }\n\n // Set light background on active search field\n #{$md-toggle__search--checked} & {\n color: var(--md-default-fg-color);\n text-overflow: clip;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px) px2rem(2px) 0 0;\n\n // Icon and placeholder color in active state\n + .md-search__icon,\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n z-index: 2;\n width: px2rem(24px);\n height: px2rem(24px);\n cursor: pointer;\n transition:\n color 250ms,\n opacity 250ms;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n\n // Search icon\n &[for=\"__search\"] {\n top: px2rem(6px);\n left: px2rem(10px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(10px);\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n left: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(16px);\n left: initial;\n }\n\n // Hide the magnifying glass (1st icon)\n svg:first-child {\n display: none;\n }\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n pointer-events: none;\n\n // Hide the arrow (2nd icon)\n svg:last-child {\n display: none;\n }\n }\n }\n\n // Reset button\n &[type=\"reset\"] {\n top: px2rem(6px);\n right: px2rem(10px);\n transform: scale(0.75);\n opacity: 0;\n transition:\n transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 150ms;\n pointer-events: none;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(10px);\n }\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(12px);\n right: px2rem(16px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(16px);\n }\n }\n\n // Show reset button if search is active and input non-empty\n #{$md-toggle__search--checked}\n .md-search__input:not(:placeholder-shown) ~ & {\n transform: scale(1);\n opacity: 1;\n pointer-events: initial;\n\n // Hovered icon\n &:hover {\n opacity: 0.7;\n }\n }\n }\n }\n\n // Search output container\n &__output {\n position: absolute;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n border-radius: 0 0 px2rem(2px) px2rem(2px);\n\n // [tablet portrait -]: Full-screen search bar\n @include break-to-device(tablet portrait) {\n top: px2rem(48px);\n bottom: 0;\n }\n\n // [tablet landscape +]: Header-embedded search\n @include break-from-device(tablet landscape) {\n top: px2rem(38px);\n opacity: 0;\n transition: opacity 400ms;\n\n // Show search output in active state\n #{$md-toggle__search--checked} & {\n @include z-depth(6);\n\n opacity: 1;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n height: 100%;\n overflow-y: auto;\n background-color: var(--md-default-bg-color);\n // Hack: reduce jitter\n backface-visibility: hidden;\n scroll-snap-type: y mandatory;\n touch-action: pan-y;\n\n // Mitigiate excessive repaints on non-retina devices\n @media (max-resolution: 1dppx) {\n transform: translateZ(0);\n }\n\n // [tablet landscape]: Set absolute width to omit unnecessary reflow\n @include break-at-device(tablet landscape) {\n width: px2rem(468px);\n }\n\n // [screen +]: Set absolute width to omit unnecessary reflow\n @include break-from-device(screen) {\n width: px2rem(688px);\n }\n\n // [tablet landscape +]: Limit height to viewport\n @include break-from-device(tablet landscape) {\n max-height: 0;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Expand in active state\n #{$md-toggle__search--checked} & {\n max-height: 75vh;\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n }\n}\n\n// Search result\n.md-search-result {\n color: var(--md-default-fg-color);\n word-break: break-word;\n\n // Search metadata\n &__meta {\n padding: 0 px2rem(16px);\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: px2rem(36px);\n background-color: var(--md-default-fg-color--lightest);\n scroll-snap-align: start;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: initial;\n }\n }\n }\n\n // List of items\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // List item\n &__item {\n box-shadow: 0 px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // No border for first item\n &:first-child {\n box-shadow: none;\n }\n }\n\n // Link inside item\n &__link {\n display: block;\n outline: 0;\n transition: background 250ms;\n scroll-snap-align: start;\n\n // Focused or hovered link\n &:focus,\n &:hover {\n background-color: var(--md-accent-fg-color--transparent);\n\n // Slightly transparent icon\n .md-search-result__article::before {\n opacity: 0.7;\n }\n }\n\n // Add a little spacing on the teaser of the last link\n &:last-child .md-search-result__teaser {\n margin-bottom: px2rem(12px);\n }\n }\n\n // Article - document or section\n &__article {\n position: relative;\n padding: 0 px2rem(16px);\n overflow: hidden;\n\n // [tablet landscape +]: Increase left indent\n @include break-from-device(tablet landscape) {\n padding-left: px2rem(44px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding-right: px2rem(44px);\n padding-left: px2rem(16px);\n }\n }\n\n // Document\n &--document {\n\n // Title\n .md-search-result__title {\n margin: px2rem(11px) 0;\n font-weight: 400;\n font-size: ms(0);\n line-height: 1.4;\n }\n }\n }\n\n // Icon\n &__icon {\n position: absolute;\n left: 0;\n margin: px2rem(2px);\n padding: px2rem(8px);\n color: var(--md-default-fg-color--light);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: 0;\n left: initial;\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1);\n }\n }\n\n // [tablet portrait -]: Hide page icon\n @include break-to-device(tablet portrait) {\n display: none;\n }\n }\n\n // Title\n &__title {\n margin: 0.5em 0;\n font-weight: 700;\n font-size: ms(-1);\n line-height: 1.4;\n }\n\n // stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Teaser\n &__teaser {\n display: -webkit-box;\n max-height: px2rem(33px);\n margin: 0.5em 0;\n overflow: hidden;\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n line-height: 1.4;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n // [mobile -]: Increase number of lines\n @include break-to-device(mobile) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n\n // [tablet landscape]: Increase number of lines\n @include break-at-device(tablet landscape) {\n max-height: px2rem(50px);\n -webkit-line-clamp: 3;\n }\n }\n\n // stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix\n\n // Search term highlighting\n em {\n font-weight: 700;\n font-style: normal;\n text-decoration: underline;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Active (toggled) drawer\n$md-toggle__drawer--checked:\n \"[data-md-toggle=\\\"drawer\\\"]:checked ~ .md-container\";\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Activate scroll snapping with delay\n@keyframes md-sidebar__scrollwrap--hack {\n 0%, 99% {\n scroll-snap-type: none;\n }\n\n 100% {\n scroll-snap-type: y mandatory;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Sidebar container\n.md-sidebar {\n position: sticky;\n top: px2rem(48px);\n align-self: flex-start;\n width: px2rem(242px);\n padding: px2rem(24px) 0;\n overflow: hidden;\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // [tablet -]: Convert navigation to drawer\n @include break-to-device(tablet) {\n\n // Render primary sidebar as a slideout container\n &--primary {\n position: fixed;\n top: 0;\n left: px2rem(-242px);\n z-index: 3;\n width: px2rem(242px);\n height: 100%;\n background-color: var(--md-default-bg-color);\n transform: translateX(0);\n transition:\n transform 250ms cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(-242px);\n left: initial;\n }\n\n // Expanded drawer\n #{$md-toggle__drawer--checked} & {\n @include z-depth(8);\n\n transform: translateX(px2rem(242px));\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-242px));\n }\n }\n\n // Hide overflow for nested navigation\n .md-sidebar__scrollwrap {\n overflow: hidden;\n }\n }\n }\n\n // Secondary sidebar with table of contents\n &--secondary {\n display: none;\n order: 2;\n\n // [tablet landscape +]: Show table of contents next to body copy\n @include break-from-device(tablet landscape) {\n display: block;\n\n // Ensure smooth scrolling on iOS\n .md-sidebar__scrollwrap {\n touch-action: pan-y;\n }\n }\n }\n\n // Wrapper for scrolling on overflow\n &__scrollwrap {\n max-height: 100%;\n margin: 0 px2rem(4px);\n overflow-y: auto;\n // Hack: reduce jitter\n backface-visibility: hidden;\n // Override Firefox scrollbar style\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container\n // to the bottom if `scroll-snap-type` is set on the initial render. For\n // this reason, we use an animation to set scroll snaping with a slight\n // delay, which seems to fix the issue (#1667).\n .js & {\n animation: md-sidebar__scrollwrap--hack 400ms forwards;\n }\n\n // [tablet -]: Adjust margins\n @include break-to-device(tablet) {\n\n // Stretch scrollwrap for primary sidebar\n .md-sidebar--primary & {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: 0;\n scroll-snap-type: none;\n }\n }\n\n // Override Firefox scrollbar hover color\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Show source facts\n@keyframes md-source__facts--done {\n 0% {\n height: 0;\n }\n\n 100% {\n height: px2rem(13px);\n }\n}\n\n// Show source fact\n@keyframes md-source__fact--done {\n 0% {\n transform: translateY(100%);\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0%);\n opacity: 1;\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Source container\n.md-source {\n display: block;\n font-size: px2rem(13px);\n line-height: 1.2;\n white-space: nowrap;\n // Hack: reduce jitter\n backface-visibility: hidden;\n transition: opacity 250ms;\n\n // Hovered source container\n &:hover {\n opacity: 0.7;\n }\n\n // Repository platform icon\n &__icon {\n display: inline-block;\n width: px2rem(48px);\n height: px2rem(48px);\n vertical-align: middle;\n\n // Align with margin only (as opposed to normal button alignment)\n svg {\n margin-top: px2rem(12px);\n margin-left: px2rem(12px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(12px);\n margin-left: initial;\n }\n }\n\n // Correct alignment, if icon is present\n + .md-source__repository {\n margin-left: px2rem(-40px);\n padding-left: px2rem(40px);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(-40px);\n margin-left: initial;\n padding-right: px2rem(40px);\n padding-left: initial;\n }\n }\n }\n\n // Repository name\n &__repository {\n display: inline-block;\n max-width: calc(100% - #{px2rem(24px)});\n margin-left: px2rem(12px);\n overflow: hidden;\n font-weight: 700;\n text-overflow: ellipsis;\n vertical-align: middle;\n }\n\n // Source facts (statistics etc.)\n &__facts {\n margin: 0;\n padding: 0;\n overflow: hidden;\n font-weight: 700;\n font-size: px2rem(11px);\n list-style-type: none;\n opacity: 0.75;\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__facts--done 250ms ease-in;\n }\n }\n\n // Fact\n &__fact {\n float: left;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n float: right;\n }\n\n // Show after the data was loaded\n [data-md-state=\"done\"] & {\n animation: md-source__fact--done 400ms ease-out;\n }\n\n // Middle dot before fact\n &::before {\n margin: 0 px2rem(2px);\n content: \"\\00B7\";\n }\n\n // Remove middle dot on first fact\n &:first-child::before {\n display: none;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Tabs with outline\n.md-tabs {\n width: 100%;\n overflow: auto;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n transition: background 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // [tablet -]: Hide tabs for tablet and below, as they don't make any sense\n @include break-to-device(tablet) {\n display: none;\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n\n // List of items\n &__list {\n margin: 0;\n margin-left: px2rem(4px);\n padding: 0;\n white-space: nowrap;\n list-style: none;\n contain: content;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(4px);\n margin-left: initial;\n }\n }\n\n // List item\n &__item {\n display: inline-block;\n height: px2rem(48px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n\n // Link inside item - could be defined as block elements and aligned via\n // line height, but this would imply more repaints when scrolling\n &__link {\n display: block;\n margin-top: px2rem(16px);\n font-size: px2rem(14px);\n opacity: 0.7;\n transition:\n transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),\n opacity 250ms;\n\n // Omit transitions, in case JavaScript is not available\n .no-js & {\n transition: none;\n }\n\n // Active or hovered link\n &--active,\n &:hover {\n color: inherit;\n opacity: 1;\n }\n\n // Delay transitions by a small amount\n @for $i from 2 through 16 {\n .md-tabs__item:nth-child(#{$i}) & {\n transition-delay: 20ms * ($i - 1);\n }\n }\n }\n\n // Fade-out tabs background upon scrolling\n &[data-md-state=\"hidden\"] {\n pointer-events: none;\n\n // Hide tabs upon scrolling - disable transition to minimizes repaints\n // while scrolling down, while scrolling up seems to be okay\n .md-tabs__link {\n transform: translateY(50%);\n opacity: 0;\n transition:\n color 250ms,\n transform 0ms 400ms,\n opacity 100ms;\n }\n }\n\n // [screen +]: Adjust main navigation styles\n @include break-from-device(screen) {\n\n // Hide 1st level nested items, as they are listed in the tabs\n ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {\n display: none;\n }\n\n // Active tab\n &--active ~ .md-main {\n\n // Adjust 1st level styles\n .md-nav--primary {\n\n // Show title and remove spacing\n .md-nav__title {\n display: block;\n padding: 0 px2rem(12px);\n pointer-events: none;\n scroll-snap-align: start;\n\n // Hide site title\n &[for=\"__drawer\"] {\n display: none;\n }\n }\n\n // Hide 1st level items\n > .md-nav__list > .md-nav__item {\n display: none;\n\n // Show 1st level active nested items\n &--active {\n display: block;\n padding: 0;\n\n // Hide nested links\n > .md-nav__link {\n display: none;\n }\n }\n }\n }\n\n // Always expand nested navigation on 2nd level\n .md-nav[data-md-level=\"1\"] {\n // Hack: Always show active navigation tab on breakpoint screen, despite\n // of checkbox being checked or not. Fixes #1655.\n display: block;\n\n // Remove spacing on 2nd level items\n > .md-nav__list > .md-nav__item {\n padding: 0 px2rem(12px);\n }\n\n // Hide titles from 2nd level on\n .md-nav .md-nav__title {\n display: none;\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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/// Admonition flavours\n///\n$admonitions: (\n note: pencil $clr-blue-a200,\n abstract summary tldr: text-subject $clr-light-blue-a400,\n info todo: information $clr-cyan-a700,\n tip hint important: fire $clr-teal-a700,\n success check done: check-circle $clr-green-a700,\n question help faq: help-circle $clr-light-green-a700,\n warning caution attention: alert $clr-orange-a400,\n failure fail missing: close-circle $clr-red-a200,\n danger error: flash-circle $clr-red-a400,\n bug: bug $clr-pink-a400,\n example: format-list-numbered $clr-deep-purple-a400,\n quote cite: format-quote-close $clr-grey\n) !default;\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Icon definitions\n:root {\n @each $names, $props in $admonitions {\n $name: nth($names, 1);\n $icon: nth($props, 1);\n\n // Inline icon through postcss in webpack\n --md-admonition-icon--#{$name}: svg-load(\"@mdi/svg/svg/#{$icon}.svg\");\n }\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Admonition extension\n .admonition {\n margin: 1.5625em 0;\n padding: 0 px2rem(12px);\n overflow: hidden;\n color: var(--md-admonition-fg-color);\n font-size: ms(-1);\n page-break-inside: avoid;\n background-color: var(--md-admonition-bg-color);\n border-left: px2rem(4px) solid $clr-blue-a200;\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.05),\n 0 0 px2rem(1px) hsla(0, 0%, 0%, 0.1);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n border-right: px2rem(4px) solid $clr-blue-a200;\n border-left: none;\n }\n\n // Hack: omit rendering errors for print\n @media print {\n box-shadow: none;\n }\n\n // Adjust spacing on last element\n html & > :last-child {\n margin-bottom: px2rem(12px);\n }\n\n // Adjust margin for nested admonition blocks\n .admonition {\n margin: 1em 0;\n }\n\n // Wrapper for scrolling on overflow\n .md-typeset__scrollwrap {\n margin: 1em px2rem(-12px);\n }\n\n // Data table wrapper, in case JavaScript is available\n .md-typeset__table {\n padding: 0 px2rem(12px);\n }\n }\n\n // Admonition title\n .admonition-title {\n position: relative;\n margin: 0 px2rem(-12px);\n padding: px2rem(8px) px2rem(12px) px2rem(8px) px2rem(40px);\n font-weight: 700;\n background-color: transparentize($clr-blue-a200, 0.9);\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(12px);\n }\n\n // Reset spacing, if title is the only element\n html &:last-child {\n margin-bottom: 0;\n }\n\n // Icon\n &::before {\n position: absolute;\n left: px2rem(12px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: $clr-blue-a200;\n mask-image: var(--md-admonition-icon--note);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2rem(12px);\n left: initial;\n }\n }\n\n // Reset code inside Admonition titles\n code {\n margin: initial;\n padding: initial;\n color: currentColor;\n background-color: transparent;\n border-radius: initial;\n box-shadow: none;\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: flavours\n// ----------------------------------------------------------------------------\n\n@each $names, $props in $admonitions {\n $name: nth($names, 1);\n $tint: nth($props, 2);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: $tint;\n }\n\n // Define base class\n .md-typeset .#{$name} > .admonition-title {\n background-color: transparentize($tint, 0.9);\n\n // Icon\n &::before {\n background-color: $tint;\n mask-image: var(--md-admonition-icon--#{$name});\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\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-2020 Martin Donath <martin.donath@squidfunk.com>\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// Operators\n$codehilite-operator: inherit;\n$codehilite-operator-word: inherit;\n\n// Generics\n$codehilite-generic-emph: #000000;\n$codehilite-generic-error: #AA0000;\n$codehilite-generic-heading: #999999;\n$codehilite-generic-output: #888888;\n$codehilite-generic-prompt: #555555;\n$codehilite-generic-strong: inherit;\n$codehilite-generic-subheading: #AAAAAA;\n$codehilite-generic-traceback: #AA0000;\n\n// Diffs\n$codehilite-diff-deleted: #FFDDDD;\n$codehilite-diff-inserted: #DDFFDD;\n\n// Keywords\n$codehilite-keyword: #3B78E7;\n$codehilite-keyword-constant: #A71D5D;\n$codehilite-keyword-declaration: #3B78E7;\n$codehilite-keyword-namespace: #3B78E7;\n$codehilite-keyword-pseudo: #A71D5D;\n$codehilite-keyword-reserved: #3E61A2;\n$codehilite-keyword-type: #3E61A2;\n\n// Comments\n$codehilite-comment: #999999;\n$codehilite-comment-multiline: #999999;\n$codehilite-comment-preproc: #666666;\n$codehilite-comment-single: #999999;\n$codehilite-comment-shebang: #999999;\n$codehilite-comment-special: #999999;\n\n// Names\n$codehilite-name-attribute: #C2185B;\n$codehilite-name-builtin: #C2185B;\n$codehilite-name-builtin-pseudo: #3E61A2;\n$codehilite-name-class: #C2185B;\n$codehilite-name-constant: #3E61A2;\n$codehilite-name-decorator: #666666;\n$codehilite-name-entity: #666666;\n$codehilite-name-exception: #C2185B;\n$codehilite-name-function: #C2185B;\n$codehilite-name-label: #3B5179;\n$codehilite-name-namespace: #EC407A;\n$codehilite-name-tag: #3B78E7;\n$codehilite-name-variable: #3E61A2;\n$codehilite-name-variable-class: #3E61A2;\n$codehilite-name-variable-instance: #3E61A2;\n$codehilite-name-variable-global: #3E61A2;\n$codehilite-name-extension: #EC407A;\n\n// Numbers\n$codehilite-literal-number: #E74C3C;\n$codehilite-literal-number-float: #E74C3C;\n$codehilite-literal-number-hex: #E74C3C;\n$codehilite-literal-number-integer: #E74C3C;\n$codehilite-literal-number-integer-long: #E74C3C;\n$codehilite-literal-number-oct: #E74C3C;\n\n// Strings\n$codehilite-literal-string: #0D904F;\n$codehilite-literal-string-backticks: #0D904F;\n$codehilite-literal-string-char: #0D904F;\n$codehilite-literal-string-doc: #999999;\n$codehilite-literal-string-double: #0D904F;\n$codehilite-literal-string-escape: #183691;\n$codehilite-literal-string-heredoc: #183691;\n$codehilite-literal-string-interpol: #183691;\n$codehilite-literal-string-other: #183691;\n$codehilite-literal-string-regex: #009926;\n$codehilite-literal-string-single: #0D904F;\n$codehilite-literal-string-symbol: #0D904F;\n\n// Miscellaneous\n$codehilite-error: #A61717;\n$codehilite-whitespace: transparent;\n\n// ----------------------------------------------------------------------------\n// Rules: syntax highlighting\n// ----------------------------------------------------------------------------\n\n// Codehilite extension\n.codehilite {\n\n // Operators\n .o { color: $codehilite-operator; }\n .ow { color: $codehilite-operator-word; }\n\n // Generics\n .ge { color: $codehilite-generic-emph; }\n .gr { color: $codehilite-generic-error; }\n .gh { color: $codehilite-generic-heading; }\n .go { color: $codehilite-generic-output; }\n .gp { color: $codehilite-generic-prompt; }\n .gs { color: $codehilite-generic-strong; }\n .gu { color: $codehilite-generic-subheading; }\n .gt { color: $codehilite-generic-traceback; }\n\n // Diffs\n .gd { background-color: $codehilite-diff-deleted; }\n .gi { background-color: $codehilite-diff-inserted; }\n\n // Keywords\n .k { color: $codehilite-keyword; }\n .kc { color: $codehilite-keyword-constant; }\n .kd { color: $codehilite-keyword-declaration; }\n .kn { color: $codehilite-keyword-namespace; }\n .kp { color: $codehilite-keyword-pseudo; }\n .kr { color: $codehilite-keyword-reserved; }\n .kt { color: $codehilite-keyword-type; }\n\n // Comments\n .c { color: $codehilite-comment; }\n .cm { color: $codehilite-comment-multiline; }\n .cp { color: $codehilite-comment-preproc; }\n .c1 { color: $codehilite-comment-single; }\n .ch { color: $codehilite-comment-shebang; }\n .cs { color: $codehilite-comment-special; }\n\n // Names\n .na { color: $codehilite-name-attribute; }\n .nb { color: $codehilite-name-builtin; }\n .bp { color: $codehilite-name-builtin-pseudo; }\n .nc { color: $codehilite-name-class; }\n .no { color: $codehilite-name-constant; }\n .nd { color: $codehilite-name-entity; }\n .ni { color: $codehilite-name-entity; }\n .ne { color: $codehilite-name-exception; }\n .nf { color: $codehilite-name-function; }\n .nl { color: $codehilite-name-label; }\n .nn { color: $codehilite-name-namespace; }\n .nt { color: $codehilite-name-tag; }\n .nv { color: $codehilite-name-variable; }\n .vc { color: $codehilite-name-variable-class; }\n .vg { color: $codehilite-name-variable-global; }\n .vi { color: $codehilite-name-variable-instance; }\n .nx { color: $codehilite-name-extension; }\n\n // Numbers\n .m { color: $codehilite-literal-number; }\n .mf { color: $codehilite-literal-number-float; }\n .mh { color: $codehilite-literal-number-hex; }\n .mi { color: $codehilite-literal-number-integer; }\n .il { color: $codehilite-literal-number-integer-long; }\n .mo { color: $codehilite-literal-number-oct; }\n\n // Strings\n .s { color: $codehilite-literal-string; }\n .sb { color: $codehilite-literal-string-backticks; }\n .sc { color: $codehilite-literal-string-char; }\n .sd { color: $codehilite-literal-string-doc; }\n .s2 { color: $codehilite-literal-string-double; }\n .se { color: $codehilite-literal-string-escape; }\n .sh { color: $codehilite-literal-string-heredoc; }\n .si { color: $codehilite-literal-string-interpol; }\n .sx { color: $codehilite-literal-string-other; }\n .sr { color: $codehilite-literal-string-regex; }\n .s1 { color: $codehilite-literal-string-single; }\n .ss { color: $codehilite-literal-string-symbol; }\n\n // Miscellaneous\n .err { color: $codehilite-error; }\n .w { color: $codehilite-whitespace; }\n\n // Highlighted lines\n .hll {\n display: block;\n margin: 0 px2em(-16px, 13.6px);\n padding: 0 px2em(16px, 13.6px);\n background-color: transparentize($clr-yellow-500, 0.5);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: layout\n// ----------------------------------------------------------------------------\n\n// Block with line numbers\n.codehilitetable {\n display: block;\n overflow: hidden;\n\n // Set table elements to block layout, because otherwise the whole flexbox\n // hacking won't work correctly\n tbody,\n td {\n display: block;\n padding: 0;\n }\n\n // We need to use flexbox layout, because otherwise it's not possible to\n // make the code container scroll while keeping the line numbers static\n tr {\n display: flex;\n }\n\n // The pre tags are nested inside a table, so we need to remove the\n // margin because it collapses below all the overflows\n pre {\n margin: 0;\n }\n\n // Disable user selection, so code can be easily copied without\n // accidentally also copying the line numbers\n .linenos {\n padding: px2rem(10.5px) px2em(16px, 13.6px);\n padding-right: 0;\n font-size: px2em(13.6px);\n background-color: var(--md-code-bg-color);\n user-select: none;\n }\n\n // Add spacing to line number container\n .linenodiv {\n padding-right: px2em(8px, 13.6px);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n\n // Reset spacings\n pre {\n color: var(--md-default-fg-color--lighter);\n text-align: right;\n }\n }\n\n // The table cell containing the code container wrapper and code should\n // stretch horizontally to the remaining space\n .code {\n flex: 1;\n overflow: hidden;\n }\n}\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Block with line numbers\n .codehilitetable {\n margin: 1em 0;\n direction: ltr;\n border-radius: px2rem(2px);\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n\n // Full-width container\n > .codehilite {\n margin: 1em px2rem(-16px);\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n\n // Remove rounded borders\n code {\n border-radius: 0;\n }\n }\n\n // Full-width container on top-level\n > .codehilitetable {\n margin: 1em px2rem(-16px);\n border-radius: 0;\n\n // Stretch highlighted lines\n .hll {\n margin: 0 px2rem(-16px);\n padding: 0 px2rem(16px);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-footnotes-icon: svg-load(\"@mdi/svg/svg/keyboard-return.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // All footnote references\n [id^=\"fnref:\"] {\n display: inline-block;\n\n // Targeted anchor\n &:target {\n margin-top: -1 * px2rem(48px + 12px + 16px);\n padding-top: px2rem(48px + 12px + 16px);\n pointer-events: none;\n }\n }\n\n // All footnote back references\n [id^=\"fn:\"] {\n\n // Add spacing to anchor for offset\n &::before {\n display: none;\n height: 0;\n content: \"\";\n }\n\n // Targeted anchor\n &:target::before {\n display: block;\n margin-top: -1 * px2rem(48px + 12px + 10px);\n padding-top: px2rem(48px + 12px + 10px);\n pointer-events: none;\n }\n }\n\n // Footnotes extension\n .footnote {\n color: var(--md-default-fg-color--light);\n font-size: ms(-1);\n\n // Remove additional spacing on footnotes\n ol {\n margin-left: 0;\n }\n\n // Footnote\n li {\n transition: color 125ms;\n\n // Darken color for targeted footnote\n &:target {\n color: var(--md-default-fg-color);\n }\n\n // Remove spacing on first element\n :first-child {\n margin-top: 0;\n }\n\n // Make back references visible on container hover\n &:hover .footnote-backref,\n &:target .footnote-backref {\n transform: translateX(0);\n opacity: 1;\n }\n\n // Hovered back reference\n &:hover .footnote-backref:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n\n // Footnote reference\n .footnote-ref {\n display: inline-block;\n pointer-events: initial;\n }\n\n // Footnote back reference\n .footnote-backref {\n display: inline-block;\n color: var(--md-text-link-color);\n // Hack: remove Unicode arrow for icon\n font-size: 0;\n vertical-align: text-bottom;\n transform: translateX(px2rem(5px));\n opacity: 0;\n transition:\n color 250ms,\n transform 250ms 250ms,\n opacity 125ms 250ms;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n transform: translateX(px2rem(-5px));\n }\n\n // Back reference icon\n &::before {\n display: inline-block;\n width: px2rem(16px);\n height: px2rem(16px);\n background-color: currentColor;\n mask-image: var(--md-footnotes-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n\n // Flip icon vertically\n svg {\n transform: scaleX(-1)\n }\n }\n }\n\n // Always show for print\n @media print {\n color: var(--md-text-link-color);\n transform: translateX(0);\n opacity: 1;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Permalinks extension\n .headerlink {\n display: inline-block;\n margin-left: px2rem(10px);\n // Hack: if we don't set visibility hidden, the text content of the node\n // will include the headerlink character, which is why Google indexes them.\n visibility: hidden;\n opacity: 0;\n transition:\n color 250ms,\n visibility 0ms 500ms,\n opacity 125ms;\n\n // Adjust for RTL languages\n [dir=\"rtl\"] & {\n margin-right: px2rem(10px);\n margin-left: initial;\n }\n\n // Higher specificity for color due to palettes integration\n html body & {\n color: var(--md-default-fg-color--lighter);\n }\n\n // Hide for print\n @media print {\n display: none;\n }\n }\n\n // Make permalink visible on hover\n :hover > .headerlink,\n :target > .headerlink,\n .headerlink:focus {\n visibility: visible;\n opacity: 1;\n transition:\n color 250ms,\n visibility 0ms,\n opacity 125ms;\n }\n\n // Active or targeted permalink\n :target > .headerlink,\n .headerlink:focus,\n .headerlink:hover {\n color: var(--md-accent-fg-color);\n }\n\n // General scroll margin offset for anything that can be targeted. Browser\n // support is pretty decent by now, and if we wait until Edge 79+ has more\n // adoption, we can get rid of all anchor-correction hacks.\n :target {\n scroll-margin-top: px2rem(48px + 24px);\n }\n\n // Correct anchor offset for link blurring\n @each $level, $delta in (\n h1 h2 h3: 8px,\n h4: 9px,\n h5 h6: 12px,\n ) {\n %#{nth($level, 1)} {\n\n // Reset, as we use the anchor-correction hack here.\n &:target {\n scroll-margin-top: initial;\n }\n\n // Un-targeted anchor\n &::before {\n display: block;\n margin-top: -1 * px2rem($delta);\n padding-top: px2rem($delta);\n content: \"\";\n }\n\n // Targeted anchor (48px from header, 12px from sidebar offset)\n &:target::before {\n margin-top: -1 * px2rem(48px + 12px + $delta);\n padding-top: px2rem(48px + 12px + $delta);\n }\n }\n\n // Define levels\n @for $n from 1 through length($level) {\n #{nth($level, $n)}[id] {\n @extend %#{nth($level, 1)};\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// stylelint-disable selector-class-pattern\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // MathJax integration - add padding to omit vertical scrollbar\n .MJXc-display {\n margin: 0.75em 0;\n padding: 0.75em 0;\n overflow: auto;\n touch-action: auto;\n }\n\n // Stretch top-level containers\n > p > .MJXc-display {\n\n // [mobile -]: Stretch to whole width\n @include break-to-device(mobile) {\n margin: 0.75em px2rem(-16px);\n padding: 0.25em px2rem(16px);\n }\n }\n\n // Remove outline on tab index\n .MathJax_CHTML {\n outline: 0;\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Deletions, additions and comments\n del.critic,\n ins.critic,\n .critic.comment {\n padding: 0 px2em(4px, 16px);\n border-radius: px2rem(2px);\n box-decoration-break: clone;\n }\n\n // Deletion\n del.critic {\n background-color: $codehilite-diff-deleted;\n }\n\n // Addition\n ins.critic {\n background-color: $codehilite-diff-inserted;\n }\n\n // Comment\n .critic.comment {\n color: $codehilite-comment;\n\n // Comment opening mark\n &::before {\n content: \"/* \";\n }\n\n // Comment closing mark\n &::after {\n content: \" */\";\n }\n }\n\n // Block\n .critic.block {\n display: block;\n margin: 1em 0;\n padding-right: px2rem(16px);\n padding-left: px2rem(16px);\n overflow: auto;\n box-shadow: none;\n\n // Decrease spacing on first element\n :first-child {\n margin-top: 0.5em;\n }\n\n // Decrease spacing on last element\n :last-child {\n margin-bottom: 0.5em;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-details-icon: svg-load(\"@mdi/svg/svg/chevron-right.svg\");\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Details extension\n details {\n @extend .admonition;\n\n display: block;\n padding-top: 0;\n overflow: visible;\n\n\n // Rotate title icon\n &[open] > summary::after {\n transform: rotate(90deg);\n }\n\n // Remove bottom spacing for closed details\n &:not([open]) {\n padding-bottom: 0;\n\n // We cannot set overflow: hidden, as the outline would not be visible,\n // so we need to correct the border radius\n > summary {\n border-bottom-right-radius: px2rem(2px);\n }\n }\n\n // Hack: omit margin collapse\n &::after {\n display: table;\n content: \"\";\n }\n }\n\n // Details title\n summary {\n @extend .admonition-title;\n\n display: block;\n min-height: px2rem(20px);\n padding: px2rem(8px) px2rem(36px) px2rem(8px) px2rem(40px);\n border-top-right-radius: px2rem(2px);\n cursor: pointer;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n padding: px2rem(8px) px2rem(40px) px2rem(8px) px2rem(36px);\n }\n\n // Remove default details marker\n &::-webkit-details-marker {\n display: none;\n }\n\n // Details marker\n &::after {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(8px);\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: currentColor;\n mask-image: var(--md-details-icon);\n transform: rotate(0deg);\n transition: transform 250ms;\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: initial;\n left: px2rem(8px);\n transform: rotate(180deg);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Emojis\n img.emojione,\n img.twemoji,\n img.gemoji {\n width: px2em(18px);\n max-height: 100%;\n vertical-align: -15%;\n }\n\n // Inlined SVG icons via mkdocs-material-extensions\n span.twemoji {\n display: inline-block;\n height: px2em(18px);\n vertical-align: text-top;\n\n // Icon\n svg {\n width: px2em(18px);\n max-height: 100%;\n fill: currentColor;\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// When pymdownx.superfences is enabled but codehilite is disabled,\n// pymdownx.highlight will be used. When this happens, the outer container\n// and tables get this class names by default\n.highlight {\n @extend .codehilite;\n\n // Inline line numbers\n [data-linenos]::before {\n position: sticky;\n left: px2em(-16px, 13.6px);\n float: left;\n margin-right: px2em(16px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n color: var(--md-default-fg-color--lighter);\n background-color: var(--md-code-bg-color);\n box-shadow: inset px2rem(-1px) 0 var(--md-default-fg-color--lightest);\n content: attr(data-linenos);\n user-select: none;\n }\n}\n\n// Same as above, but for code blocks with line numbers enabled\n.highlighttable {\n @extend .codehilitetable;\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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 // Tabbed block content\n .tabbed-content {\n display: none;\n order: 99;\n width: 100%;\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);\n\n // Mirror old superfences behavior, if there's only a single code block.\n > .codehilite:only-child pre,\n > .codehilitetable:only-child,\n > .highlight:only-child pre,\n > .highlighttable:only-child {\n margin: 0;\n\n // Remove rounded borders at the top\n > code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Nested tabs\n > .tabbed-set {\n margin: 0;\n }\n }\n\n // Tabbed block container\n .tabbed-set {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 1em 0;\n border-radius: px2rem(2px);\n\n // Hide radio buttons\n > input {\n display: none;\n\n // Active tab label\n &:checked + label {\n color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n\n // Show tabbed block content\n & + .tabbed-content {\n display: block;\n }\n }\n }\n\n // Tab label\n > label {\n z-index: 1;\n width: auto;\n padding: px2rem(12px) 1.25em px2rem(10px);\n color: var(--md-default-fg-color--light);\n font-weight: 700;\n font-size: ms(-1);\n border-bottom: px2rem(2px) solid transparent;\n cursor: pointer;\n transition: color 250ms;\n\n // Hovered tab label\n html &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>\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// Icon definitions\n:root {\n --md-tasklist-icon: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n --md-tasklist-icon--checked: svg-load(\n \"@primer/octicons/build/svg/check-circle-fill-24.svg\"\n );\n}\n\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Remove list icon on task items\n .task-list-item {\n position: relative;\n list-style-type: none;\n\n // Make checkbox items align with normal list items, but position\n // everything in ems for correct layout at smaller font sizes\n [type=\"checkbox\"] {\n position: absolute;\n top: 0.45em;\n left: -2em;\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: -2em;\n left: initial;\n }\n }\n }\n\n // Wrapper for list controls, in case custom checkboxes are enabled\n .task-list-control {\n\n // Checkbox icon in unchecked state\n .task-list-indicator::before {\n position: absolute;\n top: 0.15em;\n left: px2em(-24px);\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-default-fg-color--lightest);\n mask-image: var(--md-tasklist-icon);\n content: \"\";\n\n // Adjust for right-to-left languages\n [dir=\"rtl\"] & {\n right: px2em(-24px);\n left: initial;\n }\n }\n\n // Checkbox icon in checked state\n [type=\"checkbox\"]:checked + .task-list-indicator::before {\n background-color: $clr-green-a400;\n mask-image: var(--md-tasklist-icon--checked);\n }\n\n // Hide original checkbox behind icon\n [type=\"checkbox\"] {\n z-index: -1;\n opacity: 0;\n }\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/material/base.html b/material/base.html index bf9e79a2e..1dbe03c06 100644 --- a/material/base.html +++ b/material/base.html @@ -41,7 +41,7 @@ {% endif %} {% endblock %} {% block styles %} - <link rel="stylesheet" href="{{ 'assets/stylesheets/main.660197c7.min.css' | url }}"> + <link rel="stylesheet" href="{{ 'assets/stylesheets/main.04aed59c.min.css' | url }}"> {% if palette.scheme or palette.primary or palette.accent %} <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.e185632b.min.css' | url }}"> {% endif %} diff --git a/mkdocs.yml b/mkdocs.yml index 2b3dcc2cb..f15c8ac63 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -90,8 +90,6 @@ extra: markdown_extensions: - markdown.extensions.admonition - markdown.extensions.attr_list - - markdown.extensions.codehilite: - guess_lang: false - markdown.extensions.def_list - markdown.extensions.footnotes - markdown.extensions.meta @@ -106,7 +104,8 @@ markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:materialx.emoji.twemoji emoji_generator: !!python/name:materialx.emoji.to_svg - # - pymdownx.highlight: + - pymdownx.highlight: + use_pygments: true # linenums_style: pymdownx-inline - pymdownx.inlinehilite - pymdownx.keys @@ -140,12 +139,13 @@ nav: - Changing the language: guides/changing-the-language.md - Navigation: guides/navigation.md - Syntax highlighting: guides/syntax-highlighting.md - - Adding a landing page: guides/adding-a-landing-page.md + - Adding a git repository: guides/adding-a-git-repository.md - Adding an announcement bar: guides/adding-an-announcement-bar.md - Adding icons and emojis: guides/adding-icons-and-emojis.md - Adding footer links: guides/adding-footer-links.md - Adding site analytics: guides/adding-site-analytics.md - Adding a comment system: guides/adding-a-comment-system.md + - Adding a landing page: guides/adding-a-landing-page.md - Extensions: - Admonition: extensions/admonition.md - CodeHilite: extensions/codehilite.md From 86029698902cc6b3b9a2717ba368fdfd4e110975 Mon Sep 17 00:00:00 2001 From: squidfunk <martin.donath@squidfunk.com> Date: Sun, 19 Jul 2020 22:23:26 +0200 Subject: [PATCH 14/37] Finished syntax highlighter docs and moved overrides to CSS --- MANIFEST.in | 1 + docs/extensions/codehilite.md | 966 ------------------ docs/guides/adding-a-git-repository.md | 34 + docs/guides/changing-colors.md | 123 +-- docs/guides/changing-the-fonts.md | 4 +- docs/guides/changing-the-language.md | 33 +- docs/guides/navigation.md | 19 +- docs/guides/syntax-highlighting.md | 204 +++- docs/guides/third-party-integrations.md | 0 .../assets/javascripts/bundle.2a81e305.min.js | 2 - .../assets/javascripts/bundle.b49b2592.min.js | 2 + ....min.js.map => bundle.b49b2592.min.js.map} | 2 +- ...568ba93b.min.js => vendor.877163d5.min.js} | 4 +- ....min.js.map => vendor.877163d5.min.js.map} | 2 +- material/assets/manifest.json | 18 +- ...04aed59c.min.css => main.d49d26fc.min.css} | 2 +- ....min.css.map => main.d49d26fc.min.css.map} | 2 +- .../stylesheets/overrides.0ad0ad40.min.css | 3 + .../overrides.0ad0ad40.min.css.map | 1 + ...5632b.min.css => palette.87445083.min.css} | 2 +- ...n.css.map => palette.87445083.min.css.map} | 2 +- material/base.html | 8 +- material/overrides/main.html | 2 +- mkdocs.yml | 7 +- .../stylesheets/extensions/_admonition.scss | 2 +- src/assets/stylesheets/overrides.scss | 41 + .../stylesheets/overrides/_admonition.scss | 83 ++ .../stylesheets/overrides/_announce.scss | 47 + .../stylesheets/overrides/_typeset.scss | 57 ++ src/overrides/main.html | 26 +- webpack.config.ts | 26 +- 31 files changed, 578 insertions(+), 1147 deletions(-) delete mode 100644 docs/extensions/codehilite.md delete mode 100644 docs/guides/third-party-integrations.md delete mode 100644 material/assets/javascripts/bundle.2a81e305.min.js create mode 100644 material/assets/javascripts/bundle.b49b2592.min.js rename material/assets/javascripts/{bundle.2a81e305.min.js.map => bundle.b49b2592.min.js.map} (99%) rename material/assets/javascripts/{vendor.568ba93b.min.js => vendor.877163d5.min.js} (70%) rename material/assets/javascripts/{vendor.568ba93b.min.js.map => vendor.877163d5.min.js.map} (99%) rename material/assets/stylesheets/{main.04aed59c.min.css => main.d49d26fc.min.css} (99%) rename material/assets/stylesheets/{main.04aed59c.min.css.map => main.d49d26fc.min.css.map} (99%) create mode 100644 material/assets/stylesheets/overrides.0ad0ad40.min.css create mode 100644 material/assets/stylesheets/overrides.0ad0ad40.min.css.map rename material/assets/stylesheets/{palette.e185632b.min.css => palette.87445083.min.css} (99%) rename material/assets/stylesheets/{palette.e185632b.min.css.map => palette.87445083.min.css.map} (99%) create mode 100644 src/assets/stylesheets/overrides.scss create mode 100644 src/assets/stylesheets/overrides/_admonition.scss create mode 100644 src/assets/stylesheets/overrides/_announce.scss create mode 100644 src/assets/stylesheets/overrides/_typeset.scss diff --git a/MANIFEST.in b/MANIFEST.in index 50ff2bbc9..7ac8c7116 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ recursive-include material *.js *.css *.map *.html *.svg *.png *.yml recursive-include material *.ttf *.woff *.woff2 LICENSE* +recursive-exclude material/assets overrides* recursive-exclude material/overrides * recursive-exclude site * recursive-exclude src * diff --git a/docs/extensions/codehilite.md b/docs/extensions/codehilite.md deleted file mode 100644 index 4640389a5..000000000 --- a/docs/extensions/codehilite.md +++ /dev/null @@ -1,966 +0,0 @@ ---- -template: overrides/main.html ---- - -# CodeHilite - -[CodeHilite][1] is an extension that adds syntax highlighting to code blocks -and is included in the standard Markdown library. It uses [Pygments][2] during -the compilation of the Markdown file to provide syntax highlighting for over -[300 languages][3] and has no JavaScript runtime dependency. - - [1]: https://python-markdown.github.io/extensions/code_hilite/ - [2]: https://pygments.org - [3]: http://pygments.org/languages - -## Configuration - -Add the following lines to `mkdocs.yml`: - -``` yaml -markdown_extensions: - - codehilite -``` - -## Usage - -### Specifying the language - -The CodeHilite extension uses the same syntax as regular Markdown code blocks, -but needs to know the language of the code block. This can be done in three -different ways. - -#### via Markdown syntax <small>recommended</small> - -In Markdown, code blocks can be opened and closed by writing three backticks on -separate lines. To add code highlighting to those blocks, the easiest way is -to specify the language identifier directly after the opening block. - -Example: - -```` markdown -``` python -import tensorflow as tf -``` -```` - -Result: - -``` python -import tensorflow as tf -``` - -#### via Shebang - -Alternatively, if the first line of a code block contains a shebang, the -language is derived from the path referenced in the shebang. This will only -work for code blocks that are indented using four spaces, not for those -encapsulated in three backticks. - -Example: - -```` markdown - #!/usr/bin/python - import tensorflow as tf -```` - -Result: - -``` python -#!/usr/bin/python -import tensorflow as tf -``` - -#### via three colons - -If the first line starts with three colons followed by a language identifier, -the first line is stripped. This will only work for code blocks that are -indented using four spaces, not for those encapsulated in three backticks. - -Example: - -``` markdown - :::python - import tensorflow as tf -``` - -Result: - - :::python - import tensorflow as tf - -### Adding line numbers - -Line numbers can be added to a code block by enabling the `linenums` flag in -`mkdocs.yml` or adding `linenums=1` right after the language identifier: - -``` yaml -markdown_extensions: - - codehilite: - linenums: true -``` - -Example: - -```` markdown -``` python linenums="1" -""" Bubble sort """ -def bubble_sort(items): - for i in range(len(items)): - for j in range(len(items) - 1 - i): - if items[j] > items[j + 1]: - items[j], items[j + 1] = items[j + 1], items[j] -``` -```` - -Result: - -``` python linenums="1" -""" Bubble sort """ -def bubble_sort(items): - for i in range(len(items)): - for j in range(len(items) - 1 - i): - if items[j] > items[j + 1]: - items[j], items[j + 1] = items[j + 1], items[j] -``` - -### Grouping code blocks - -The [Tabbed][4] extension which is part of the [PyMdown Extensions][5] -package adds support for grouping Markdown blocks with tabs. This is especially -useful for documenting projects with multiple language bindings. - -Add the Tabbed and SuperFences extensions to `mkdocs.yml`: - -``` yaml -markdown_extensions: - - codehilite - - pymdownx.tabbed - - pymdownx.superfences -``` - -Add your tabbed code to your markdown file. Example: - -```` -=== "Bash" - ``` bash - #!/bin/bash - - echo "Hello world!" - ``` - -=== "C" - ``` c - #include <stdio.h> - - int main(void) { - printf("Hello world!\n"); - return 0; - } - ``` - -=== "C++" - ``` c++ - #include <iostream> - - int main(void) { - std::cout << "Hello world!" << std::endl; - return 0; - } - ``` - -=== "C#" - ``` c# - using System; - - class Program { - static void Main(string[] args) { - Console.WriteLine("Hello world!"); - } - } - ``` -```` - -Result: - -=== "Bash" - ``` bash - #!/bin/bash - - echo "Hello world!" - ``` - -=== "C" - ``` c - #include <stdio.h> - - int main(void) { - printf("Hello world!\n"); - return 0; - } - ``` - -=== "C++" - ``` c++ - #include <iostream> - - int main(void) { - std::cout << "Hello world!" << std::endl; - return 0; - } - ``` - -=== "C#" - ``` c# - using System; - - class Program { - static void Main(string[] args) { - Console.WriteLine("Hello world!"); - } - } - ``` - - [4]: https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/ - [5]: https://facelessuser.github.io/pymdown-extensions - -### Highlighting specific lines - -Specific lines can be highlighted by passing the line numbers to the `hl_lines` -argument placed right after the language identifier. Line counts start at 1. - -Example: - -```` markdown -``` python hl_lines="3 4" -""" Bubble sort """ -def bubble_sort(items): - for i in range(len(items)): - for j in range(len(items) - 1 - i): - if items[j] > items[j + 1]: - items[j], items[j + 1] = items[j + 1], items[j] -``` -```` - -Result: - -``` python linenums="1" hl_lines="3 4" -""" Bubble sort """ -def bubble_sort(items): - for i in range(len(items)): - for j in range(len(items) - 1 - i): - if items[j] > items[j + 1]: - items[j], items[j + 1] = items[j + 1], items[j] -``` - -## Supported languages <small>excerpt</small> - -CodeHilite uses [Pygments][2], a generic syntax highlighter with support for -over [300 languages][3], so the following list of examples is just an excerpt. - -### Bash - -``` bash -#!/bin/bash - -for OPT in "$@" -do - case "$OPT" in - '-f' ) canonicalize=1 ;; - '-n' ) switchlf="-n" ;; - esac -done - -# readlink -f -function __readlink_f { - target="$1" - while test -n "$target"; do - filepath="$target" - cd `dirname "$filepath"` - target=`readlink "$filepath"` - done - /bin/echo $switchlf `pwd -P`/`basename "$filepath"` -} - -if [ ! "$canonicalize" ]; then - readlink $switchlf "$@" -else - for file in "$@" - do - case "$file" in - -* ) ;; - * ) __readlink_f "$file" ;; - esac - done -fi - -exit $? -``` - -### C - -``` c -extern size_t -pb_varint_scan(const uint8_t data[], size_t left) { - assert(data && left); - left = left > 10 ? 10 : left; - -#ifdef __SSE2__ - - /* Mapping: remaining bytes ==> bitmask */ - static const int mask_map[] = { - 0x0000, 0x0001, 0x0003, 0x0007, - 0x000F, 0x001F, 0x003F, 0x007F, - 0x00FF, 0x01FF, 0x03FF - }; - - /* Load buffer into 128-bit integer and create high-bit mask */ - __m128i temp = _mm_loadu_si128((const __m128i *)data); - __m128i high = _mm_set1_epi8(0x80); - - /* Intersect and extract mask with high-bits set */ - int mask = _mm_movemask_epi8(_mm_and_si128(temp, high)); - mask = (mask & mask_map[left]) ^ mask_map[left]; - - /* Count trailing zeroes */ - return mask ? __builtin_ctz(mask) + 1 : 0; - -#else - - /* Linear scan */ - size_t size = 0; - while (data[size++] & 0x80) - if (!--left) - return 0; - return size; - -#endif /* __SSE2__ */ - -} -``` - -### C++ - -``` cpp -Extension:: -Extension(const Descriptor *descriptor, const Descriptor *scope) : - descriptor_(descriptor), - scope_(scope) { - - /* Extract full name for signature */ - variables_["signature"] = descriptor_->full_name(); - - /* Prepare message symbol */ - variables_["message"] = StringReplace( - variables_["signature"], ".", "_", true); - LowerString(&(variables_["message"])); - - /* Suffix scope to identifiers, if given */ - string suffix (""); - if (scope_) { - suffix = scope_->full_name(); - - /* Check if the base and extension types are in the same package */ - if (!scope_->file()->package().compare(descriptor_->file()->package())) - suffix = StripPrefixString(suffix, - scope_->file()->package() + "."); - - /* Append to signature */ - variables_["signature"] += ".[" + suffix +"]"; - suffix = "_" + suffix; - } - - /* Prepare extension symbol */ - variables_["extension"] = StringReplace( - suffix, ".", "_", true); - LowerString(&(variables_["extension"])); -} -``` - -### C# - -``` csharp -public static void Send( - Socket socket, byte[] buffer, int offset, int size, int timeout) { - int startTickCount = Environment.TickCount; - int sent = 0; - do { - if (Environment.TickCount > startTickCount + timeout) - throw new Exception("Timeout."); - try { - sent += socket.Send(buffer, offset + sent, - size - sent, SocketFlags.None); - } catch (SocketException ex) { - if (ex.SocketErrorCode == SocketError.WouldBlock || - ex.SocketErrorCode == SocketError.IOPending || - ex.SocketErrorCode == SocketError.NoBufferSpaceAvailable) { - /* Socket buffer is probably full, wait and try again */ - Thread.Sleep(30); - } else { - throw ex; - } - } - } while (sent < size); -} -``` - -### Clojure - -``` clojure -(clojure-version) - -(defn partition-when - [f] - (fn [rf] - (let [a (java.util.ArrayList.) - fval (volatile! false)] - (fn - ([] (rf)) - ([result] - (let [result (if (.isEmpty a) - result - (let [v (vec (.toArray a))] - ;; Clear first - (.clear a) - (unreduced (rf result v))))] - (rf result))) - ([result input] - (if-not (and (f input) @fval) - (do - (vreset! fval true) - (.add a input) - result) - (let [v (vec (.toArray a))] - (.clear a) - (let [ret (rf result v)] - (when-not (reduced? ret) - (.add a input)) - ret)))))))) - - -(into [] (partition-when - #(.startsWith % ">>")) - ["1d" "33" ">> 1" ">> 2" "22" ">> 3"]) -``` - -### Diff - -``` diff -Index: grunt.js -=================================================================== ---- grunt.js (revision 31200) -+++ grunt.js (working copy) -@@ -12,6 +12,7 @@ - - module.exports = function (grunt) { - -+ console.log('hello world'); - // Project configuration. - grunt.initConfig({ - lint: { -@@ -19,10 +20,6 @@ - 'packages/services.web/{!(test)/**/,}*.js', - 'packages/error/**/*.js' - ], -- scripts: [ -- 'grunt.js', -- 'db/**/*.js' -- ], - browser: [ - 'packages/web/server.js', - 'packages/web/server/**/*.js', -``` - -### Docker - -``` docker -FROM ubuntu - -# Install vnc, xvfb in order to create a 'fake' display and firefox -RUN apt-get update && apt-get install -y x11vnc xvfb firefox -RUN mkdir ~/.vnc - -# Setup a password -RUN x11vnc -storepasswd 1234 ~/.vnc/passwd - -# Autostart firefox (might not be the best way, but it does the trick) -RUN bash -c 'echo "firefox" >> /.bashrc' - -EXPOSE 5900 -CMD ["x11vnc", "-forever", "-usepw", "-create"] -``` - -### Elixir - -``` elixir -require Logger - -def accept(port) do - {:ok, socket} = :gen_tcp.listen(port, - [:binary, packet: :line, active: false, reuseaddr: true]) - Logger.info "Accepting connections on port #{port}" - loop_acceptor(socket) -end - -defp loop_acceptor(socket) do - {:ok, client} = :gen_tcp.accept(socket) - serve(client) - loop_acceptor(socket) -end - -defp serve(socket) do - socket - |> read_line() - |> write_line(socket) - - serve(socket) -end - -defp read_line(socket) do - {:ok, data} = :gen_tcp.recv(socket, 0) - data -end - -defp write_line(line, socket) do - :gen_tcp.send(socket, line) -end -``` - -### Erlang - -``` erlang -circular(Defs) -> - [ { { Type, Base }, Fields } || - { { Type, Base }, Fields } <- Defs, Type == msg, circular(Base, Defs) ]. - -circular(Base, Defs) -> - Fields = proplists:get_value({ msg, Base }, Defs), - circular(Defs, Fields, [Base]). - -circular(_Defs, [], _Path) -> - false; -circular(Defs, [Field | Fields], Path) -> - case Field#field.type of - { msg, Type } -> - case lists:member(Type, Path) of - false -> - Children = proplists:get_value({ msg, Type }, Defs), - case circular(Defs, Children, [Type | Path]) of - false -> circular(Defs, Fields, Path); - true -> true - end; - true -> - Type == lists:last(Path) andalso - (length(Path) == 1 orelse not is_tree(Path)) - end; - _ -> - circular(Defs, Fields, Path) - end. -``` - -### F# - -``` fsharp -/// Asynchronously download retangles from the server -/// and decode the JSON format to F# Rectangle record -let [<Js>] getRectangles () : Async<Rectangle[]> = async { - let req = XMLHttpRequest() - req.Open("POST", "/get", true) - let! resp = req.AsyncSend() - return JSON.parse(resp) } - -/// Repeatedly update rectangles after 0.5 sec -let [<Js>] updateLoop () = async { - while true do - do! Async.Sleep(500) - let! rects = getRectangles() - cleanRectangles() - rects |> Array.iter createRectangle } -``` - -### Go - -``` go -package main - -import "fmt" - -func counter(id int, channel chan int, closer bool) { - for i := 0; i < 10000000; i++ { - fmt.Println("process", id," send", i) - channel <- 1 - } - if closer { close(channel ) } -} - -func main() { - channel := make(chan int) - go counter(1, channel, false) - go counter(2, channel, true) - - x := 0 - - // receiving data from channel - for i := range channel { - fmt.Println("receiving") - x += i - } - - fmt.Println(x) -} -``` - -### HTML - -``` html -<!doctype html> -<html class="no-js" lang=""> - <head> - <meta charset="utf-8"> - <meta http-equiv="x-ua-compatible" content="ie=edge"> - <title>HTML5 Boilerplate - - - - - - - - - -