From ddcdcd1a00701ffed831478343e14ced15e8b713 Mon Sep 17 00:00:00 2001 From: Michael Sievenpiper Date: Tue, 10 Feb 2026 12:39:38 +0000 Subject: [PATCH 1/3] - add some early stages documentation and diagrams --- docs/Gemfile | 5 + docs/Gemfile.lock | 178 + docs/_config.yml | 28 + docs/_includes/head_custom.html | 0 docs/_site/assets/css/just-the-docs-dark.css | 7792 +++++++++++++++++ .../assets/css/just-the-docs-dark.css.map | 1 + .../assets/css/just-the-docs-default.css | 7511 ++++++++++++++++ .../assets/css/just-the-docs-default.css.map | 1 + .../assets/css/just-the-docs-head-nav.css | 3 + docs/_site/assets/css/just-the-docs-light.css | 7511 ++++++++++++++++ .../assets/css/just-the-docs-light.css.map | 1 + docs/_site/assets/js/just-the-docs.js | 603 ++ docs/_site/assets/js/search-data.json | 485 + docs/_site/assets/js/vendor/lunr.min.js | 61 + docs/_site/condition-processor.html | 123 + docs/_site/console.html | 136 + docs/_site/controllers.html | 93 + docs/_site/dependency-injection.html | 76 + docs/_site/events.html | 122 + docs/_site/index.html | 47 + docs/_site/middleware.html | 123 + docs/_site/request-lifecycle.html | 77 + docs/_site/routing.html | 56 + docs/_site/viewmodels.html | 163 + docs/condition-processor.md | 212 + docs/console.md | 272 + docs/controllers.md | 175 + docs/dependency-injection.md | 185 + docs/events.md | 230 + docs/index.md | 102 + docs/middleware.md | 209 + docs/request-lifecycle.md | 157 + docs/routing.md | 145 + docs/viewmodels.md | 268 + 34 files changed, 27151 insertions(+) create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/_config.yml create mode 100644 docs/_includes/head_custom.html create mode 100644 docs/_site/assets/css/just-the-docs-dark.css create mode 100644 docs/_site/assets/css/just-the-docs-dark.css.map create mode 100644 docs/_site/assets/css/just-the-docs-default.css create mode 100644 docs/_site/assets/css/just-the-docs-default.css.map create mode 100644 docs/_site/assets/css/just-the-docs-head-nav.css create mode 100644 docs/_site/assets/css/just-the-docs-light.css create mode 100644 docs/_site/assets/css/just-the-docs-light.css.map create mode 100644 docs/_site/assets/js/just-the-docs.js create mode 100644 docs/_site/assets/js/search-data.json create mode 100644 docs/_site/assets/js/vendor/lunr.min.js create mode 100644 docs/_site/condition-processor.html create mode 100644 docs/_site/console.html create mode 100644 docs/_site/controllers.html create mode 100644 docs/_site/dependency-injection.html create mode 100644 docs/_site/events.html create mode 100644 docs/_site/index.html create mode 100644 docs/_site/middleware.html create mode 100644 docs/_site/request-lifecycle.html create mode 100644 docs/_site/routing.html create mode 100644 docs/_site/viewmodels.html create mode 100644 docs/condition-processor.md create mode 100644 docs/console.md create mode 100644 docs/controllers.md create mode 100644 docs/dependency-injection.md create mode 100644 docs/events.md create mode 100644 docs/index.md create mode 100644 docs/middleware.md create mode 100644 docs/request-lifecycle.md create mode 100644 docs/routing.md create mode 100644 docs/viewmodels.md diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..5b1a4fc --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" + +gem "jekyll", "~> 4.3" +gem "just-the-docs" +gem "webrick" # Required for Ruby 3+ diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 0000000..d8b61a5 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,178 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.8) + public_suffix (>= 2.0.2, < 8.0) + base64 (0.3.0) + bigdecimal (4.0.1) + colorator (1.1.0) + concurrent-ruby (1.3.6) + csv (3.3.5) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.17.3) + ffi (1.17.3-arm-linux-gnu) + ffi (1.17.3-arm-linux-musl) + ffi (1.17.3-arm64-darwin) + forwardable-extended (2.6.0) + google-protobuf (4.33.5) + bigdecimal + rake (>= 13) + http_parser.rb (0.8.1) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + jekyll (4.4.1) + addressable (~> 2.4) + base64 (~> 0.2) + colorator (~> 1.0) + csv (~> 3.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + json (~> 2.6) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (~> 0.3, >= 0.3.6) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.1.0) + sass-embedded (~> 1.75) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + json (2.18.1) + just-the-docs (0.12.0) + jekyll (>= 3.8.5) + jekyll-include-cache + jekyll-seo-tag (>= 2.0) + rake (>= 12.3.1) + kramdown (2.5.2) + rexml (>= 3.4.4) + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.10.0) + logger + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) + mercenary (0.4.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (7.0.2) + rake (13.3.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.4) + rouge (4.7.0) + safe_yaml (1.0.5) + sass-embedded (1.97.3) + google-protobuf (~> 4.31) + rake (>= 13) + sass-embedded (1.97.3-aarch64-linux-android) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-arm-linux-androideabi) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-arm-linux-gnueabihf) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-arm-linux-musleabihf) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-arm64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-riscv64-linux-android) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-riscv64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-riscv64-linux-musl) + google-protobuf (~> 4.31) + sass-embedded (1.97.3-x86_64-linux-android) + google-protobuf (~> 4.31) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.6.0) + webrick (1.9.2) + +PLATFORMS + aarch64-linux-android + arm-linux-androideabi + arm-linux-gnu + arm-linux-gnueabihf + arm-linux-musl + arm-linux-musleabihf + arm64-darwin-24 + riscv64-linux-android + riscv64-linux-gnu + riscv64-linux-musl + ruby + x86_64-linux-android + +DEPENDENCIES + jekyll (~> 4.3) + just-the-docs + webrick + +CHECKSUMS + addressable (2.8.8) sha256=7c13b8f9536cf6364c03b9d417c19986019e28f7c00ac8132da4eb0fe393b057 + base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b + bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7 + colorator (1.1.0) sha256=e2f85daf57af47d740db2a32191d1bdfb0f6503a0dfbc8327d0c9154d5ddfc38 + concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab + csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f + em-websocket (0.5.3) sha256=f56a92bde4e6cb879256d58ee31f124181f68f8887bd14d53d5d9a292758c6a8 + eventmachine (1.2.7) sha256=994016e42aa041477ba9cff45cbe50de2047f25dd418eba003e84f0d16560972 + ffi (1.17.3) sha256=0e9f39f7bb3934f77ad6feab49662be77e87eedcdeb2a3f5c0234c2938563d4c + ffi (1.17.3-arm-linux-gnu) sha256=5bd4cea83b68b5ec0037f99c57d5ce2dd5aa438f35decc5ef68a7d085c785668 + ffi (1.17.3-arm-linux-musl) sha256=0d7626bb96265f9af78afa33e267d71cfef9d9a8eb8f5525344f8da6c7d76053 + ffi (1.17.3-arm64-darwin) sha256=0c690555d4cee17a7f07c04d59df39b2fba74ec440b19da1f685c6579bb0717f + forwardable-extended (2.6.0) sha256=1bec948c469bbddfadeb3bd90eb8c85f6e627a412a3e852acfd7eaedbac3ec97 + google-protobuf (4.33.5) sha256=1b64fb774c101b23ac3f6923eca24be04fd971635d235c4cd4cfe0d752620da0 + http_parser.rb (0.8.1) sha256=9ae8df145b39aa5398b2f90090d651c67bd8e2ebfe4507c966579f641e11097a + i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5 + jekyll (4.4.1) sha256=4c1144d857a5b2b80d45b8cf5138289579a9f8136aadfa6dd684b31fe2bc18c1 + jekyll-include-cache (0.2.1) sha256=c7d4b9e551732a27442cb2ce853ba36a2f69c66603694b8c1184c99ab1a1a205 + jekyll-sass-converter (3.1.0) sha256=83925d84f1d134410c11d0c6643b0093e82e3a3cf127e90757a85294a3862443 + jekyll-seo-tag (2.8.0) sha256=3f2ed1916d56f14ebfa38e24acde9b7c946df70cb183af2cb5f0598f21ae6818 + jekyll-watch (2.2.1) sha256=bc44ed43f5e0a552836245a54dbff3ea7421ecc2856707e8a1ee203a8387a7e1 + json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986 + just-the-docs (0.12.0) sha256=15f2839ac9082898d60f33b978aa6f8e46fc50ba8fac20ae7a7f0e1fb295523e + kramdown (2.5.2) sha256=1ba542204c66b6f9111ff00dcc26075b95b220b07f2905d8261740c82f7f02fa + kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729 + liquid (4.0.4) sha256=4fcfebb1a045e47918388dbb7a0925e7c3893e58d2bd6c3b3c73ec17a2d8fdb3 + listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2 + logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 + mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138 + pathutil (0.16.2) sha256=e43b74365631cab4f6d5e4228f812927efc9cb2c71e62976edcb252ee948d589 + public_suffix (7.0.2) sha256=9114090c8e4e7135c1fd0e7acfea33afaab38101884320c65aaa0ffb8e26a857 + rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c + rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe + rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e + rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142 + rouge (4.7.0) sha256=dba5896715c0325c362e895460a6d350803dbf6427454f49a47500f3193ea739 + safe_yaml (1.0.5) sha256=a6ac2d64b7eb027bdeeca1851fe7e7af0d668e133e8a88066a0c6f7087d9f848 + sass-embedded (1.97.3) sha256=c4136da69ae3acfa7b0809f4ec10891125edf57df214a2d1ab570f721f96f7a6 + sass-embedded (1.97.3-aarch64-linux-android) sha256=623b2f52fed6e3696c6445406e4efaef57b54442cc35604bfffbb82aef7d5c45 + sass-embedded (1.97.3-arm-linux-androideabi) sha256=e2ef33b187066e09374023e58e72cf3b5baabe6b77ecd74356fe9b4892a1c6e1 + sass-embedded (1.97.3-arm-linux-gnueabihf) sha256=ce443b57f3d7f03740267cf0f2cdff13e8055dd5938488967746f29f230222da + sass-embedded (1.97.3-arm-linux-musleabihf) sha256=be3972424616f916ce1f4f41228266d57339e490dfd7ca0cea5588579564d4c0 + sass-embedded (1.97.3-arm64-darwin) sha256=8897d3503efe75c30584070a7104095545f5157665029aeb9bff3fa533a73861 + sass-embedded (1.97.3-riscv64-linux-android) sha256=201426b3e58611aa8cf34a7574df51905ec42fefb5a69982cc8497ac7fb26a6b + sass-embedded (1.97.3-riscv64-linux-gnu) sha256=d7bac32f4de55c589a036da13ac4482bf5b7dfac980b4c0203d31a1bd9f07622 + sass-embedded (1.97.3-riscv64-linux-musl) sha256=621d981d700e2b8d0459b5ea696fff746dfa07d6b6bbc70cd982905214b07888 + sass-embedded (1.97.3-x86_64-linux-android) sha256=8f5e179bee8610be432499f228ea4e53ab362b1db0da1ae3cd3e76b114712372 + terminal-table (3.0.2) sha256=f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91 + unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a + webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131 + +BUNDLED WITH + 4.0.3 diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..3b2509a --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,28 @@ +title: Cubex Framework +description: Documentation for the Cubex PHP 8.2+ web application framework +theme: just-the-docs + +url: https://cubex.github.io +baseurl: /framework + +aux_links: + "GitHub": + - "https://github.com/cubex/framework" + "Packagist": + - "https://packagist.org/packages/cubex/framework" + +nav_sort: order + +mermaid: + version: "11.4.1" + +callouts: + note: + title: Note + color: blue + warning: + title: Warning + color: red + tip: + title: Tip + color: green diff --git a/docs/_includes/head_custom.html b/docs/_includes/head_custom.html new file mode 100644 index 0000000..e69de29 diff --git a/docs/_site/assets/css/just-the-docs-dark.css b/docs/_site/assets/css/just-the-docs-dark.css new file mode 100644 index 0000000..665e2a7 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-dark.css @@ -0,0 +1,7792 @@ +@charset "UTF-8"; +/* +generated by accessible-pygments +Copyright (c) 2022, Quansight Labs +Licensed under the BSD license, see LICENSE for details. +-- +generated by Pygments +Copyright 2006-2025 by the Pygments team. +Licensed under the BSD license, see LICENSE for details. +*/ +.highlight .hll { + background-color: rgba(9, 105, 218, 0.2901960784); +} + +.highlight .c { + color: #6E7781; +} /* Comment */ +.highlight .err { + color: #CF222E; +} /* Error */ +.highlight .k { + color: #CF222E; +} /* Keyword */ +.highlight .l { + color: #953800; +} /* Literal */ +.highlight .n { + color: #8250DF; +} /* Name */ +.highlight .o { + color: #116329; +} /* Operator */ +.highlight .p { + color: #24292F; +} /* Punctuation */ +.highlight .ch { + color: #6E7781; +} /* Comment.Hashbang */ +.highlight .cm { + color: #6E7781; +} /* Comment.Multiline */ +.highlight .cp { + color: #6E7781; +} /* Comment.Preproc */ +.highlight .cpf { + color: #6E7781; +} /* Comment.PreprocFile */ +.highlight .c1 { + color: #6E7781; +} /* Comment.Single */ +.highlight .cs { + color: #6E7781; +} /* Comment.Special */ +.highlight .gd { + color: #0550AE; +} /* Generic.Deleted */ +.highlight .ge { + font-style: italic; +} /* Generic.Emph */ +.highlight .gr { + color: #CF222E; +} /* Generic.Error */ +.highlight .gh { + color: #0550AE; +} /* Generic.Heading */ +.highlight .gs { + font-weight: bold; +} /* Generic.Strong */ +.highlight .gu { + color: #0550AE; +} /* Generic.Subheading */ +.highlight .kc { + color: #0550AE; +} /* Keyword.Constant */ +.highlight .kd { + color: #CF222E; +} /* Keyword.Declaration */ +.highlight .kn { + color: #CF222E; +} /* Keyword.Namespace */ +.highlight .kp { + color: #CF222E; +} /* Keyword.Pseudo */ +.highlight .kr { + color: #CF222E; +} /* Keyword.Reserved */ +.highlight .kt { + color: #CF222E; +} /* Keyword.Type */ +.highlight .ld { + color: #953800; +} /* Literal.Date */ +.highlight .m { + color: #953800; +} /* Literal.Number */ +.highlight .s { + color: #0550AE; +} /* Literal.String */ +.highlight .na { + color: #953800; +} /* Name.Attribute */ +.highlight .nb { + color: #953800; +} /* Name.Builtin */ +.highlight .nc { + color: #0550AE; +} /* Name.Class */ +.highlight .no { + color: #0550AE; +} /* Name.Constant */ +.highlight .nd { + color: #953800; +} /* Name.Decorator */ +.highlight .ni { + color: #116329; +} /* Name.Entity */ +.highlight .ne { + color: #8250DF; +} /* Name.Exception */ +.highlight .nf { + color: #0550AE; +} /* Name.Function */ +.highlight .nl { + color: #953800; +} /* Name.Label */ +.highlight .nn { + color: #24292F; +} /* Name.Namespace */ +.highlight .nx { + color: #8250DF; +} /* Name.Other */ +.highlight .py { + color: #0550AE; +} /* Name.Property */ +.highlight .nt { + color: #116329; +} /* Name.Tag */ +.highlight .nv { + color: #953800; +} /* Name.Variable */ +.highlight .ow { + color: #8250DF; +} /* Operator.Word */ +.highlight .pm { + color: #24292F; +} /* Punctuation.Marker */ +.highlight .w { + color: #24292F; +} /* Text.Whitespace */ +.highlight .mb { + color: #953800; +} /* Literal.Number.Bin */ +.highlight .mf { + color: #953800; +} /* Literal.Number.Float */ +.highlight .mh { + color: #953800; +} /* Literal.Number.Hex */ +.highlight .mi { + color: #953800; +} /* Literal.Number.Integer */ +.highlight .mo { + color: #953800; +} /* Literal.Number.Oct */ +.highlight .sa { + color: #0550AE; +} /* Literal.String.Affix */ +.highlight .sb { + color: #0550AE; +} /* Literal.String.Backtick */ +.highlight .sc { + color: #0550AE; +} /* Literal.String.Char */ +.highlight .dl { + color: #0550AE; +} /* Literal.String.Delimiter */ +.highlight .sd { + color: #0550AE; +} /* Literal.String.Doc */ +.highlight .s2 { + color: #0550AE; +} /* Literal.String.Double */ +.highlight .se { + color: #0550AE; +} /* Literal.String.Escape */ +.highlight .sh { + color: #0550AE; +} /* Literal.String.Heredoc */ +.highlight .si { + color: #0550AE; +} /* Literal.String.Interpol */ +.highlight .sx { + color: #0550AE; +} /* Literal.String.Other */ +.highlight .sr { + color: #0550AE; +} /* Literal.String.Regex */ +.highlight .s1 { + color: #0550AE; +} /* Literal.String.Single */ +.highlight .ss { + color: #0550AE; +} /* Literal.String.Symbol */ +.highlight .bp { + color: #953800; +} /* Name.Builtin.Pseudo */ +.highlight .fm { + color: #0550AE; +} /* Name.Function.Magic */ +.highlight .vc { + color: #953800; +} /* Name.Variable.Class */ +.highlight .vg { + color: #953800; +} /* Name.Variable.Global */ +.highlight .vi { + color: #953800; +} /* Name.Variable.Instance */ +.highlight .vm { + color: #953800; +} /* Name.Variable.Magic */ +.highlight .il { + color: #953800; +} /* Literal.Number.Integer.Long */ +/* +generated by accessible-pygments +Copyright (c) 2022, Quansight Labs +Licensed under the BSD license, see LICENSE for details. +-- +generated by Pygments +Copyright 2006-2025 by the Pygments team. +Licensed under the BSD license, see LICENSE for details. +*/ +.highlight .hll { + background-color: #6e7681; +} + +.highlight { + background: #0d1117; + color: #E6EDF3; +} + +.highlight .c { + color: #8B949E; + font-style: italic; +} /* Comment */ +.highlight .err { + color: #F85149; +} /* Error */ +.highlight .esc { + color: #E6EDF3; +} /* Escape */ +.highlight .g { + color: #E6EDF3; +} /* Generic */ +.highlight .k { + color: #FF7B72; +} /* Keyword */ +.highlight .l { + color: #A5D6FF; +} /* Literal */ +.highlight .n { + color: #E6EDF3; +} /* Name */ +.highlight .o { + color: #FF7B72; + font-weight: bold; +} /* Operator */ +.highlight .x { + color: #E6EDF3; +} /* Other */ +.highlight .p { + color: #E6EDF3; +} /* Punctuation */ +.highlight .ch { + color: #8B949E; + font-style: italic; +} /* Comment.Hashbang */ +.highlight .cm { + color: #8B949E; + font-style: italic; +} /* Comment.Multiline */ +.highlight .cp { + color: #8B949E; + font-weight: bold; + font-style: italic; +} /* Comment.Preproc */ +.highlight .cpf { + color: #8B949E; + font-style: italic; +} /* Comment.PreprocFile */ +.highlight .c1 { + color: #8B949E; + font-style: italic; +} /* Comment.Single */ +.highlight .cs { + color: #8B949E; + font-weight: bold; + font-style: italic; +} /* Comment.Special */ +.highlight .gd { + color: #FFA198; + background-color: #490202; +} /* Generic.Deleted */ +.highlight .ge { + color: #E6EDF3; + font-style: italic; +} /* Generic.Emph */ +.highlight .ges { + color: #E6EDF3; + font-weight: bold; + font-style: italic; +} /* Generic.EmphStrong */ +.highlight .gr { + color: #FFA198; +} /* Generic.Error */ +.highlight .gh { + color: #79C0FF; + font-weight: bold; +} /* Generic.Heading */ +.highlight .gi { + color: #56D364; + background-color: #0F5323; +} /* Generic.Inserted */ +.highlight .go { + color: #8B949E; +} /* Generic.Output */ +.highlight .gp { + color: #8B949E; +} /* Generic.Prompt */ +.highlight .gs { + color: #E6EDF3; + font-weight: bold; +} /* Generic.Strong */ +.highlight .gu { + color: #79C0FF; +} /* Generic.Subheading */ +.highlight .gt { + color: #FF7B72; +} /* Generic.Traceback */ +.highlight .g-Underline { + color: #E6EDF3; + text-decoration: underline; +} /* Generic.Underline */ +.highlight .kc { + color: #79C0FF; +} /* Keyword.Constant */ +.highlight .kd { + color: #FF7B72; +} /* Keyword.Declaration */ +.highlight .kn { + color: #FF7B72; +} /* Keyword.Namespace */ +.highlight .kp { + color: #79C0FF; +} /* Keyword.Pseudo */ +.highlight .kr { + color: #FF7B72; +} /* Keyword.Reserved */ +.highlight .kt { + color: #FF7B72; +} /* Keyword.Type */ +.highlight .ld { + color: #79C0FF; +} /* Literal.Date */ +.highlight .m { + color: #A5D6FF; +} /* Literal.Number */ +.highlight .s { + color: #A5D6FF; +} /* Literal.String */ +.highlight .na { + color: #E6EDF3; +} /* Name.Attribute */ +.highlight .nb { + color: #E6EDF3; +} /* Name.Builtin */ +.highlight .nc { + color: #F0883E; + font-weight: bold; +} /* Name.Class */ +.highlight .no { + color: #79C0FF; + font-weight: bold; +} /* Name.Constant */ +.highlight .nd { + color: #D2A8FF; + font-weight: bold; +} /* Name.Decorator */ +.highlight .ni { + color: #FFA657; +} /* Name.Entity */ +.highlight .ne { + color: #F0883E; + font-weight: bold; +} /* Name.Exception */ +.highlight .nf { + color: #D2A8FF; + font-weight: bold; +} /* Name.Function */ +.highlight .nl { + color: #79C0FF; + font-weight: bold; +} /* Name.Label */ +.highlight .nn { + color: #FF7B72; +} /* Name.Namespace */ +.highlight .nx { + color: #E6EDF3; +} /* Name.Other */ +.highlight .py { + color: #79C0FF; +} /* Name.Property */ +.highlight .nt { + color: #7EE787; +} /* Name.Tag */ +.highlight .nv { + color: #79C0FF; +} /* Name.Variable */ +.highlight .ow { + color: #FF7B72; + font-weight: bold; +} /* Operator.Word */ +.highlight .pm { + color: #E6EDF3; +} /* Punctuation.Marker */ +.highlight .w { + color: #6E7681; +} /* Text.Whitespace */ +.highlight .mb { + color: #A5D6FF; +} /* Literal.Number.Bin */ +.highlight .mf { + color: #A5D6FF; +} /* Literal.Number.Float */ +.highlight .mh { + color: #A5D6FF; +} /* Literal.Number.Hex */ +.highlight .mi { + color: #A5D6FF; +} /* Literal.Number.Integer */ +.highlight .mo { + color: #A5D6FF; +} /* Literal.Number.Oct */ +.highlight .sa { + color: #79C0FF; +} /* Literal.String.Affix */ +.highlight .sb { + color: #A5D6FF; +} /* Literal.String.Backtick */ +.highlight .sc { + color: #A5D6FF; +} /* Literal.String.Char */ +.highlight .dl { + color: #79C0FF; +} /* Literal.String.Delimiter */ +.highlight .sd { + color: #A5D6FF; +} /* Literal.String.Doc */ +.highlight .s2 { + color: #A5D6FF; +} /* Literal.String.Double */ +.highlight .se { + color: #79C0FF; +} /* Literal.String.Escape */ +.highlight .sh { + color: #79C0FF; +} /* Literal.String.Heredoc */ +.highlight .si { + color: #A5D6FF; +} /* Literal.String.Interpol */ +.highlight .sx { + color: #A5D6FF; +} /* Literal.String.Other */ +.highlight .sr { + color: #79C0FF; +} /* Literal.String.Regex */ +.highlight .s1 { + color: #A5D6FF; +} /* Literal.String.Single */ +.highlight .ss { + color: #A5D6FF; +} /* Literal.String.Symbol */ +.highlight .bp { + color: #E6EDF3; +} /* Name.Builtin.Pseudo */ +.highlight .fm { + color: #D2A8FF; + font-weight: bold; +} /* Name.Function.Magic */ +.highlight .vc { + color: #79C0FF; +} /* Name.Variable.Class */ +.highlight .vg { + color: #79C0FF; +} /* Name.Variable.Global */ +.highlight .vi { + color: #79C0FF; +} /* Name.Variable.Instance */ +.highlight .vm { + color: #79C0FF; +} /* Name.Variable.Magic */ +.highlight .il { + color: #A5D6FF; +} /* Literal.Number.Integer.Long */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; /* 1 */ + text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type=button], +[type=reset], +[type=submit] { + appearance: auto; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type=checkbox], +[type=radio] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type=search] { + appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-decoration { + appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + appearance: auto; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +:root { + color-scheme: dark; +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} +html { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + html { + font-size: 1rem !important; + } +} + +body { + font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; + font-size: inherit; + line-height: 1.4; + color: #e6e1e8; + background-color: #27262b; + overflow-wrap: break-word; +} + +ol, +ul, +dl, +pre, +address, +blockquote, +table, +div, +hr, +form, +fieldset, +noscript .table-wrapper { + margin-top: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6, +#toctitle { + margin-top: 0; + margin-bottom: 1em; + font-weight: 500; + line-height: 1.25; + color: #f5f6fa; +} + +p { + margin-top: 1em; + margin-bottom: 1em; +} + +a { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + text-decoration: none; +} + +a:not([class]) { + text-decoration: underline; + text-decoration-color: #44434d; + text-underline-offset: 2px; +} +a:not([class]):hover { + text-decoration-color: rgba(93.8194444444, 161.0416666667, 251.1805555556, 0.45); +} + +code { + font-family: "SFMono-Regular", menlo, consolas, monospace; + font-size: 0.75em; + line-height: 1.4; +} + +figure, +pre { + margin: 0; +} + +li { + margin: 0.25em 0; +} + +img { + max-width: 100%; + height: auto; +} + +hr { + height: 1px; + padding: 0; + margin: 2rem 0; + background-color: #44434d; + border: 0; +} + +blockquote { + margin: 10px 0; + margin-block-start: 0; + margin-inline-start: 0; + padding-left: 1rem; + border-left: 3px solid #44434d; +} + +.side-bar { + z-index: 0; + display: flex; + flex-wrap: wrap; + background-color: #27262b; +} +@media (min-width: 50rem) { + .side-bar { + flex-flow: column nowrap; + position: fixed; + width: 15.5rem; + height: 100%; + border-right: 1px solid #44434d; + align-items: flex-end; + } +} +@media (min-width: 66.5rem) { + .side-bar { + width: calc((100% - 66.5rem) / 2 + 16.5rem); + min-width: 16.5rem; + } +} +@media (min-width: 50rem) { + .side-bar + .main { + margin-left: 15.5rem; + } +} +@media (min-width: 66.5rem) { + .side-bar + .main { + margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); + } +} +.side-bar + .main .main-header { + display: none; + background-color: #27262b; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header { + display: flex; + background-color: #27262b; + } +} +.side-bar + .main .main-header.nav-open { + display: block; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header.nav-open { + display: flex; + } +} + +.main { + margin: auto; +} +@media (min-width: 50rem) { + .main { + position: relative; + max-width: 50rem; + } +} + +.main-content-wrap { + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-right: 2rem; + padding-left: 2rem; + } +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-top: 2rem; + padding-bottom: 2rem; + } +} + +.main-header { + z-index: 0; + border-bottom: 1px solid #44434d; +} +@media (min-width: 50rem) { + .main-header { + display: flex; + justify-content: space-between; + height: 3.75rem; + } +} + +.site-nav, +.site-header, +.site-footer { + width: 100%; +} +@media (min-width: 66.5rem) { + .site-nav, + .site-header, + .site-footer { + width: 16.5rem; + } +} + +.site-nav { + display: none; +} +.site-nav.nav-open { + display: block; +} +@media (min-width: 50rem) { + .site-nav { + display: block; + padding-top: 3rem; + padding-bottom: 1rem; + overflow-y: auto; + flex: 1 1 auto; + } +} + +.site-header { + display: flex; + min-height: 3.75rem; + align-items: center; +} +@media (min-width: 50rem) { + .site-header { + height: 3.75rem; + max-height: 3.75rem; + border-bottom: 1px solid #44434d; + } +} + +.site-title { + flex-grow: 1; + display: flex; + height: 100%; + align-items: center; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #f5f6fa; + outline-offset: -1px; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-title { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-title { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .site-title { + font-size: 1.5rem !important; + line-height: 1.25; + } +} +@media (min-width: 50rem) { + .site-title { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } +} + +.site-button { + display: flex; + height: 100%; + padding: 1rem; + align-items: center; + outline-offset: -1px; +} + +@media (min-width: 50rem) { + .site-header .site-button { + display: none; + } +} +.site-title:hover { + background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 80%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0) 100%); +} + +.site-button:hover { + background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 100%); +} + +.site-footer { + position: absolute; + bottom: 0; + left: 0; + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-footer { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-footer { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .site-footer { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .site-footer { + position: static; + justify-self: end; + } +} + +.icon { + width: 1.5rem; + height: 1.5rem; + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); +} + +.main-content { + line-height: 1.6; +} +.main-content ol, +.main-content ul, +.main-content dl, +.main-content pre, +.main-content address, +.main-content blockquote, +.main-content .table-wrapper { + margin-top: 0.5em; +} +.main-content a { + overflow: hidden; + text-overflow: ellipsis; +} +.main-content ul, +.main-content ol { + padding-left: 1.5em; +} +.main-content li .highlight { + margin-top: 0.25rem; +} +.main-content ol { + list-style-type: none; + counter-reset: step-counter; +} +.main-content ol > li { + position: relative; +} +.main-content ol > li::before { + position: absolute; + top: 0.2em; + left: -1.6em; + color: #959396; + content: counter(step-counter); + counter-increment: step-counter; +} +.main-content ol > li::before { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + font-size: 0.875rem !important; + } +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + top: 0.11em; + } +} +.main-content ol > li ol { + counter-reset: sub-counter; +} +.main-content ol > li ol > li::before { + content: counter(sub-counter, lower-alpha); + counter-increment: sub-counter; +} +.main-content ul { + list-style: none; +} +.main-content ul > li::before { + position: absolute; + margin-left: -1.4em; + color: #959396; + content: "•"; +} +.main-content .task-list-item::before { + content: ""; +} +.main-content .task-list-item-checkbox { + margin-right: 0.6em; + margin-left: -1.4em; +} +.main-content hr + * { + margin-top: 0; +} +.main-content h1:first-of-type { + margin-top: 0.5em; +} +.main-content dl { + display: grid; + grid-template: auto/10em 1fr; +} +.main-content dt, +.main-content dd { + margin: 0.25em 0; +} +.main-content dt { + grid-column: 1; + font-weight: 500; + text-align: right; +} +.main-content dt::after { + content: ":"; +} +.main-content dd { + grid-column: 2; + margin-bottom: 0; + margin-left: 1em; +} +.main-content dd blockquote:first-child, +.main-content dd div:first-child, +.main-content dd dl:first-child, +.main-content dd dt:first-child, +.main-content dd h1:first-child, +.main-content dd h2:first-child, +.main-content dd h3:first-child, +.main-content dd h4:first-child, +.main-content dd h5:first-child, +.main-content dd h6:first-child, +.main-content dd li:first-child, +.main-content dd ol:first-child, +.main-content dd p:first-child, +.main-content dd pre:first-child, +.main-content dd table:first-child, +.main-content dd ul:first-child, +.main-content dd .table-wrapper:first-child { + margin-top: 0; +} +.main-content dd dl:first-child dt:first-child, +.main-content dd dl:first-child dd:nth-child(2), +.main-content ol dl:first-child dt:first-child, +.main-content ol dl:first-child dd:nth-child(2), +.main-content ul dl:first-child dt:first-child, +.main-content ul dl:first-child dd:nth-child(2) { + margin-top: 0; +} +.main-content .anchor-heading { + position: absolute; + right: -1rem; + width: 1.5rem; + height: 100%; + padding-right: 0.25rem; + padding-left: 0.25rem; + overflow: visible; +} +@media (min-width: 50rem) { + .main-content .anchor-heading { + right: auto; + left: -1.5rem; + } +} +.main-content .anchor-heading svg { + display: inline-block; + width: 100%; + height: 100%; + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + visibility: hidden; +} +.main-content .anchor-heading:hover svg, +.main-content .anchor-heading:focus svg, +.main-content h1:hover > .anchor-heading svg, +.main-content h2:hover > .anchor-heading svg, +.main-content h3:hover > .anchor-heading svg, +.main-content h4:hover > .anchor-heading svg, +.main-content h5:hover > .anchor-heading svg, +.main-content h6:hover > .anchor-heading svg { + visibility: visible; +} +.main-content summary { + cursor: pointer; +} +.main-content h1, +.main-content h2, +.main-content h3, +.main-content h4, +.main-content h5, +.main-content h6, +.main-content #toctitle { + position: relative; + margin-top: 1.5em; + margin-bottom: 0.25em; +} +.main-content h1 + table, +.main-content h1 + .table-wrapper, +.main-content h1 + .code-example, +.main-content h1 + .highlighter-rouge, +.main-content h1 + .sectionbody .listingblock, +.main-content h2 + table, +.main-content h2 + .table-wrapper, +.main-content h2 + .code-example, +.main-content h2 + .highlighter-rouge, +.main-content h2 + .sectionbody .listingblock, +.main-content h3 + table, +.main-content h3 + .table-wrapper, +.main-content h3 + .code-example, +.main-content h3 + .highlighter-rouge, +.main-content h3 + .sectionbody .listingblock, +.main-content h4 + table, +.main-content h4 + .table-wrapper, +.main-content h4 + .code-example, +.main-content h4 + .highlighter-rouge, +.main-content h4 + .sectionbody .listingblock, +.main-content h5 + table, +.main-content h5 + .table-wrapper, +.main-content h5 + .code-example, +.main-content h5 + .highlighter-rouge, +.main-content h5 + .sectionbody .listingblock, +.main-content h6 + table, +.main-content h6 + .table-wrapper, +.main-content h6 + .code-example, +.main-content h6 + .highlighter-rouge, +.main-content h6 + .sectionbody .listingblock, +.main-content #toctitle + table, +.main-content #toctitle + .table-wrapper, +.main-content #toctitle + .code-example, +.main-content #toctitle + .highlighter-rouge, +.main-content #toctitle + .sectionbody .listingblock { + margin-top: 1em; +} +.main-content h1 + p:not(.label), +.main-content h2 + p:not(.label), +.main-content h3 + p:not(.label), +.main-content h4 + p:not(.label), +.main-content h5 + p:not(.label), +.main-content h6 + p:not(.label), +.main-content #toctitle + p:not(.label) { + margin-top: 0; +} +.main-content > h1:first-child, +.main-content > h2:first-child, +.main-content > h3:first-child, +.main-content > h4:first-child, +.main-content > h5:first-child, +.main-content > h6:first-child, +.main-content > .sect1:first-child > h2, +.main-content > .sect2:first-child > h3, +.main-content > .sect3:first-child > h4, +.main-content > .sect4:first-child > h5, +.main-content > .sect5:first-child > h6 { + margin-top: 0.5rem; +} + +.nav-list { + padding: 0; + margin-top: 0; + margin-bottom: 0; + list-style: none; +} +.nav-list .nav-list-item { + position: relative; + margin: 0; +} +.nav-list .nav-list-item { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .nav-list .nav-list-item { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 0.875rem !important; + } +} +.nav-list .nav-list-item .nav-list-link { + display: block; + min-height: 3rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + line-height: 2.5rem; + outline-offset: -1px; + padding-right: 3rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-link { + min-height: 2rem; + line-height: 1.5rem; + padding-right: 2rem; + padding-left: 2rem; + } +} +.nav-list .nav-list-item .nav-list-link.external > svg { + width: 1rem; + height: 1rem; + vertical-align: text-bottom; +} +.nav-list .nav-list-item .nav-list-link.active { + font-weight: 600; + text-decoration: none; +} +.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { + color: rgb(68.9097222222, 146.5208333333, 250.5902777778); + background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 80%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0) 100%); +} +.nav-list .nav-list-item .nav-list-expander { + position: absolute; + right: 0; + width: 3rem; + height: 3rem; + padding: 0.75rem; + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + outline-offset: -1px; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-expander { + width: 2rem; + height: 2rem; + padding: 0.5rem; + } +} +.nav-list .nav-list-item .nav-list-expander:hover { + background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 100%); +} +.nav-list .nav-list-item .nav-list-expander svg { + transform: rotate(90deg); +} +.nav-list .nav-list-item > .nav-list { + display: none; + padding-left: 0.75rem; + list-style: none; +} +.nav-list .nav-list-item > .nav-list .nav-list-item { + position: relative; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { + color: #959396; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { + color: #959396; +} +.nav-list .nav-list-item.active > .nav-list-expander svg { + transform: rotate(-90deg); +} +.nav-list .nav-list-item.active > .nav-list { + display: block; +} + +.nav-category { + padding: 0.5rem 1rem; + font-weight: 600; + text-align: start; + text-transform: uppercase; + border-bottom: 1px solid #44434d; +} +.nav-category { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .nav-category { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .nav-category { + padding: 0.5rem 2rem; + margin-top: 1rem; + text-align: start; + } + .nav-category:first-child { + margin-top: 0; + } +} + +.nav-list.nav-category-list > .nav-list-item { + margin: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list { + padding: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); +} + +.aux-nav { + height: 100%; + overflow-x: auto; +} +.aux-nav { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .aux-nav { + font-size: 0.75rem !important; + } +} +.aux-nav .aux-nav-list { + display: flex; + height: 100%; + padding: 0; + margin: 0; + list-style: none; +} +.aux-nav .aux-nav-list-item { + display: inline-block; + height: 100%; + padding: 0; + margin: 0; +} +@media (min-width: 50rem) { + .aux-nav { + padding-right: 1rem; + } +} + +@media (min-width: 50rem) { + .breadcrumb-nav { + margin-top: -1rem; + } +} + +.breadcrumb-nav-list { + padding-left: 0; + margin-bottom: 0.75rem; + list-style: none; +} + +.breadcrumb-nav-list-item { + display: table-cell; +} +.breadcrumb-nav-list-item { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .breadcrumb-nav-list-item { + font-size: 0.75rem !important; + } +} +.breadcrumb-nav-list-item::before { + display: none; +} +.breadcrumb-nav-list-item::after { + display: inline-block; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #959396; + content: "/"; +} +.breadcrumb-nav-list-item:last-child::after { + content: ""; +} + +h1, +.text-alpha { + font-weight: 300; +} +h1, +.text-alpha { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + h1, + .text-alpha { + font-size: 2.25rem !important; + } +} + +h2, +.text-beta, +#toctitle { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + h2, + .text-beta, + #toctitle { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +h3, +.text-gamma { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + h3, + .text-gamma { + font-size: 1.125rem !important; + } +} + +h4, +.text-delta { + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0.1em; +} +h4, +.text-delta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h4, + .text-delta { + font-size: 0.75rem !important; + } +} + +h4 code { + text-transform: none; +} + +h5, +.text-epsilon { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + h5, + .text-epsilon { + font-size: 0.875rem !important; + } +} + +h6, +.text-zeta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h6, + .text-zeta { + font-size: 0.75rem !important; + } +} + +.text-small { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .text-small { + font-size: 0.75rem !important; + } +} + +.text-mono { + font-family: "SFMono-Regular", menlo, consolas, monospace !important; +} + +.text-left { + text-align: left !important; +} + +.text-center { + text-align: center !important; +} + +.text-right { + text-align: right !important; +} + +.label:not(g), +.label-blue:not(g) { + display: inline-block; + padding: 0.16em 0.56em; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #fff; + text-transform: uppercase; + vertical-align: middle; + background-color: #2869e6; + border-radius: 12px; +} +.label:not(g), +.label-blue:not(g) { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .label:not(g), + .label-blue:not(g) { + font-size: 0.75rem !important; + } +} + +.label-green:not(g) { + background-color: #026e57; +} + +.label-purple:not(g) { + background-color: #5e41d0; +} + +.label-red:not(g) { + background-color: #dd2e2e; +} + +.label-yellow:not(g) { + color: #44434d; + background-color: #f7d12e; +} + +.btn { + display: inline-block; + box-sizing: border-box; + padding: 0.3em 1em; + margin: 0; + font-family: inherit; + font-size: inherit; + font-weight: 500; + line-height: 1.5; + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + text-decoration: none; + vertical-align: baseline; + cursor: pointer; + background-color: #302d36; + border-width: 0; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + appearance: none; +} +.btn:focus { + text-decoration: none; + outline: none; + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:focus:hover, .btn.selected:focus { + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:hover, .btn.zeroclipboard-is-hover { + color: rgb(83.8555555556, 155.2333333333, 250.9444444444); +} +.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { + text-decoration: none; + background-color: rgb(45.5272727273, 42.6818181818, 51.2181818182); +} +.btn:active, .btn.selected, .btn.zeroclipboard-is-active { + background-color: rgb(40.5818181818, 38.0454545455, 45.6545454545); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn.selected:hover { + background-color: rgb(207.25, 207.25, 207.25); +} +.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { + color: rgba(102, 102, 102, 0.5); + cursor: default; + background-color: rgba(229, 229, 229, 0.5); + background-image: none; + box-shadow: none; +} + +.btn-outline { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + background: transparent; + box-shadow: inset 0 0 0 2px #e6e1e8; +} +.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { + color: rgb(73.8916666667, 149.425, 250.7083333333); + text-decoration: none; + background-color: transparent; + box-shadow: inset 0 0 0 3px #e6e1e8; +} +.btn-outline:focus { + text-decoration: none; + outline: none; + box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn-outline:focus:hover, .btn-outline.selected:focus { + box-shadow: inset 0 0 0 2px #5c5962; +} + +.btn-primary { + color: #fff; + background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099); + background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197); + background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197)); +} +.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { + background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-primary.selected:hover { + background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493); +} + +.btn-purple { + color: #fff; + background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899); + background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139); + background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139)); +} +.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { + background-color: rgb(79.3670886076, 49.082278481, 198.417721519); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-purple.selected:hover { + background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443); +} + +.btn-blue { + color: #fff; + background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099); + background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197); + background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197)); +} +.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { + background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-blue.selected:hover { + background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493); +} + +.btn-green { + color: #fff; + background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143); + background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-green:hover, .btn-green.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286); + background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286)); +} +.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { + background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-green.selected:hover { + background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714); +} + +.btn-reset { + background: none; + border: none; + margin: 0; + text-align: inherit; + font: inherit; + border-radius: 0; + appearance: none; +} + +.search { + position: relative; + z-index: 2; + flex-grow: 1; + height: 4rem; + padding: 0.5rem; + transition: padding linear 200ms; +} +@media (min-width: 50rem) { + .search { + position: relative !important; + width: auto !important; + height: 100% !important; + padding: 0; + transition: none; + } +} + +.search-input-wrap { + position: relative; + z-index: 1; + height: 3rem; + overflow: hidden; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + transition: height linear 200ms; +} +@media (min-width: 50rem) { + .search-input-wrap { + position: absolute; + width: 100%; + max-width: 33.5rem; + height: 100% !important; + border-radius: 0; + box-shadow: none; + transition: width ease 400ms; + } +} + +.search-input { + position: absolute; + width: 100%; + height: 100%; + padding: 0.5rem 1rem 0.5rem 2.5rem; + font-size: 1rem; + color: #e6e1e8; + background-color: #302d36; + border-top: 0; + border-right: 0; + border-bottom: 0; + border-left: 0; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-input { + padding: 0.5rem 1rem 0.5rem 3.5rem; + font-size: 0.875rem; + background-color: #27262b; + transition: padding-left linear 200ms; + } +} +.search-input:focus { + outline-offset: -1px; +} +.search-input:focus + .search-label .search-icon { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); +} + +.search-label { + position: absolute; + display: flex; + height: 100%; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .search-label { + padding-left: 2rem; + transition: padding-left linear 200ms; + } +} +.search-label .search-icon { + width: 1.2rem; + height: 1.2rem; + align-self: center; + color: #959396; +} + +.search-results { + position: absolute; + left: 0; + display: none; + width: 100%; + max-height: calc(100% - 4rem); + overflow-y: auto; + background-color: #302d36; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} +@media (min-width: 50rem) { + .search-results { + top: 100%; + width: 33.5rem; + max-height: calc(100vh - 200%) !important; + } +} + +.search-results-list { + padding-left: 0; + margin-bottom: 0.25rem; + list-style: none; +} +.search-results-list { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .search-results-list { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .search-results-list { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-results-list { + font-size: 0.875rem !important; + } +} + +.search-results-list-item { + padding: 0; + margin: 0; +} + +.search-result { + display: block; + padding: 0.25rem 0.75rem; + outline-offset: -1px; +} +.search-result:hover, .search-result.active { + background-color: rgb(31.6333333333, 30.8222222222, 34.8777777778); +} + +.search-result-title { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +@media (min-width: 31.25rem) { + .search-result-title { + display: inline-block; + width: 40%; + padding-right: 0.5rem; + vertical-align: top; + } +} + +.search-result-doc { + display: flex; + align-items: center; + overflow-wrap: break-word; +} +.search-result-doc.search-result-doc-parent { + opacity: 0.5; +} +.search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.875rem !important; + } +} +@media (min-width: 50rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.6875rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; + } +} +.search-result-doc .search-result-icon { + width: 1rem; + height: 1rem; + margin-right: 0.5rem; + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + flex-shrink: 0; +} +.search-result-doc .search-result-doc-title { + overflow: auto; +} + +.search-result-section { + margin-left: 1.5rem; + overflow-wrap: break-word; +} + +.search-result-rel-url { + display: block; + margin-left: 1.5rem; + overflow: hidden; + color: #e6e1e8; + text-overflow: ellipsis; + white-space: nowrap; +} +.search-result-rel-url { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .search-result-rel-url { + font-size: 0.625rem !important; + } +} + +.search-result-previews { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + margin-left: 0.5rem; + color: #e6e1e8; + overflow-wrap: break-word; + border-left: 1px solid; + border-left-color: #44434d; +} +.search-result-previews { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .search-result-previews { + font-size: 0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .search-result-previews { + display: inline-block; + width: 60%; + padding-left: 0.5rem; + margin-left: 0; + vertical-align: top; + } +} + +.search-result-preview + .search-result-preview { + margin-top: 0.25rem; +} + +.search-result-highlight { + font-weight: bold; +} + +.search-no-result { + padding: 0.5rem 0.75rem; +} +.search-no-result { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-no-result { + font-size: 0.875rem !important; + } +} + +.search-button { + position: fixed; + right: 1rem; + bottom: 1rem; + display: flex; + width: 3.5rem; + height: 3.5rem; + background-color: #302d36; + border: 1px solid rgba(93.8194444444, 161.0416666667, 251.1805555556, 0.3); + border-radius: 1.75rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + align-items: center; + justify-content: center; +} + +.search-overlay { + position: fixed; + top: 0; + left: 0; + z-index: 1; + width: 0; + height: 0; + background-color: rgba(0, 0, 0, 0.3); + opacity: 0; + transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; +} + +.search-active .search { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 0; +} +.search-active .search-input-wrap { + height: 4rem; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-active .search-input-wrap { + width: 33.5rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + } +} +.search-active .search-input { + background-color: #302d36; +} +@media (min-width: 50rem) { + .search-active .search-input { + padding-left: 2.3rem; + } +} +@media (min-width: 50rem) { + .search-active .search-label { + padding-left: 0.6rem; + } +} +.search-active .search-results { + display: block; +} +.search-active .search-overlay { + width: 100%; + height: 100%; + opacity: 1; + transition: opacity ease 400ms, width 0s, height 0s; +} +@media (min-width: 50rem) { + .search-active .main { + position: fixed; + right: 0; + left: 0; + } +} +.search-active .main-header { + padding-top: 4rem; +} +@media (min-width: 50rem) { + .search-active .main-header { + padding-top: 0; + } +} + +.table-wrapper { + display: block; + width: 100%; + max-width: 100%; + margin-bottom: 1.5rem; + overflow-x: auto; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} + +table { + display: table; + min-width: 100%; + border-collapse: separate; +} + +th, +td { + min-width: 7.5rem; + padding: 0.5rem 0.75rem; + background-color: #302d36; + border-bottom: 1px solid rgba(68, 67, 77, 0.5); + border-left: 1px solid #44434d; +} +th, +td { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + th, + td { + font-size: 0.875rem !important; + } +} +th:first-of-type, +td:first-of-type { + border-left: 0; +} + +tbody tr:last-of-type th, +tbody tr:last-of-type td { + border-bottom: 0; +} +tbody tr:last-of-type td { + padding-bottom: 0.75rem; +} + +thead th { + border-bottom: 1px solid #44434d; +} + +:not(pre, figure) > code { + padding: 0.2em 0.15em; + font-weight: 400; + background-color: #0d1117; + border: 1px solid #44434d; + border-radius: 4px; +} + +a:visited code { + border-color: #44434d; +} + +div.highlighter-rouge, +div.listingblock > div.content, +figure.highlight { + margin-top: 0; + margin-bottom: 0.75rem; + background-color: #0d1117; + border-radius: 4px; + box-shadow: none; + -webkit-overflow-scrolling: touch; + position: relative; + padding: 0; +} +div.highlighter-rouge > button, +div.listingblock > div.content > button, +figure.highlight > button { + width: 0.75rem; + opacity: 0; + position: absolute; + top: 0; + right: 0; + padding: 0.75rem; + border: none; + background: none; + color: #e6e1e8; + box-sizing: content-box; +} +div.highlighter-rouge > button svg, +div.listingblock > div.content > button svg, +figure.highlight > button svg { + fill: #e6e1e8; +} +div.highlighter-rouge > button:active, +div.listingblock > div.content > button:active, +figure.highlight > button:active { + text-decoration: none; + outline: none; + opacity: 1; +} +div.highlighter-rouge > button:focus, +div.listingblock > div.content > button:focus, +figure.highlight > button:focus { + opacity: 1; + outline: 2px solid rgb(93.8194444444, 161.0416666667, 251.1805555556); +} +div.highlighter-rouge:hover > button, +div.listingblock > div.content:hover > button, +figure.highlight:hover > button { + cursor: copy; + opacity: 1; +} + +div.highlighter-rouge div.highlight { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #e6e1e8; + border-radius: 4px; +} +div.highlighter-rouge pre.highlight, +div.highlighter-rouge code { + padding: 0; + margin: 0; + border: 0; +} + +div.listingblock { + margin-top: 0; + margin-bottom: 0.75rem; +} +div.listingblock div.content { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #e6e1e8; + border-radius: 4px; +} +div.listingblock div.content > pre, +div.listingblock code { + padding: 0; + margin: 0; + border: 0; +} + +figure.highlight pre, +figure.highlight :not(pre) > code { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #e6e1e8; + border-radius: 4px; +} + +.highlight .table-wrapper { + padding: 0.75rem 0; + margin: 0; + border: 0; + box-shadow: none; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + min-width: 0; + padding: 0; + background-color: #0d1117; + border: 0; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .highlight .table-wrapper td, + .highlight .table-wrapper pre { + font-size: 0.75rem !important; + } +} +.highlight .table-wrapper td.gl { + width: 1em; + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.highlight .table-wrapper pre { + margin: 0; + line-height: 2; +} + +.code-example, +.listingblock > .title { + padding: 0.75rem; + margin-bottom: 0.75rem; + overflow: auto; + border: 1px solid #44434d; + border-radius: 4px; +} +.code-example + .highlighter-rouge, +.code-example + .sectionbody .listingblock, +.code-example + .content, +.code-example + figure.highlight, +.listingblock > .title + .highlighter-rouge, +.listingblock > .title + .sectionbody .listingblock, +.listingblock > .title + .content, +.listingblock > .title + figure.highlight { + position: relative; + margin-top: -1rem; + border-right: 1px solid #44434d; + border-bottom: 1px solid #44434d; + border-left: 1px solid #44434d; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +code.language-mermaid { + padding: 0; + background-color: inherit; + border: 0; +} + +.highlight, +pre.highlight { + background: #0d1117; + color: #e6edf3; +} + +.highlight pre { + background: #0d1117; +} + +.text-grey-dk-000 { + color: #959396 !important; +} + +.text-grey-dk-100 { + color: #5c5962 !important; +} + +.text-grey-dk-200 { + color: #44434d !important; +} + +.text-grey-dk-250 { + color: #302d36 !important; +} + +.text-grey-dk-300 { + color: #27262b !important; +} + +.text-grey-lt-000 { + color: #f5f6fa !important; +} + +.text-grey-lt-100 { + color: #eeebee !important; +} + +.text-grey-lt-200 { + color: #ecebed !important; +} + +.text-grey-lt-300 { + color: #e6e1e8 !important; +} + +.text-blue-000 { + color: #2c84fa !important; +} + +.text-blue-100 { + color: #2869e6 !important; +} + +.text-blue-200 { + color: #264caf !important; +} + +.text-blue-300 { + color: #183385 !important; +} + +.text-green-000 { + color: #41d693 !important; +} + +.text-green-100 { + color: #11b584 !important; +} + +.text-green-200 { + color: #009c7b !important; +} + +.text-green-300 { + color: #026e57 !important; +} + +.text-purple-000 { + color: #7253ed !important; +} + +.text-purple-100 { + color: #5e41d0 !important; +} + +.text-purple-200 { + color: #4e26af !important; +} + +.text-purple-300 { + color: #381885 !important; +} + +.text-yellow-000 { + color: #ffeb82 !important; +} + +.text-yellow-100 { + color: #fadf50 !important; +} + +.text-yellow-200 { + color: #f7d12e !important; +} + +.text-yellow-300 { + color: #e7af06 !important; +} + +.text-red-000 { + color: #f77e7e !important; +} + +.text-red-100 { + color: #f96e65 !important; +} + +.text-red-200 { + color: #e94c4c !important; +} + +.text-red-300 { + color: #dd2e2e !important; +} + +.bg-grey-dk-000 { + background-color: #959396 !important; +} + +.bg-grey-dk-100 { + background-color: #5c5962 !important; +} + +.bg-grey-dk-200 { + background-color: #44434d !important; +} + +.bg-grey-dk-250 { + background-color: #302d36 !important; +} + +.bg-grey-dk-300 { + background-color: #27262b !important; +} + +.bg-grey-lt-000 { + background-color: #f5f6fa !important; +} + +.bg-grey-lt-100 { + background-color: #eeebee !important; +} + +.bg-grey-lt-200 { + background-color: #ecebed !important; +} + +.bg-grey-lt-300 { + background-color: #e6e1e8 !important; +} + +.bg-blue-000 { + background-color: #2c84fa !important; +} + +.bg-blue-100 { + background-color: #2869e6 !important; +} + +.bg-blue-200 { + background-color: #264caf !important; +} + +.bg-blue-300 { + background-color: #183385 !important; +} + +.bg-green-000 { + background-color: #41d693 !important; +} + +.bg-green-100 { + background-color: #11b584 !important; +} + +.bg-green-200 { + background-color: #009c7b !important; +} + +.bg-green-300 { + background-color: #026e57 !important; +} + +.bg-purple-000 { + background-color: #7253ed !important; +} + +.bg-purple-100 { + background-color: #5e41d0 !important; +} + +.bg-purple-200 { + background-color: #4e26af !important; +} + +.bg-purple-300 { + background-color: #381885 !important; +} + +.bg-yellow-000 { + background-color: #ffeb82 !important; +} + +.bg-yellow-100 { + background-color: #fadf50 !important; +} + +.bg-yellow-200 { + background-color: #f7d12e !important; +} + +.bg-yellow-300 { + background-color: #e7af06 !important; +} + +.bg-red-000 { + background-color: #f77e7e !important; +} + +.bg-red-100 { + background-color: #f96e65 !important; +} + +.bg-red-200 { + background-color: #e94c4c !important; +} + +.bg-red-300 { + background-color: #dd2e2e !important; +} + +.d-block { + display: block !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-none { + display: none !important; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + border-width: 0; +} + +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.flex-justify-start { + justify-content: flex-start !important; +} + +.flex-justify-end { + justify-content: flex-end !important; +} + +.flex-justify-between { + justify-content: space-between !important; +} + +.flex-justify-around { + justify-content: space-around !important; +} + +.v-align-baseline { + vertical-align: baseline !important; +} + +.v-align-bottom { + vertical-align: bottom !important; +} + +.v-align-middle { + vertical-align: middle !important; +} + +.v-align-text-bottom { + vertical-align: text-bottom !important; +} + +.v-align-text-top { + vertical-align: text-top !important; +} + +.v-align-top { + vertical-align: top !important; +} + +.fs-1 { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .fs-1 { + font-size: 0.625rem !important; + } +} + +.fs-2 { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .fs-2 { + font-size: 0.75rem !important; + } +} + +.fs-3 { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .fs-3 { + font-size: 0.875rem !important; + } +} + +.fs-4 { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .fs-4 { + font-size: 1rem !important; + } +} + +.fs-5 { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + .fs-5 { + font-size: 1.125rem !important; + } +} + +.fs-6 { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .fs-6 { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +.fs-7 { + font-size: 1.5rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-7 { + font-size: 2rem !important; + } +} + +.fs-8 { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-8 { + font-size: 2.25rem !important; + } +} + +.fs-9 { + font-size: 2.25rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-9 { + font-size: 2.625rem !important; + } +} + +.fs-10 { + font-size: 2.625rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-10 { + font-size: 3rem !important; + } +} + +.fw-300 { + font-weight: 300 !important; +} + +.fw-400 { + font-weight: 400 !important; +} + +.fw-500 { + font-weight: 500 !important; +} + +.fw-700 { + font-weight: 700 !important; +} + +.lh-0 { + line-height: 0 !important; +} + +.lh-default { + line-height: 1.4; +} + +.lh-tight { + line-height: 1.25; +} + +.ls-5 { + letter-spacing: 0.05em !important; +} + +.ls-10 { + letter-spacing: 0.1em !important; +} + +.ls-0 { + letter-spacing: 0 !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.list-style-none { + padding: 0 !important; + margin: 0 !important; + list-style: none !important; +} +.list-style-none li::before { + display: none !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.mxn-0 { + margin-right: -0 !important; + margin-left: -0 !important; +} + +.mx-0-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mr-1 { + margin-right: 0.25rem !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1 { + margin-left: 0.25rem !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.mxn-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; +} + +.mx-1-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mr-2 { + margin-right: 0.5rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2 { + margin-left: 0.5rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.mxn-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; +} + +.mx-2-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mr-3 { + margin-right: 0.75rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.ml-3 { + margin-left: 0.75rem !important; +} + +.mx-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.mxn-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; +} + +.mx-3-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-4 { + margin: 1rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mr-4 { + margin-right: 1rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.ml-4 { + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.mxn-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; +} + +.mx-4-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-5 { + margin: 1.5rem !important; +} + +.mt-5 { + margin-top: 1.5rem !important; +} + +.mr-5 { + margin-right: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 1.5rem !important; +} + +.ml-5 { + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.mxn-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; +} + +.mx-5-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-6 { + margin: 2rem !important; +} + +.mt-6 { + margin-top: 2rem !important; +} + +.mr-6 { + margin-right: 2rem !important; +} + +.mb-6 { + margin-bottom: 2rem !important; +} + +.ml-6 { + margin-left: 2rem !important; +} + +.mx-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.my-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.mxn-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; +} + +.mx-6-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-7 { + margin: 2.5rem !important; +} + +.mt-7 { + margin-top: 2.5rem !important; +} + +.mr-7 { + margin-right: 2.5rem !important; +} + +.mb-7 { + margin-bottom: 2.5rem !important; +} + +.ml-7 { + margin-left: 2.5rem !important; +} + +.mx-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; +} + +.my-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; +} + +.mxn-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; +} + +.mx-7-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-8 { + margin: 3rem !important; +} + +.mt-8 { + margin-top: 3rem !important; +} + +.mr-8 { + margin-right: 3rem !important; +} + +.mb-8 { + margin-bottom: 3rem !important; +} + +.ml-8 { + margin-left: 3rem !important; +} + +.mx-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.my-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.mxn-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; +} + +.mx-8-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-9 { + margin: 3.5rem !important; +} + +.mt-9 { + margin-top: 3.5rem !important; +} + +.mr-9 { + margin-right: 3.5rem !important; +} + +.mb-9 { + margin-bottom: 3.5rem !important; +} + +.ml-9 { + margin-left: 3.5rem !important; +} + +.mx-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; +} + +.my-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; +} + +.mxn-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; +} + +.mx-9-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-10 { + margin: 4rem !important; +} + +.mt-10 { + margin-top: 4rem !important; +} + +.mr-10 { + margin-right: 4rem !important; +} + +.mb-10 { + margin-bottom: 4rem !important; +} + +.ml-10 { + margin-left: 4rem !important; +} + +.mx-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; +} + +.my-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} + +.mxn-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; +} + +.mx-10-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +@media (min-width: 20rem) { + .m-xs-0 { + margin: 0 !important; + } + .mt-xs-0 { + margin-top: 0 !important; + } + .mr-xs-0 { + margin-right: 0 !important; + } + .mb-xs-0 { + margin-bottom: 0 !important; + } + .ml-xs-0 { + margin-left: 0 !important; + } + .mx-xs-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xs-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xs-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 20rem) { + .m-xs-1 { + margin: 0.25rem !important; + } + .mt-xs-1 { + margin-top: 0.25rem !important; + } + .mr-xs-1 { + margin-right: 0.25rem !important; + } + .mb-xs-1 { + margin-bottom: 0.25rem !important; + } + .ml-xs-1 { + margin-left: 0.25rem !important; + } + .mx-xs-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xs-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xs-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-2 { + margin: 0.5rem !important; + } + .mt-xs-2 { + margin-top: 0.5rem !important; + } + .mr-xs-2 { + margin-right: 0.5rem !important; + } + .mb-xs-2 { + margin-bottom: 0.5rem !important; + } + .ml-xs-2 { + margin-left: 0.5rem !important; + } + .mx-xs-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xs-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xs-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-3 { + margin: 0.75rem !important; + } + .mt-xs-3 { + margin-top: 0.75rem !important; + } + .mr-xs-3 { + margin-right: 0.75rem !important; + } + .mb-xs-3 { + margin-bottom: 0.75rem !important; + } + .ml-xs-3 { + margin-left: 0.75rem !important; + } + .mx-xs-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xs-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xs-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-4 { + margin: 1rem !important; + } + .mt-xs-4 { + margin-top: 1rem !important; + } + .mr-xs-4 { + margin-right: 1rem !important; + } + .mb-xs-4 { + margin-bottom: 1rem !important; + } + .ml-xs-4 { + margin-left: 1rem !important; + } + .mx-xs-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xs-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xs-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-5 { + margin: 1.5rem !important; + } + .mt-xs-5 { + margin-top: 1.5rem !important; + } + .mr-xs-5 { + margin-right: 1.5rem !important; + } + .mb-xs-5 { + margin-bottom: 1.5rem !important; + } + .ml-xs-5 { + margin-left: 1.5rem !important; + } + .mx-xs-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xs-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xs-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-6 { + margin: 2rem !important; + } + .mt-xs-6 { + margin-top: 2rem !important; + } + .mr-xs-6 { + margin-right: 2rem !important; + } + .mb-xs-6 { + margin-bottom: 2rem !important; + } + .ml-xs-6 { + margin-left: 2rem !important; + } + .mx-xs-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xs-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xs-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-7 { + margin: 2.5rem !important; + } + .mt-xs-7 { + margin-top: 2.5rem !important; + } + .mr-xs-7 { + margin-right: 2.5rem !important; + } + .mb-xs-7 { + margin-bottom: 2.5rem !important; + } + .ml-xs-7 { + margin-left: 2.5rem !important; + } + .mx-xs-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xs-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xs-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-8 { + margin: 3rem !important; + } + .mt-xs-8 { + margin-top: 3rem !important; + } + .mr-xs-8 { + margin-right: 3rem !important; + } + .mb-xs-8 { + margin-bottom: 3rem !important; + } + .ml-xs-8 { + margin-left: 3rem !important; + } + .mx-xs-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xs-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xs-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-9 { + margin: 3.5rem !important; + } + .mt-xs-9 { + margin-top: 3.5rem !important; + } + .mr-xs-9 { + margin-right: 3.5rem !important; + } + .mb-xs-9 { + margin-bottom: 3.5rem !important; + } + .ml-xs-9 { + margin-left: 3.5rem !important; + } + .mx-xs-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xs-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xs-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-10 { + margin: 4rem !important; + } + .mt-xs-10 { + margin-top: 4rem !important; + } + .mr-xs-10 { + margin-right: 4rem !important; + } + .mb-xs-10 { + margin-bottom: 4rem !important; + } + .ml-xs-10 { + margin-left: 4rem !important; + } + .mx-xs-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xs-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xs-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0 { + margin-left: 0 !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-sm-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1 { + margin-left: 0.25rem !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-sm-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2 { + margin-left: 0.5rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-sm-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-3 { + margin: 0.75rem !important; + } + .mt-sm-3 { + margin-top: 0.75rem !important; + } + .mr-sm-3 { + margin-right: 0.75rem !important; + } + .mb-sm-3 { + margin-bottom: 0.75rem !important; + } + .ml-sm-3 { + margin-left: 0.75rem !important; + } + .mx-sm-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-sm-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-sm-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-4 { + margin: 1rem !important; + } + .mt-sm-4 { + margin-top: 1rem !important; + } + .mr-sm-4 { + margin-right: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1rem !important; + } + .ml-sm-4 { + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-sm-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-sm-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-5 { + margin: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 1.5rem !important; + } + .mr-sm-5 { + margin-right: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 1.5rem !important; + } + .ml-sm-5 { + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-sm-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-sm-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-6 { + margin: 2rem !important; + } + .mt-sm-6 { + margin-top: 2rem !important; + } + .mr-sm-6 { + margin-right: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 2rem !important; + } + .ml-sm-6 { + margin-left: 2rem !important; + } + .mx-sm-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-sm-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-sm-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-7 { + margin: 2.5rem !important; + } + .mt-sm-7 { + margin-top: 2.5rem !important; + } + .mr-sm-7 { + margin-right: 2.5rem !important; + } + .mb-sm-7 { + margin-bottom: 2.5rem !important; + } + .ml-sm-7 { + margin-left: 2.5rem !important; + } + .mx-sm-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-sm-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-sm-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-8 { + margin: 3rem !important; + } + .mt-sm-8 { + margin-top: 3rem !important; + } + .mr-sm-8 { + margin-right: 3rem !important; + } + .mb-sm-8 { + margin-bottom: 3rem !important; + } + .ml-sm-8 { + margin-left: 3rem !important; + } + .mx-sm-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-sm-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-sm-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-9 { + margin: 3.5rem !important; + } + .mt-sm-9 { + margin-top: 3.5rem !important; + } + .mr-sm-9 { + margin-right: 3.5rem !important; + } + .mb-sm-9 { + margin-bottom: 3.5rem !important; + } + .ml-sm-9 { + margin-left: 3.5rem !important; + } + .mx-sm-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-sm-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-sm-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-10 { + margin: 4rem !important; + } + .mt-sm-10 { + margin-top: 4rem !important; + } + .mr-sm-10 { + margin-right: 4rem !important; + } + .mb-sm-10 { + margin-bottom: 4rem !important; + } + .ml-sm-10 { + margin-left: 4rem !important; + } + .mx-sm-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-sm-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-sm-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 50rem) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mr-md-0 { + margin-right: 0 !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0 { + margin-left: 0 !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-md-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 50rem) { + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1 { + margin-left: 0.25rem !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-md-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 50rem) { + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2 { + margin-left: 0.5rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-md-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-3 { + margin: 0.75rem !important; + } + .mt-md-3 { + margin-top: 0.75rem !important; + } + .mr-md-3 { + margin-right: 0.75rem !important; + } + .mb-md-3 { + margin-bottom: 0.75rem !important; + } + .ml-md-3 { + margin-left: 0.75rem !important; + } + .mx-md-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-md-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-md-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 50rem) { + .m-md-4 { + margin: 1rem !important; + } + .mt-md-4 { + margin-top: 1rem !important; + } + .mr-md-4 { + margin-right: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1rem !important; + } + .ml-md-4 { + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-md-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-md-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 50rem) { + .m-md-5 { + margin: 1.5rem !important; + } + .mt-md-5 { + margin-top: 1.5rem !important; + } + .mr-md-5 { + margin-right: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 1.5rem !important; + } + .ml-md-5 { + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-md-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-md-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-6 { + margin: 2rem !important; + } + .mt-md-6 { + margin-top: 2rem !important; + } + .mr-md-6 { + margin-right: 2rem !important; + } + .mb-md-6 { + margin-bottom: 2rem !important; + } + .ml-md-6 { + margin-left: 2rem !important; + } + .mx-md-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-md-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-md-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 50rem) { + .m-md-7 { + margin: 2.5rem !important; + } + .mt-md-7 { + margin-top: 2.5rem !important; + } + .mr-md-7 { + margin-right: 2.5rem !important; + } + .mb-md-7 { + margin-bottom: 2.5rem !important; + } + .ml-md-7 { + margin-left: 2.5rem !important; + } + .mx-md-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-md-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-md-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-8 { + margin: 3rem !important; + } + .mt-md-8 { + margin-top: 3rem !important; + } + .mr-md-8 { + margin-right: 3rem !important; + } + .mb-md-8 { + margin-bottom: 3rem !important; + } + .ml-md-8 { + margin-left: 3rem !important; + } + .mx-md-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-md-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-md-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 50rem) { + .m-md-9 { + margin: 3.5rem !important; + } + .mt-md-9 { + margin-top: 3.5rem !important; + } + .mr-md-9 { + margin-right: 3.5rem !important; + } + .mb-md-9 { + margin-bottom: 3.5rem !important; + } + .ml-md-9 { + margin-left: 3.5rem !important; + } + .mx-md-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-md-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-md-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-10 { + margin: 4rem !important; + } + .mt-md-10 { + margin-top: 4rem !important; + } + .mr-md-10 { + margin-right: 4rem !important; + } + .mb-md-10 { + margin-bottom: 4rem !important; + } + .ml-md-10 { + margin-left: 4rem !important; + } + .mx-md-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-md-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-md-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0 { + margin-left: 0 !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-lg-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1 { + margin-left: 0.25rem !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-lg-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2 { + margin-left: 0.5rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-lg-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-3 { + margin: 0.75rem !important; + } + .mt-lg-3 { + margin-top: 0.75rem !important; + } + .mr-lg-3 { + margin-right: 0.75rem !important; + } + .mb-lg-3 { + margin-bottom: 0.75rem !important; + } + .ml-lg-3 { + margin-left: 0.75rem !important; + } + .mx-lg-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-lg-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-lg-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-4 { + margin: 1rem !important; + } + .mt-lg-4 { + margin-top: 1rem !important; + } + .mr-lg-4 { + margin-right: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1rem !important; + } + .ml-lg-4 { + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-lg-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-lg-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-5 { + margin: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 1.5rem !important; + } + .mr-lg-5 { + margin-right: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 1.5rem !important; + } + .ml-lg-5 { + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-lg-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-lg-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-6 { + margin: 2rem !important; + } + .mt-lg-6 { + margin-top: 2rem !important; + } + .mr-lg-6 { + margin-right: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 2rem !important; + } + .ml-lg-6 { + margin-left: 2rem !important; + } + .mx-lg-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-lg-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-lg-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-7 { + margin: 2.5rem !important; + } + .mt-lg-7 { + margin-top: 2.5rem !important; + } + .mr-lg-7 { + margin-right: 2.5rem !important; + } + .mb-lg-7 { + margin-bottom: 2.5rem !important; + } + .ml-lg-7 { + margin-left: 2.5rem !important; + } + .mx-lg-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-lg-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-lg-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-8 { + margin: 3rem !important; + } + .mt-lg-8 { + margin-top: 3rem !important; + } + .mr-lg-8 { + margin-right: 3rem !important; + } + .mb-lg-8 { + margin-bottom: 3rem !important; + } + .ml-lg-8 { + margin-left: 3rem !important; + } + .mx-lg-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-lg-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-lg-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-9 { + margin: 3.5rem !important; + } + .mt-lg-9 { + margin-top: 3.5rem !important; + } + .mr-lg-9 { + margin-right: 3.5rem !important; + } + .mb-lg-9 { + margin-bottom: 3.5rem !important; + } + .ml-lg-9 { + margin-left: 3.5rem !important; + } + .mx-lg-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-lg-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-lg-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-10 { + margin: 4rem !important; + } + .mt-lg-10 { + margin-top: 4rem !important; + } + .mr-lg-10 { + margin-right: 4rem !important; + } + .mb-lg-10 { + margin-bottom: 4rem !important; + } + .ml-lg-10 { + margin-left: 4rem !important; + } + .mx-lg-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-lg-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-lg-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0 { + margin-left: 0 !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xl-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1 { + margin-left: 0.25rem !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xl-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2 { + margin-left: 0.5rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xl-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-3 { + margin: 0.75rem !important; + } + .mt-xl-3 { + margin-top: 0.75rem !important; + } + .mr-xl-3 { + margin-right: 0.75rem !important; + } + .mb-xl-3 { + margin-bottom: 0.75rem !important; + } + .ml-xl-3 { + margin-left: 0.75rem !important; + } + .mx-xl-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xl-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xl-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-4 { + margin: 1rem !important; + } + .mt-xl-4 { + margin-top: 1rem !important; + } + .mr-xl-4 { + margin-right: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1rem !important; + } + .ml-xl-4 { + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xl-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xl-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-5 { + margin: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 1.5rem !important; + } + .mr-xl-5 { + margin-right: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 1.5rem !important; + } + .ml-xl-5 { + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xl-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xl-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-6 { + margin: 2rem !important; + } + .mt-xl-6 { + margin-top: 2rem !important; + } + .mr-xl-6 { + margin-right: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 2rem !important; + } + .ml-xl-6 { + margin-left: 2rem !important; + } + .mx-xl-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xl-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xl-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-7 { + margin: 2.5rem !important; + } + .mt-xl-7 { + margin-top: 2.5rem !important; + } + .mr-xl-7 { + margin-right: 2.5rem !important; + } + .mb-xl-7 { + margin-bottom: 2.5rem !important; + } + .ml-xl-7 { + margin-left: 2.5rem !important; + } + .mx-xl-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xl-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xl-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-8 { + margin: 3rem !important; + } + .mt-xl-8 { + margin-top: 3rem !important; + } + .mr-xl-8 { + margin-right: 3rem !important; + } + .mb-xl-8 { + margin-bottom: 3rem !important; + } + .ml-xl-8 { + margin-left: 3rem !important; + } + .mx-xl-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xl-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xl-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-9 { + margin: 3.5rem !important; + } + .mt-xl-9 { + margin-top: 3.5rem !important; + } + .mr-xl-9 { + margin-right: 3.5rem !important; + } + .mb-xl-9 { + margin-bottom: 3.5rem !important; + } + .ml-xl-9 { + margin-left: 3.5rem !important; + } + .mx-xl-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xl-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xl-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-10 { + margin: 4rem !important; + } + .mt-xl-10 { + margin-top: 4rem !important; + } + .mr-xl-10 { + margin-right: 4rem !important; + } + .mb-xl-10 { + margin-bottom: 4rem !important; + } + .ml-xl-10 { + margin-left: 4rem !important; + } + .mx-xl-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xl-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xl-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pr-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1 { + padding-left: 0.25rem !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pr-2 { + padding-right: 0.5rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2 { + padding-left: 0.5rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pr-3 { + padding-right: 0.75rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pl-3 { + padding-left: 0.75rem !important; +} + +.px-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pr-4 { + padding-right: 1rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pl-4 { + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.p-5 { + padding: 1.5rem !important; +} + +.pt-5 { + padding-top: 1.5rem !important; +} + +.pr-5 { + padding-right: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 1.5rem !important; +} + +.pl-5 { + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.p-6 { + padding: 2rem !important; +} + +.pt-6 { + padding-top: 2rem !important; +} + +.pr-6 { + padding-right: 2rem !important; +} + +.pb-6 { + padding-bottom: 2rem !important; +} + +.pl-6 { + padding-left: 2rem !important; +} + +.px-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.p-7 { + padding: 2.5rem !important; +} + +.pt-7 { + padding-top: 2.5rem !important; +} + +.pr-7 { + padding-right: 2.5rem !important; +} + +.pb-7 { + padding-bottom: 2.5rem !important; +} + +.pl-7 { + padding-left: 2.5rem !important; +} + +.px-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; +} + +.py-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; +} + +.p-8 { + padding: 3rem !important; +} + +.pt-8 { + padding-top: 3rem !important; +} + +.pr-8 { + padding-right: 3rem !important; +} + +.pb-8 { + padding-bottom: 3rem !important; +} + +.pl-8 { + padding-left: 3rem !important; +} + +.px-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.p-9 { + padding: 3.5rem !important; +} + +.pt-9 { + padding-top: 3.5rem !important; +} + +.pr-9 { + padding-right: 3.5rem !important; +} + +.pb-9 { + padding-bottom: 3.5rem !important; +} + +.pl-9 { + padding-left: 3.5rem !important; +} + +.px-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; +} + +.py-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; +} + +.p-10 { + padding: 4rem !important; +} + +.pt-10 { + padding-top: 4rem !important; +} + +.pr-10 { + padding-right: 4rem !important; +} + +.pb-10 { + padding-bottom: 4rem !important; +} + +.pl-10 { + padding-left: 4rem !important; +} + +.px-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; +} + +.py-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} + +@media (min-width: 20rem) { + .p-xs-0 { + padding: 0 !important; + } + .pt-xs-0 { + padding-top: 0 !important; + } + .pr-xs-0 { + padding-right: 0 !important; + } + .pb-xs-0 { + padding-bottom: 0 !important; + } + .pl-xs-0 { + padding-left: 0 !important; + } + .px-xs-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xs-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xs-1 { + padding: 0.25rem !important; + } + .pt-xs-1 { + padding-top: 0.25rem !important; + } + .pr-xs-1 { + padding-right: 0.25rem !important; + } + .pb-xs-1 { + padding-bottom: 0.25rem !important; + } + .pl-xs-1 { + padding-left: 0.25rem !important; + } + .px-xs-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xs-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xs-2 { + padding: 0.5rem !important; + } + .pt-xs-2 { + padding-top: 0.5rem !important; + } + .pr-xs-2 { + padding-right: 0.5rem !important; + } + .pb-xs-2 { + padding-bottom: 0.5rem !important; + } + .pl-xs-2 { + padding-left: 0.5rem !important; + } + .px-xs-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xs-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xs-3 { + padding: 0.75rem !important; + } + .pt-xs-3 { + padding-top: 0.75rem !important; + } + .pr-xs-3 { + padding-right: 0.75rem !important; + } + .pb-xs-3 { + padding-bottom: 0.75rem !important; + } + .pl-xs-3 { + padding-left: 0.75rem !important; + } + .px-xs-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xs-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xs-4 { + padding: 1rem !important; + } + .pt-xs-4 { + padding-top: 1rem !important; + } + .pr-xs-4 { + padding-right: 1rem !important; + } + .pb-xs-4 { + padding-bottom: 1rem !important; + } + .pl-xs-4 { + padding-left: 1rem !important; + } + .px-xs-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xs-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xs-5 { + padding: 1.5rem !important; + } + .pt-xs-5 { + padding-top: 1.5rem !important; + } + .pr-xs-5 { + padding-right: 1.5rem !important; + } + .pb-xs-5 { + padding-bottom: 1.5rem !important; + } + .pl-xs-5 { + padding-left: 1.5rem !important; + } + .px-xs-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xs-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xs-6 { + padding: 2rem !important; + } + .pt-xs-6 { + padding-top: 2rem !important; + } + .pr-xs-6 { + padding-right: 2rem !important; + } + .pb-xs-6 { + padding-bottom: 2rem !important; + } + .pl-xs-6 { + padding-left: 2rem !important; + } + .px-xs-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xs-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xs-7 { + padding: 2.5rem !important; + } + .pt-xs-7 { + padding-top: 2.5rem !important; + } + .pr-xs-7 { + padding-right: 2.5rem !important; + } + .pb-xs-7 { + padding-bottom: 2.5rem !important; + } + .pl-xs-7 { + padding-left: 2.5rem !important; + } + .px-xs-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xs-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xs-8 { + padding: 3rem !important; + } + .pt-xs-8 { + padding-top: 3rem !important; + } + .pr-xs-8 { + padding-right: 3rem !important; + } + .pb-xs-8 { + padding-bottom: 3rem !important; + } + .pl-xs-8 { + padding-left: 3rem !important; + } + .px-xs-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xs-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xs-9 { + padding: 3.5rem !important; + } + .pt-xs-9 { + padding-top: 3.5rem !important; + } + .pr-xs-9 { + padding-right: 3.5rem !important; + } + .pb-xs-9 { + padding-bottom: 3.5rem !important; + } + .pl-xs-9 { + padding-left: 3.5rem !important; + } + .px-xs-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xs-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xs-10 { + padding: 4rem !important; + } + .pt-xs-10 { + padding-top: 4rem !important; + } + .pr-xs-10 { + padding-right: 4rem !important; + } + .pb-xs-10 { + padding-bottom: 4rem !important; + } + .pl-xs-10 { + padding-left: 4rem !important; + } + .px-xs-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xs-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 31.25rem) { + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0 { + padding-left: 0 !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1 { + padding-left: 0.25rem !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2 { + padding-left: 0.5rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-sm-3 { + padding: 0.75rem !important; + } + .pt-sm-3 { + padding-top: 0.75rem !important; + } + .pr-sm-3 { + padding-right: 0.75rem !important; + } + .pb-sm-3 { + padding-bottom: 0.75rem !important; + } + .pl-sm-3 { + padding-left: 0.75rem !important; + } + .px-sm-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-sm-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-sm-4 { + padding: 1rem !important; + } + .pt-sm-4 { + padding-top: 1rem !important; + } + .pr-sm-4 { + padding-right: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1rem !important; + } + .pl-sm-4 { + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-sm-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-sm-5 { + padding: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 1.5rem !important; + } + .pr-sm-5 { + padding-right: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 1.5rem !important; + } + .pl-sm-5 { + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-sm-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-sm-6 { + padding: 2rem !important; + } + .pt-sm-6 { + padding-top: 2rem !important; + } + .pr-sm-6 { + padding-right: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 2rem !important; + } + .pl-sm-6 { + padding-left: 2rem !important; + } + .px-sm-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-sm-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-sm-7 { + padding: 2.5rem !important; + } + .pt-sm-7 { + padding-top: 2.5rem !important; + } + .pr-sm-7 { + padding-right: 2.5rem !important; + } + .pb-sm-7 { + padding-bottom: 2.5rem !important; + } + .pl-sm-7 { + padding-left: 2.5rem !important; + } + .px-sm-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-sm-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-sm-8 { + padding: 3rem !important; + } + .pt-sm-8 { + padding-top: 3rem !important; + } + .pr-sm-8 { + padding-right: 3rem !important; + } + .pb-sm-8 { + padding-bottom: 3rem !important; + } + .pl-sm-8 { + padding-left: 3rem !important; + } + .px-sm-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-sm-9 { + padding: 3.5rem !important; + } + .pt-sm-9 { + padding-top: 3.5rem !important; + } + .pr-sm-9 { + padding-right: 3.5rem !important; + } + .pb-sm-9 { + padding-bottom: 3.5rem !important; + } + .pl-sm-9 { + padding-left: 3.5rem !important; + } + .px-sm-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-sm-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-sm-10 { + padding: 4rem !important; + } + .pt-sm-10 { + padding-top: 4rem !important; + } + .pr-sm-10 { + padding-right: 4rem !important; + } + .pb-sm-10 { + padding-bottom: 4rem !important; + } + .pl-sm-10 { + padding-left: 4rem !important; + } + .px-sm-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-sm-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 50rem) { + .p-md-0 { + padding: 0 !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pr-md-0 { + padding-right: 0 !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0 { + padding-left: 0 !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1 { + padding-left: 0.25rem !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2 { + padding-left: 0.5rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-md-3 { + padding: 0.75rem !important; + } + .pt-md-3 { + padding-top: 0.75rem !important; + } + .pr-md-3 { + padding-right: 0.75rem !important; + } + .pb-md-3 { + padding-bottom: 0.75rem !important; + } + .pl-md-3 { + padding-left: 0.75rem !important; + } + .px-md-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-md-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-md-4 { + padding: 1rem !important; + } + .pt-md-4 { + padding-top: 1rem !important; + } + .pr-md-4 { + padding-right: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1rem !important; + } + .pl-md-4 { + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-md-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-md-5 { + padding: 1.5rem !important; + } + .pt-md-5 { + padding-top: 1.5rem !important; + } + .pr-md-5 { + padding-right: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 1.5rem !important; + } + .pl-md-5 { + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-md-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-md-6 { + padding: 2rem !important; + } + .pt-md-6 { + padding-top: 2rem !important; + } + .pr-md-6 { + padding-right: 2rem !important; + } + .pb-md-6 { + padding-bottom: 2rem !important; + } + .pl-md-6 { + padding-left: 2rem !important; + } + .px-md-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-md-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-md-7 { + padding: 2.5rem !important; + } + .pt-md-7 { + padding-top: 2.5rem !important; + } + .pr-md-7 { + padding-right: 2.5rem !important; + } + .pb-md-7 { + padding-bottom: 2.5rem !important; + } + .pl-md-7 { + padding-left: 2.5rem !important; + } + .px-md-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-md-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-md-8 { + padding: 3rem !important; + } + .pt-md-8 { + padding-top: 3rem !important; + } + .pr-md-8 { + padding-right: 3rem !important; + } + .pb-md-8 { + padding-bottom: 3rem !important; + } + .pl-md-8 { + padding-left: 3rem !important; + } + .px-md-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-md-9 { + padding: 3.5rem !important; + } + .pt-md-9 { + padding-top: 3.5rem !important; + } + .pr-md-9 { + padding-right: 3.5rem !important; + } + .pb-md-9 { + padding-bottom: 3.5rem !important; + } + .pl-md-9 { + padding-left: 3.5rem !important; + } + .px-md-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-md-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-md-10 { + padding: 4rem !important; + } + .pt-md-10 { + padding-top: 4rem !important; + } + .pr-md-10 { + padding-right: 4rem !important; + } + .pb-md-10 { + padding-bottom: 4rem !important; + } + .pl-md-10 { + padding-left: 4rem !important; + } + .px-md-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-md-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 66.5rem) { + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0 { + padding-left: 0 !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1 { + padding-left: 0.25rem !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2 { + padding-left: 0.5rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-lg-3 { + padding: 0.75rem !important; + } + .pt-lg-3 { + padding-top: 0.75rem !important; + } + .pr-lg-3 { + padding-right: 0.75rem !important; + } + .pb-lg-3 { + padding-bottom: 0.75rem !important; + } + .pl-lg-3 { + padding-left: 0.75rem !important; + } + .px-lg-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-lg-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-lg-4 { + padding: 1rem !important; + } + .pt-lg-4 { + padding-top: 1rem !important; + } + .pr-lg-4 { + padding-right: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1rem !important; + } + .pl-lg-4 { + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-lg-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-lg-5 { + padding: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 1.5rem !important; + } + .pr-lg-5 { + padding-right: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 1.5rem !important; + } + .pl-lg-5 { + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-lg-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-lg-6 { + padding: 2rem !important; + } + .pt-lg-6 { + padding-top: 2rem !important; + } + .pr-lg-6 { + padding-right: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 2rem !important; + } + .pl-lg-6 { + padding-left: 2rem !important; + } + .px-lg-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-lg-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-lg-7 { + padding: 2.5rem !important; + } + .pt-lg-7 { + padding-top: 2.5rem !important; + } + .pr-lg-7 { + padding-right: 2.5rem !important; + } + .pb-lg-7 { + padding-bottom: 2.5rem !important; + } + .pl-lg-7 { + padding-left: 2.5rem !important; + } + .px-lg-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-lg-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-lg-8 { + padding: 3rem !important; + } + .pt-lg-8 { + padding-top: 3rem !important; + } + .pr-lg-8 { + padding-right: 3rem !important; + } + .pb-lg-8 { + padding-bottom: 3rem !important; + } + .pl-lg-8 { + padding-left: 3rem !important; + } + .px-lg-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-lg-9 { + padding: 3.5rem !important; + } + .pt-lg-9 { + padding-top: 3.5rem !important; + } + .pr-lg-9 { + padding-right: 3.5rem !important; + } + .pb-lg-9 { + padding-bottom: 3.5rem !important; + } + .pl-lg-9 { + padding-left: 3.5rem !important; + } + .px-lg-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-lg-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-lg-10 { + padding: 4rem !important; + } + .pt-lg-10 { + padding-top: 4rem !important; + } + .pr-lg-10 { + padding-right: 4rem !important; + } + .pb-lg-10 { + padding-bottom: 4rem !important; + } + .pl-lg-10 { + padding-left: 4rem !important; + } + .px-lg-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-lg-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 87.5rem) { + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0 { + padding-left: 0 !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1 { + padding-left: 0.25rem !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2 { + padding-left: 0.5rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xl-3 { + padding: 0.75rem !important; + } + .pt-xl-3 { + padding-top: 0.75rem !important; + } + .pr-xl-3 { + padding-right: 0.75rem !important; + } + .pb-xl-3 { + padding-bottom: 0.75rem !important; + } + .pl-xl-3 { + padding-left: 0.75rem !important; + } + .px-xl-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xl-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xl-4 { + padding: 1rem !important; + } + .pt-xl-4 { + padding-top: 1rem !important; + } + .pr-xl-4 { + padding-right: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1rem !important; + } + .pl-xl-4 { + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xl-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xl-5 { + padding: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 1.5rem !important; + } + .pr-xl-5 { + padding-right: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 1.5rem !important; + } + .pl-xl-5 { + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xl-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xl-6 { + padding: 2rem !important; + } + .pt-xl-6 { + padding-top: 2rem !important; + } + .pr-xl-6 { + padding-right: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 2rem !important; + } + .pl-xl-6 { + padding-left: 2rem !important; + } + .px-xl-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xl-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xl-7 { + padding: 2.5rem !important; + } + .pt-xl-7 { + padding-top: 2.5rem !important; + } + .pr-xl-7 { + padding-right: 2.5rem !important; + } + .pb-xl-7 { + padding-bottom: 2.5rem !important; + } + .pl-xl-7 { + padding-left: 2.5rem !important; + } + .px-xl-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xl-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xl-8 { + padding: 3rem !important; + } + .pt-xl-8 { + padding-top: 3rem !important; + } + .pr-xl-8 { + padding-right: 3rem !important; + } + .pb-xl-8 { + padding-bottom: 3rem !important; + } + .pl-xl-8 { + padding-left: 3rem !important; + } + .px-xl-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xl-9 { + padding: 3.5rem !important; + } + .pt-xl-9 { + padding-top: 3.5rem !important; + } + .pr-xl-9 { + padding-right: 3.5rem !important; + } + .pb-xl-9 { + padding-bottom: 3.5rem !important; + } + .pl-xl-9 { + padding-left: 3.5rem !important; + } + .px-xl-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xl-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xl-10 { + padding: 4rem !important; + } + .pt-xl-10 { + padding-top: 4rem !important; + } + .pr-xl-10 { + padding-right: 4rem !important; + } + .pb-xl-10 { + padding-bottom: 4rem !important; + } + .pl-xl-10 { + padding-left: 4rem !important; + } + .px-xl-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xl-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media print { + .site-footer, + .site-button, + #edit-this-page, + #back-to-top, + .site-nav, + .main-header { + display: none !important; + } + hr { + margin-top: 1rem; + margin-bottom: 1rem; + } + .side-bar { + width: 100%; + height: auto; + border-right: 0 !important; + /* Disable display: flex and position: fixed from non-print styles */ + position: static; + display: block; + } + .site-header { + border-bottom: 1px solid #44434d; + } + .site-title { + font-size: 1rem !important; + font-weight: 700 !important; + } + .text-small { + font-size: 8pt !important; + } + pre.highlight { + border: 1px solid #44434d; + } + .main { + max-width: none; + margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */ + } +} +a.skip-to-main { + left: -999px; + position: absolute; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; + z-index: -999; +} + +a.skip-to-main:focus, +a.skip-to-main:active { + color: rgb(93.8194444444, 161.0416666667, 251.1805555556); + background-color: #27262b; + left: auto; + top: auto; + width: 30%; + height: auto; + overflow: auto; + margin: 10px 35%; + padding: 5px; + border-radius: 15px; + border: 4px solid #264caf; + text-align: center; + font-size: 1.2em; + z-index: 999; +} + +div.opaque { + background-color: #27262b; +} + +p.note, blockquote.note { + border: 1px #183385 solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note::before, blockquote.note::before { + color: #183385; + content: "Note"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.note > .note-title, blockquote.note > .note-title { + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.note-title, blockquote.note-title { + border: 1px #183385 solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note-title > p:first-child, blockquote.note-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.note { + margin-left: 0; + margin-right: 0; +} +blockquote.note > p:first-child { + margin-top: 0; +} +blockquote.note > p:last-child { + margin-bottom: 0; +} + +blockquote.note-title { + margin-left: 0; + margin-right: 0; +} +blockquote.note-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.note-title > p:last-child { + margin-bottom: 0; +} + +p.warning, blockquote.warning { + border: 1px #dd2e2e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning::before, blockquote.warning::before { + color: #dd2e2e; + content: "Warning"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.warning > .warning-title, blockquote.warning > .warning-title { + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.warning-title, blockquote.warning-title { + border: 1px #dd2e2e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning-title > p:first-child, blockquote.warning-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.warning { + margin-left: 0; + margin-right: 0; +} +blockquote.warning > p:first-child { + margin-top: 0; +} +blockquote.warning > p:last-child { + margin-bottom: 0; +} + +blockquote.warning-title { + margin-left: 0; + margin-right: 0; +} +blockquote.warning-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.warning-title > p:last-child { + margin-bottom: 0; +} + +p.tip, blockquote.tip { + border: 1px #026e57 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip::before, blockquote.tip::before { + color: #026e57; + content: "Tip"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.tip > .tip-title, blockquote.tip > .tip-title { + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.tip-title, blockquote.tip-title { + border: 1px #026e57 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip-title > p:first-child, blockquote.tip-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.tip { + margin-left: 0; + margin-right: 0; +} +blockquote.tip > p:first-child { + margin-top: 0; +} +blockquote.tip > p:last-child { + margin-bottom: 0; +} + +blockquote.tip-title { + margin-left: 0; + margin-right: 0; +} +blockquote.tip-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.tip-title > p:last-child { + margin-bottom: 0; +} + +/*# sourceMappingURL=just-the-docs-dark.css.map */ \ No newline at end of file diff --git a/docs/_site/assets/css/just-the-docs-dark.css.map b/docs/_site/assets/css/just-the-docs-dark.css.map new file mode 100644 index 0000000..4d06243 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-dark.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-dark.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/dark.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-dark.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAa;EAAqB;;;AAClC;EAAgB;EAAgB;EAAqB;AACrD;EAAkB;EAAiB;AACnC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAgB;EAAoB;AACpD;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAkB;EAAgB;EAAqB;AACvD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAgB;EAAqB;AACtD;EAAkB;EAAgB;EAAmB;EAAqB;AAC1E;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAA0B;EAAgB;EAA6B;AACvE;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AC1FlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIiBY;EJhBZ,kBIYY;EJXZ;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIjBY;;;AJoBd;EACE;EACA;;;AAGF;EACE,OCzDW;ED0DX;;;AAGF;EACE;EACA,uBInCY;EJoCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBInEY;EJoEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD4BY;;ADpBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDLQ;;ADpBV;EEuBA;IAKI;IACA,kBDTM;;;ACYR;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODnGY;ECoGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OJ7MW;;;AKCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OL/KO;EKgLP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,ON3EO;EM4EP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHlFI;;AGqFN;EACE,OHtFI;;AG4FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ONjKG;;AMoKL;EACE,ONrKG;;;AM8Kb;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTRW;ESSX;EACA;EACA;EACA,kBNiBY;EMhBZ;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OTtEW;ESuEX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORTY;EQUZ,kBRfY;EQgBZ;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBRxBU;IQyBV;;;AAGF;EACE;;AAEA;EACE,OX9DO;;;AWmEb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRhEY;EQiEZ,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX3Ha;;;AW+HjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,OXrKS;EWsKT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,ORrJY;EQsJZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORjKY;EQkKZ;EACA,aR/GO;EQgHP,mBR1KY;;AFhBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBRzMY;EQ0MZ;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBRzPU;;ADnBV;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTQY;ESPZ;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBbDoB;EaEpB;EACA,eV+EY;;;AU1EhB;EACE,cVcY;;;AUqCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBbjEsB;EakEtB,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OVtDU;EUuDV;;AAEA;AAAA;AAAA;EACE,MV1DQ;;AU6DV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBb/KoB;EagLpB;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YblOsB;EaqOpB,ObpOoB;;;Aa2OxB;EACE,Yb7OsB;;;AcLxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OpBXW;EoBYX,kBjBkBY;EiBjBZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE,kBlByBY;;;AkBtBd;EACI;EACA;EACA,elB4EY;EkB3EZ;EACA;;AAEA;EACI,OlB0BG;EkBzBH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBgBK;EkBfL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBiDY;EkBhDZ;EACA;;AACA;EACE;EACA;EACA,OlBFK;EkBGL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBGY;EkBFZ;EACA;;AAEA;EACI,OlBnCE;EkBoCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB7CI;EkB8CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBxBY;EkByBZ;EACA;;AACA;EACE;EACA;EACA,OlB/DI;EkBgEJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBtEY;EkBuEZ;EACA;;AAEA;EACI,OlBpHI;EkBqHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB9HM;EkB+HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBjGY;EkBkGZ;EACA;;AACA;EACE;EACA;EACA,OlBhJM;EkBiJN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #6e7681 }\n.highlight { background: #0d1117; color: #E6EDF3 }\n.highlight .c { color: #8B949E; font-style: italic } /* Comment */\n.highlight .err { color: #F85149 } /* Error */\n.highlight .esc { color: #E6EDF3 } /* Escape */\n.highlight .g { color: #E6EDF3 } /* Generic */\n.highlight .k { color: #FF7B72 } /* Keyword */\n.highlight .l { color: #A5D6FF } /* Literal */\n.highlight .n { color: #E6EDF3 } /* Name */\n.highlight .o { color: #FF7B72; font-weight: bold } /* Operator */\n.highlight .x { color: #E6EDF3 } /* Other */\n.highlight .p { color: #E6EDF3 } /* Punctuation */\n.highlight .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */\n.highlight .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #8B949E; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */\n.highlight .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */\n.highlight .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n.highlight .gr { color: #FFA198 } /* Generic.Error */\n.highlight .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */\n.highlight .go { color: #8B949E } /* Generic.Output */\n.highlight .gp { color: #8B949E } /* Generic.Prompt */\n.highlight .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #79C0FF } /* Generic.Subheading */\n.highlight .gt { color: #FF7B72 } /* Generic.Traceback */\n.highlight .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */\n.highlight .kc { color: #79C0FF } /* Keyword.Constant */\n.highlight .kd { color: #FF7B72 } /* Keyword.Declaration */\n.highlight .kn { color: #FF7B72 } /* Keyword.Namespace */\n.highlight .kp { color: #79C0FF } /* Keyword.Pseudo */\n.highlight .kr { color: #FF7B72 } /* Keyword.Reserved */\n.highlight .kt { color: #FF7B72 } /* Keyword.Type */\n.highlight .ld { color: #79C0FF } /* Literal.Date */\n.highlight .m { color: #A5D6FF } /* Literal.Number */\n.highlight .s { color: #A5D6FF } /* Literal.String */\n.highlight .na { color: #E6EDF3 } /* Name.Attribute */\n.highlight .nb { color: #E6EDF3 } /* Name.Builtin */\n.highlight .nc { color: #F0883E; font-weight: bold } /* Name.Class */\n.highlight .no { color: #79C0FF; font-weight: bold } /* Name.Constant */\n.highlight .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */\n.highlight .ni { color: #FFA657 } /* Name.Entity */\n.highlight .ne { color: #F0883E; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */\n.highlight .nl { color: #79C0FF; font-weight: bold } /* Name.Label */\n.highlight .nn { color: #FF7B72 } /* Name.Namespace */\n.highlight .nx { color: #E6EDF3 } /* Name.Other */\n.highlight .py { color: #79C0FF } /* Name.Property */\n.highlight .nt { color: #7EE787 } /* Name.Tag */\n.highlight .nv { color: #79C0FF } /* Name.Variable */\n.highlight .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */\n.highlight .pm { color: #E6EDF3 } /* Punctuation.Marker */\n.highlight .w { color: #6E7681 } /* Text.Whitespace */\n.highlight .mb { color: #A5D6FF } /* Literal.Number.Bin */\n.highlight .mf { color: #A5D6FF } /* Literal.Number.Float */\n.highlight .mh { color: #A5D6FF } /* Literal.Number.Hex */\n.highlight .mi { color: #A5D6FF } /* Literal.Number.Integer */\n.highlight .mo { color: #A5D6FF } /* Literal.Number.Oct */\n.highlight .sa { color: #79C0FF } /* Literal.String.Affix */\n.highlight .sb { color: #A5D6FF } /* Literal.String.Backtick */\n.highlight .sc { color: #A5D6FF } /* Literal.String.Char */\n.highlight .dl { color: #79C0FF } /* Literal.String.Delimiter */\n.highlight .sd { color: #A5D6FF } /* Literal.String.Doc */\n.highlight .s2 { color: #A5D6FF } /* Literal.String.Double */\n.highlight .se { color: #79C0FF } /* Literal.String.Escape */\n.highlight .sh { color: #79C0FF } /* Literal.String.Heredoc */\n.highlight .si { color: #A5D6FF } /* Literal.String.Interpol */\n.highlight .sx { color: #A5D6FF } /* Literal.String.Other */\n.highlight .sr { color: #79C0FF } /* Literal.String.Regex */\n.highlight .s1 { color: #A5D6FF } /* Literal.String.Single */\n.highlight .ss { color: #A5D6FF } /* Literal.String.Symbol */\n.highlight .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */\n.highlight .vc { color: #79C0FF } /* Name.Variable.Class */\n.highlight .vg { color: #79C0FF } /* Name.Variable.Global */\n.highlight .vi { color: #79C0FF } /* Name.Variable.Instance */\n.highlight .vm { color: #79C0FF } /* Name.Variable.Magic */\n.highlight .il { color: #A5D6FF } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: auto; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","$color-scheme: dark;\n$body-background-color: $grey-dk-300;\n$body-heading-color: $grey-lt-000;\n$body-text-color: $grey-lt-300;\n$link-color: lighten($blue-000, 10%);\n$nav-child-link-color: $grey-dk-000;\n$sidebar-color: $grey-dk-300;\n$base-button-color: $grey-dk-250;\n$btn-primary-color: $blue-200;\n$code-background-color: #0d1117; // github-dark bg color\n$code-linenumber-color: #e6edf3; // github-dark line number color\n$feedback-color: darken($sidebar-color, 3%);\n$table-background-color: $grey-dk-250;\n$search-background-color: $grey-dk-250;\n$search-result-preview-color: $grey-lt-300;\n$border-color: $grey-dk-200;\n\n@import \"./vendor/accessible-pygments/github-dark\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline-offset: -1px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n outline-offset: -1px;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n overflow-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n overflow-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n\n /* Disable display: flex and position: fixed from non-print styles */\n position: static;\n display: block;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/dark\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n border: 1px $blue-300 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-300 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $red-300 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $red-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $red-300 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.tip, blockquote.tip {\n border: 1px $green-300 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-300 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-dark.css"} \ No newline at end of file diff --git a/docs/_site/assets/css/just-the-docs-default.css b/docs/_site/assets/css/just-the-docs-default.css new file mode 100644 index 0000000..532fca8 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-default.css @@ -0,0 +1,7511 @@ +@charset "UTF-8"; +/* +generated by accessible-pygments +Copyright (c) 2022, Quansight Labs +Licensed under the BSD license, see LICENSE for details. +-- +generated by Pygments +Copyright 2006-2025 by the Pygments team. +Licensed under the BSD license, see LICENSE for details. +*/ +.highlight .hll { + background-color: rgba(9, 105, 218, 0.2901960784); +} + +.highlight .c { + color: #6E7781; +} /* Comment */ +.highlight .err { + color: #CF222E; +} /* Error */ +.highlight .k { + color: #CF222E; +} /* Keyword */ +.highlight .l { + color: #953800; +} /* Literal */ +.highlight .n { + color: #8250DF; +} /* Name */ +.highlight .o { + color: #116329; +} /* Operator */ +.highlight .p { + color: #24292F; +} /* Punctuation */ +.highlight .ch { + color: #6E7781; +} /* Comment.Hashbang */ +.highlight .cm { + color: #6E7781; +} /* Comment.Multiline */ +.highlight .cp { + color: #6E7781; +} /* Comment.Preproc */ +.highlight .cpf { + color: #6E7781; +} /* Comment.PreprocFile */ +.highlight .c1 { + color: #6E7781; +} /* Comment.Single */ +.highlight .cs { + color: #6E7781; +} /* Comment.Special */ +.highlight .gd { + color: #0550AE; +} /* Generic.Deleted */ +.highlight .ge { + font-style: italic; +} /* Generic.Emph */ +.highlight .gr { + color: #CF222E; +} /* Generic.Error */ +.highlight .gh { + color: #0550AE; +} /* Generic.Heading */ +.highlight .gs { + font-weight: bold; +} /* Generic.Strong */ +.highlight .gu { + color: #0550AE; +} /* Generic.Subheading */ +.highlight .kc { + color: #0550AE; +} /* Keyword.Constant */ +.highlight .kd { + color: #CF222E; +} /* Keyword.Declaration */ +.highlight .kn { + color: #CF222E; +} /* Keyword.Namespace */ +.highlight .kp { + color: #CF222E; +} /* Keyword.Pseudo */ +.highlight .kr { + color: #CF222E; +} /* Keyword.Reserved */ +.highlight .kt { + color: #CF222E; +} /* Keyword.Type */ +.highlight .ld { + color: #953800; +} /* Literal.Date */ +.highlight .m { + color: #953800; +} /* Literal.Number */ +.highlight .s { + color: #0550AE; +} /* Literal.String */ +.highlight .na { + color: #953800; +} /* Name.Attribute */ +.highlight .nb { + color: #953800; +} /* Name.Builtin */ +.highlight .nc { + color: #0550AE; +} /* Name.Class */ +.highlight .no { + color: #0550AE; +} /* Name.Constant */ +.highlight .nd { + color: #953800; +} /* Name.Decorator */ +.highlight .ni { + color: #116329; +} /* Name.Entity */ +.highlight .ne { + color: #8250DF; +} /* Name.Exception */ +.highlight .nf { + color: #0550AE; +} /* Name.Function */ +.highlight .nl { + color: #953800; +} /* Name.Label */ +.highlight .nn { + color: #24292F; +} /* Name.Namespace */ +.highlight .nx { + color: #8250DF; +} /* Name.Other */ +.highlight .py { + color: #0550AE; +} /* Name.Property */ +.highlight .nt { + color: #116329; +} /* Name.Tag */ +.highlight .nv { + color: #953800; +} /* Name.Variable */ +.highlight .ow { + color: #8250DF; +} /* Operator.Word */ +.highlight .pm { + color: #24292F; +} /* Punctuation.Marker */ +.highlight .w { + color: #24292F; +} /* Text.Whitespace */ +.highlight .mb { + color: #953800; +} /* Literal.Number.Bin */ +.highlight .mf { + color: #953800; +} /* Literal.Number.Float */ +.highlight .mh { + color: #953800; +} /* Literal.Number.Hex */ +.highlight .mi { + color: #953800; +} /* Literal.Number.Integer */ +.highlight .mo { + color: #953800; +} /* Literal.Number.Oct */ +.highlight .sa { + color: #0550AE; +} /* Literal.String.Affix */ +.highlight .sb { + color: #0550AE; +} /* Literal.String.Backtick */ +.highlight .sc { + color: #0550AE; +} /* Literal.String.Char */ +.highlight .dl { + color: #0550AE; +} /* Literal.String.Delimiter */ +.highlight .sd { + color: #0550AE; +} /* Literal.String.Doc */ +.highlight .s2 { + color: #0550AE; +} /* Literal.String.Double */ +.highlight .se { + color: #0550AE; +} /* Literal.String.Escape */ +.highlight .sh { + color: #0550AE; +} /* Literal.String.Heredoc */ +.highlight .si { + color: #0550AE; +} /* Literal.String.Interpol */ +.highlight .sx { + color: #0550AE; +} /* Literal.String.Other */ +.highlight .sr { + color: #0550AE; +} /* Literal.String.Regex */ +.highlight .s1 { + color: #0550AE; +} /* Literal.String.Single */ +.highlight .ss { + color: #0550AE; +} /* Literal.String.Symbol */ +.highlight .bp { + color: #953800; +} /* Name.Builtin.Pseudo */ +.highlight .fm { + color: #0550AE; +} /* Name.Function.Magic */ +.highlight .vc { + color: #953800; +} /* Name.Variable.Class */ +.highlight .vg { + color: #953800; +} /* Name.Variable.Global */ +.highlight .vi { + color: #953800; +} /* Name.Variable.Instance */ +.highlight .vm { + color: #953800; +} /* Name.Variable.Magic */ +.highlight .il { + color: #953800; +} /* Literal.Number.Integer.Long */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; /* 1 */ + text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type=button], +[type=reset], +[type=submit] { + appearance: auto; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type=checkbox], +[type=radio] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type=search] { + appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-decoration { + appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + appearance: auto; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +:root { + color-scheme: light; +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} +html { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + html { + font-size: 1rem !important; + } +} + +body { + font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; + font-size: inherit; + line-height: 1.4; + color: #5c5962; + background-color: #fff; + overflow-wrap: break-word; +} + +ol, +ul, +dl, +pre, +address, +blockquote, +table, +div, +hr, +form, +fieldset, +noscript .table-wrapper { + margin-top: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6, +#toctitle { + margin-top: 0; + margin-bottom: 1em; + font-weight: 500; + line-height: 1.25; + color: #27262b; +} + +p { + margin-top: 1em; + margin-bottom: 1em; +} + +a { + color: #7253ed; + text-decoration: none; +} + +a:not([class]) { + text-decoration: underline; + text-decoration-color: #eeebee; + text-underline-offset: 2px; +} +a:not([class]):hover { + text-decoration-color: rgba(114, 83, 237, 0.45); +} + +code { + font-family: "SFMono-Regular", menlo, consolas, monospace; + font-size: 0.75em; + line-height: 1.4; +} + +figure, +pre { + margin: 0; +} + +li { + margin: 0.25em 0; +} + +img { + max-width: 100%; + height: auto; +} + +hr { + height: 1px; + padding: 0; + margin: 2rem 0; + background-color: #eeebee; + border: 0; +} + +blockquote { + margin: 10px 0; + margin-block-start: 0; + margin-inline-start: 0; + padding-left: 1rem; + border-left: 3px solid #eeebee; +} + +.side-bar { + z-index: 0; + display: flex; + flex-wrap: wrap; + background-color: #f5f6fa; +} +@media (min-width: 50rem) { + .side-bar { + flex-flow: column nowrap; + position: fixed; + width: 15.5rem; + height: 100%; + border-right: 1px solid #eeebee; + align-items: flex-end; + } +} +@media (min-width: 66.5rem) { + .side-bar { + width: calc((100% - 66.5rem) / 2 + 16.5rem); + min-width: 16.5rem; + } +} +@media (min-width: 50rem) { + .side-bar + .main { + margin-left: 15.5rem; + } +} +@media (min-width: 66.5rem) { + .side-bar + .main { + margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); + } +} +.side-bar + .main .main-header { + display: none; + background-color: #f5f6fa; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header { + display: flex; + background-color: #fff; + } +} +.side-bar + .main .main-header.nav-open { + display: block; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header.nav-open { + display: flex; + } +} + +.main { + margin: auto; +} +@media (min-width: 50rem) { + .main { + position: relative; + max-width: 50rem; + } +} + +.main-content-wrap { + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-right: 2rem; + padding-left: 2rem; + } +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-top: 2rem; + padding-bottom: 2rem; + } +} + +.main-header { + z-index: 0; + border-bottom: 1px solid #eeebee; +} +@media (min-width: 50rem) { + .main-header { + display: flex; + justify-content: space-between; + height: 3.75rem; + } +} + +.site-nav, +.site-header, +.site-footer { + width: 100%; +} +@media (min-width: 66.5rem) { + .site-nav, + .site-header, + .site-footer { + width: 16.5rem; + } +} + +.site-nav { + display: none; +} +.site-nav.nav-open { + display: block; +} +@media (min-width: 50rem) { + .site-nav { + display: block; + padding-top: 3rem; + padding-bottom: 1rem; + overflow-y: auto; + flex: 1 1 auto; + } +} + +.site-header { + display: flex; + min-height: 3.75rem; + align-items: center; +} +@media (min-width: 50rem) { + .site-header { + height: 3.75rem; + max-height: 3.75rem; + border-bottom: 1px solid #eeebee; + } +} + +.site-title { + flex-grow: 1; + display: flex; + height: 100%; + align-items: center; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #27262b; + outline-offset: -1px; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-title { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-title { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .site-title { + font-size: 1.5rem !important; + line-height: 1.25; + } +} +@media (min-width: 50rem) { + .site-title { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } +} + +.site-button { + display: flex; + height: 100%; + padding: 1rem; + align-items: center; + outline-offset: -1px; +} + +@media (min-width: 50rem) { + .site-header .site-button { + display: none; + } +} +.site-title:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); +} + +.site-button:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%); +} + +.site-footer { + position: absolute; + bottom: 0; + left: 0; + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-footer { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-footer { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .site-footer { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .site-footer { + position: static; + justify-self: end; + } +} + +.icon { + width: 1.5rem; + height: 1.5rem; + color: #7253ed; +} + +.main-content { + line-height: 1.6; +} +.main-content ol, +.main-content ul, +.main-content dl, +.main-content pre, +.main-content address, +.main-content blockquote, +.main-content .table-wrapper { + margin-top: 0.5em; +} +.main-content a { + overflow: hidden; + text-overflow: ellipsis; +} +.main-content ul, +.main-content ol { + padding-left: 1.5em; +} +.main-content li .highlight { + margin-top: 0.25rem; +} +.main-content ol { + list-style-type: none; + counter-reset: step-counter; +} +.main-content ol > li { + position: relative; +} +.main-content ol > li::before { + position: absolute; + top: 0.2em; + left: -1.6em; + color: #959396; + content: counter(step-counter); + counter-increment: step-counter; +} +.main-content ol > li::before { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + font-size: 0.875rem !important; + } +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + top: 0.11em; + } +} +.main-content ol > li ol { + counter-reset: sub-counter; +} +.main-content ol > li ol > li::before { + content: counter(sub-counter, lower-alpha); + counter-increment: sub-counter; +} +.main-content ul { + list-style: none; +} +.main-content ul > li::before { + position: absolute; + margin-left: -1.4em; + color: #959396; + content: "•"; +} +.main-content .task-list-item::before { + content: ""; +} +.main-content .task-list-item-checkbox { + margin-right: 0.6em; + margin-left: -1.4em; +} +.main-content hr + * { + margin-top: 0; +} +.main-content h1:first-of-type { + margin-top: 0.5em; +} +.main-content dl { + display: grid; + grid-template: auto/10em 1fr; +} +.main-content dt, +.main-content dd { + margin: 0.25em 0; +} +.main-content dt { + grid-column: 1; + font-weight: 500; + text-align: right; +} +.main-content dt::after { + content: ":"; +} +.main-content dd { + grid-column: 2; + margin-bottom: 0; + margin-left: 1em; +} +.main-content dd blockquote:first-child, +.main-content dd div:first-child, +.main-content dd dl:first-child, +.main-content dd dt:first-child, +.main-content dd h1:first-child, +.main-content dd h2:first-child, +.main-content dd h3:first-child, +.main-content dd h4:first-child, +.main-content dd h5:first-child, +.main-content dd h6:first-child, +.main-content dd li:first-child, +.main-content dd ol:first-child, +.main-content dd p:first-child, +.main-content dd pre:first-child, +.main-content dd table:first-child, +.main-content dd ul:first-child, +.main-content dd .table-wrapper:first-child { + margin-top: 0; +} +.main-content dd dl:first-child dt:first-child, +.main-content dd dl:first-child dd:nth-child(2), +.main-content ol dl:first-child dt:first-child, +.main-content ol dl:first-child dd:nth-child(2), +.main-content ul dl:first-child dt:first-child, +.main-content ul dl:first-child dd:nth-child(2) { + margin-top: 0; +} +.main-content .anchor-heading { + position: absolute; + right: -1rem; + width: 1.5rem; + height: 100%; + padding-right: 0.25rem; + padding-left: 0.25rem; + overflow: visible; +} +@media (min-width: 50rem) { + .main-content .anchor-heading { + right: auto; + left: -1.5rem; + } +} +.main-content .anchor-heading svg { + display: inline-block; + width: 100%; + height: 100%; + color: #7253ed; + visibility: hidden; +} +.main-content .anchor-heading:hover svg, +.main-content .anchor-heading:focus svg, +.main-content h1:hover > .anchor-heading svg, +.main-content h2:hover > .anchor-heading svg, +.main-content h3:hover > .anchor-heading svg, +.main-content h4:hover > .anchor-heading svg, +.main-content h5:hover > .anchor-heading svg, +.main-content h6:hover > .anchor-heading svg { + visibility: visible; +} +.main-content summary { + cursor: pointer; +} +.main-content h1, +.main-content h2, +.main-content h3, +.main-content h4, +.main-content h5, +.main-content h6, +.main-content #toctitle { + position: relative; + margin-top: 1.5em; + margin-bottom: 0.25em; +} +.main-content h1 + table, +.main-content h1 + .table-wrapper, +.main-content h1 + .code-example, +.main-content h1 + .highlighter-rouge, +.main-content h1 + .sectionbody .listingblock, +.main-content h2 + table, +.main-content h2 + .table-wrapper, +.main-content h2 + .code-example, +.main-content h2 + .highlighter-rouge, +.main-content h2 + .sectionbody .listingblock, +.main-content h3 + table, +.main-content h3 + .table-wrapper, +.main-content h3 + .code-example, +.main-content h3 + .highlighter-rouge, +.main-content h3 + .sectionbody .listingblock, +.main-content h4 + table, +.main-content h4 + .table-wrapper, +.main-content h4 + .code-example, +.main-content h4 + .highlighter-rouge, +.main-content h4 + .sectionbody .listingblock, +.main-content h5 + table, +.main-content h5 + .table-wrapper, +.main-content h5 + .code-example, +.main-content h5 + .highlighter-rouge, +.main-content h5 + .sectionbody .listingblock, +.main-content h6 + table, +.main-content h6 + .table-wrapper, +.main-content h6 + .code-example, +.main-content h6 + .highlighter-rouge, +.main-content h6 + .sectionbody .listingblock, +.main-content #toctitle + table, +.main-content #toctitle + .table-wrapper, +.main-content #toctitle + .code-example, +.main-content #toctitle + .highlighter-rouge, +.main-content #toctitle + .sectionbody .listingblock { + margin-top: 1em; +} +.main-content h1 + p:not(.label), +.main-content h2 + p:not(.label), +.main-content h3 + p:not(.label), +.main-content h4 + p:not(.label), +.main-content h5 + p:not(.label), +.main-content h6 + p:not(.label), +.main-content #toctitle + p:not(.label) { + margin-top: 0; +} +.main-content > h1:first-child, +.main-content > h2:first-child, +.main-content > h3:first-child, +.main-content > h4:first-child, +.main-content > h5:first-child, +.main-content > h6:first-child, +.main-content > .sect1:first-child > h2, +.main-content > .sect2:first-child > h3, +.main-content > .sect3:first-child > h4, +.main-content > .sect4:first-child > h5, +.main-content > .sect5:first-child > h6 { + margin-top: 0.5rem; +} + +.nav-list { + padding: 0; + margin-top: 0; + margin-bottom: 0; + list-style: none; +} +.nav-list .nav-list-item { + position: relative; + margin: 0; +} +.nav-list .nav-list-item { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .nav-list .nav-list-item { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 0.875rem !important; + } +} +.nav-list .nav-list-item .nav-list-link { + display: block; + min-height: 3rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + line-height: 2.5rem; + outline-offset: -1px; + padding-right: 3rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-link { + min-height: 2rem; + line-height: 1.5rem; + padding-right: 2rem; + padding-left: 2rem; + } +} +.nav-list .nav-list-item .nav-list-link.external > svg { + width: 1rem; + height: 1rem; + vertical-align: text-bottom; +} +.nav-list .nav-list-item .nav-list-link.active { + font-weight: 600; + text-decoration: none; +} +.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { + color: rgb(95.0763157895, 59.9157894737, 234.5842105263); + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); +} +.nav-list .nav-list-item .nav-list-expander { + position: absolute; + right: 0; + width: 3rem; + height: 3rem; + padding: 0.75rem; + color: #7253ed; + outline-offset: -1px; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-expander { + width: 2rem; + height: 2rem; + padding: 0.5rem; + } +} +.nav-list .nav-list-item .nav-list-expander:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%); +} +.nav-list .nav-list-item .nav-list-expander svg { + transform: rotate(90deg); +} +.nav-list .nav-list-item > .nav-list { + display: none; + padding-left: 0.75rem; + list-style: none; +} +.nav-list .nav-list-item > .nav-list .nav-list-item { + position: relative; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { + color: #5c5962; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { + color: #5c5962; +} +.nav-list .nav-list-item.active > .nav-list-expander svg { + transform: rotate(-90deg); +} +.nav-list .nav-list-item.active > .nav-list { + display: block; +} + +.nav-category { + padding: 0.5rem 1rem; + font-weight: 600; + text-align: start; + text-transform: uppercase; + border-bottom: 1px solid #eeebee; +} +.nav-category { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .nav-category { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .nav-category { + padding: 0.5rem 2rem; + margin-top: 1rem; + text-align: start; + } + .nav-category:first-child { + margin-top: 0; + } +} + +.nav-list.nav-category-list > .nav-list-item { + margin: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list { + padding: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { + color: #7253ed; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { + color: #7253ed; +} + +.aux-nav { + height: 100%; + overflow-x: auto; +} +.aux-nav { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .aux-nav { + font-size: 0.75rem !important; + } +} +.aux-nav .aux-nav-list { + display: flex; + height: 100%; + padding: 0; + margin: 0; + list-style: none; +} +.aux-nav .aux-nav-list-item { + display: inline-block; + height: 100%; + padding: 0; + margin: 0; +} +@media (min-width: 50rem) { + .aux-nav { + padding-right: 1rem; + } +} + +@media (min-width: 50rem) { + .breadcrumb-nav { + margin-top: -1rem; + } +} + +.breadcrumb-nav-list { + padding-left: 0; + margin-bottom: 0.75rem; + list-style: none; +} + +.breadcrumb-nav-list-item { + display: table-cell; +} +.breadcrumb-nav-list-item { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .breadcrumb-nav-list-item { + font-size: 0.75rem !important; + } +} +.breadcrumb-nav-list-item::before { + display: none; +} +.breadcrumb-nav-list-item::after { + display: inline-block; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #959396; + content: "/"; +} +.breadcrumb-nav-list-item:last-child::after { + content: ""; +} + +h1, +.text-alpha { + font-weight: 300; +} +h1, +.text-alpha { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + h1, + .text-alpha { + font-size: 2.25rem !important; + } +} + +h2, +.text-beta, +#toctitle { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + h2, + .text-beta, + #toctitle { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +h3, +.text-gamma { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + h3, + .text-gamma { + font-size: 1.125rem !important; + } +} + +h4, +.text-delta { + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0.1em; +} +h4, +.text-delta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h4, + .text-delta { + font-size: 0.75rem !important; + } +} + +h4 code { + text-transform: none; +} + +h5, +.text-epsilon { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + h5, + .text-epsilon { + font-size: 0.875rem !important; + } +} + +h6, +.text-zeta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h6, + .text-zeta { + font-size: 0.75rem !important; + } +} + +.text-small { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .text-small { + font-size: 0.75rem !important; + } +} + +.text-mono { + font-family: "SFMono-Regular", menlo, consolas, monospace !important; +} + +.text-left { + text-align: left !important; +} + +.text-center { + text-align: center !important; +} + +.text-right { + text-align: right !important; +} + +.label:not(g), +.label-blue:not(g) { + display: inline-block; + padding: 0.16em 0.56em; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #fff; + text-transform: uppercase; + vertical-align: middle; + background-color: #2869e6; + border-radius: 12px; +} +.label:not(g), +.label-blue:not(g) { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .label:not(g), + .label-blue:not(g) { + font-size: 0.75rem !important; + } +} + +.label-green:not(g) { + background-color: #026e57; +} + +.label-purple:not(g) { + background-color: #5e41d0; +} + +.label-red:not(g) { + background-color: #dd2e2e; +} + +.label-yellow:not(g) { + color: #44434d; + background-color: #f7d12e; +} + +.btn { + display: inline-block; + box-sizing: border-box; + padding: 0.3em 1em; + margin: 0; + font-family: inherit; + font-size: inherit; + font-weight: 500; + line-height: 1.5; + color: #7253ed; + text-decoration: none; + vertical-align: baseline; + cursor: pointer; + background-color: #f7f7f7; + border-width: 0; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + appearance: none; +} +.btn:focus { + text-decoration: none; + outline: none; + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:focus:hover, .btn.selected:focus { + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:hover, .btn.zeroclipboard-is-hover { + color: rgb(106.4305263158, 73.7663157895, 236.0336842105); +} +.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { + text-decoration: none; + background-color: rgb(244.45, 244.45, 244.45); +} +.btn:active, .btn.selected, .btn.zeroclipboard-is-active { + background-color: rgb(239.35, 239.35, 239.35); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn.selected:hover { + background-color: rgb(207.25, 207.25, 207.25); +} +.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { + color: rgba(102, 102, 102, 0.5); + cursor: default; + background-color: rgba(229, 229, 229, 0.5); + background-image: none; + box-shadow: none; +} + +.btn-outline { + color: #7253ed; + background: transparent; + box-shadow: inset 0 0 0 2px #e6e1e8; +} +.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { + color: rgb(98.8610526316, 64.5326315789, 235.0673684211); + text-decoration: none; + background-color: transparent; + box-shadow: inset 0 0 0 3px #e6e1e8; +} +.btn-outline:focus { + text-decoration: none; + outline: none; + box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn-outline:focus:hover, .btn-outline.selected:focus { + box-shadow: inset 0 0 0 2px #5c5962; +} + +.btn-primary { + color: #fff; + background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899); + background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139); + background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139)); +} +.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { + background-color: rgb(79.3670886076, 49.082278481, 198.417721519); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-primary.selected:hover { + background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443); +} + +.btn-purple { + color: #fff; + background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899); + background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139); + background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139)); +} +.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { + background-color: rgb(79.3670886076, 49.082278481, 198.417721519); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-purple.selected:hover { + background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443); +} + +.btn-blue { + color: #fff; + background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099); + background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197); + background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197)); +} +.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { + background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-blue.selected:hover { + background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493); +} + +.btn-green { + color: #fff; + background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143); + background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-green:hover, .btn-green.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286); + background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286)); +} +.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { + background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-green.selected:hover { + background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714); +} + +.btn-reset { + background: none; + border: none; + margin: 0; + text-align: inherit; + font: inherit; + border-radius: 0; + appearance: none; +} + +.search { + position: relative; + z-index: 2; + flex-grow: 1; + height: 4rem; + padding: 0.5rem; + transition: padding linear 200ms; +} +@media (min-width: 50rem) { + .search { + position: relative !important; + width: auto !important; + height: 100% !important; + padding: 0; + transition: none; + } +} + +.search-input-wrap { + position: relative; + z-index: 1; + height: 3rem; + overflow: hidden; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + transition: height linear 200ms; +} +@media (min-width: 50rem) { + .search-input-wrap { + position: absolute; + width: 100%; + max-width: 33.5rem; + height: 100% !important; + border-radius: 0; + box-shadow: none; + transition: width ease 400ms; + } +} + +.search-input { + position: absolute; + width: 100%; + height: 100%; + padding: 0.5rem 1rem 0.5rem 2.5rem; + font-size: 1rem; + color: #5c5962; + background-color: #fff; + border-top: 0; + border-right: 0; + border-bottom: 0; + border-left: 0; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-input { + padding: 0.5rem 1rem 0.5rem 3.5rem; + font-size: 0.875rem; + background-color: #fff; + transition: padding-left linear 200ms; + } +} +.search-input:focus { + outline-offset: -1px; +} +.search-input:focus + .search-label .search-icon { + color: #7253ed; +} + +.search-label { + position: absolute; + display: flex; + height: 100%; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .search-label { + padding-left: 2rem; + transition: padding-left linear 200ms; + } +} +.search-label .search-icon { + width: 1.2rem; + height: 1.2rem; + align-self: center; + color: #959396; +} + +.search-results { + position: absolute; + left: 0; + display: none; + width: 100%; + max-height: calc(100% - 4rem); + overflow-y: auto; + background-color: #fff; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} +@media (min-width: 50rem) { + .search-results { + top: 100%; + width: 33.5rem; + max-height: calc(100vh - 200%) !important; + } +} + +.search-results-list { + padding-left: 0; + margin-bottom: 0.25rem; + list-style: none; +} +.search-results-list { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .search-results-list { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .search-results-list { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-results-list { + font-size: 0.875rem !important; + } +} + +.search-results-list-item { + padding: 0; + margin: 0; +} + +.search-result { + display: block; + padding: 0.25rem 0.75rem; + outline-offset: -1px; +} +.search-result:hover, .search-result.active { + background-color: rgb(234.8, 236.82, 244.9); +} + +.search-result-title { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +@media (min-width: 31.25rem) { + .search-result-title { + display: inline-block; + width: 40%; + padding-right: 0.5rem; + vertical-align: top; + } +} + +.search-result-doc { + display: flex; + align-items: center; + overflow-wrap: break-word; +} +.search-result-doc.search-result-doc-parent { + opacity: 0.5; +} +.search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.875rem !important; + } +} +@media (min-width: 50rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.6875rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; + } +} +.search-result-doc .search-result-icon { + width: 1rem; + height: 1rem; + margin-right: 0.5rem; + color: #7253ed; + flex-shrink: 0; +} +.search-result-doc .search-result-doc-title { + overflow: auto; +} + +.search-result-section { + margin-left: 1.5rem; + overflow-wrap: break-word; +} + +.search-result-rel-url { + display: block; + margin-left: 1.5rem; + overflow: hidden; + color: #5c5962; + text-overflow: ellipsis; + white-space: nowrap; +} +.search-result-rel-url { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .search-result-rel-url { + font-size: 0.625rem !important; + } +} + +.search-result-previews { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + margin-left: 0.5rem; + color: #5c5962; + overflow-wrap: break-word; + border-left: 1px solid; + border-left-color: #eeebee; +} +.search-result-previews { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .search-result-previews { + font-size: 0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .search-result-previews { + display: inline-block; + width: 60%; + padding-left: 0.5rem; + margin-left: 0; + vertical-align: top; + } +} + +.search-result-preview + .search-result-preview { + margin-top: 0.25rem; +} + +.search-result-highlight { + font-weight: bold; +} + +.search-no-result { + padding: 0.5rem 0.75rem; +} +.search-no-result { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-no-result { + font-size: 0.875rem !important; + } +} + +.search-button { + position: fixed; + right: 1rem; + bottom: 1rem; + display: flex; + width: 3.5rem; + height: 3.5rem; + background-color: #fff; + border: 1px solid rgba(114, 83, 237, 0.3); + border-radius: 1.75rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + align-items: center; + justify-content: center; +} + +.search-overlay { + position: fixed; + top: 0; + left: 0; + z-index: 1; + width: 0; + height: 0; + background-color: rgba(0, 0, 0, 0.3); + opacity: 0; + transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; +} + +.search-active .search { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 0; +} +.search-active .search-input-wrap { + height: 4rem; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-active .search-input-wrap { + width: 33.5rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + } +} +.search-active .search-input { + background-color: #fff; +} +@media (min-width: 50rem) { + .search-active .search-input { + padding-left: 2.3rem; + } +} +@media (min-width: 50rem) { + .search-active .search-label { + padding-left: 0.6rem; + } +} +.search-active .search-results { + display: block; +} +.search-active .search-overlay { + width: 100%; + height: 100%; + opacity: 1; + transition: opacity ease 400ms, width 0s, height 0s; +} +@media (min-width: 50rem) { + .search-active .main { + position: fixed; + right: 0; + left: 0; + } +} +.search-active .main-header { + padding-top: 4rem; +} +@media (min-width: 50rem) { + .search-active .main-header { + padding-top: 0; + } +} + +.table-wrapper { + display: block; + width: 100%; + max-width: 100%; + margin-bottom: 1.5rem; + overflow-x: auto; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} + +table { + display: table; + min-width: 100%; + border-collapse: separate; +} + +th, +td { + min-width: 7.5rem; + padding: 0.5rem 0.75rem; + background-color: #fff; + border-bottom: 1px solid rgba(238, 235, 238, 0.5); + border-left: 1px solid #eeebee; +} +th, +td { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + th, + td { + font-size: 0.875rem !important; + } +} +th:first-of-type, +td:first-of-type { + border-left: 0; +} + +tbody tr:last-of-type th, +tbody tr:last-of-type td { + border-bottom: 0; +} +tbody tr:last-of-type td { + padding-bottom: 0.75rem; +} + +thead th { + border-bottom: 1px solid #eeebee; +} + +:not(pre, figure) > code { + padding: 0.2em 0.15em; + font-weight: 400; + background-color: #fff; + border: 1px solid #eeebee; + border-radius: 4px; +} + +a:visited code { + border-color: #eeebee; +} + +div.highlighter-rouge, +div.listingblock > div.content, +figure.highlight { + margin-top: 0; + margin-bottom: 0.75rem; + background-color: #fff; + border-radius: 4px; + box-shadow: none; + -webkit-overflow-scrolling: touch; + position: relative; + padding: 0; +} +div.highlighter-rouge > button, +div.listingblock > div.content > button, +figure.highlight > button { + width: 0.75rem; + opacity: 0; + position: absolute; + top: 0; + right: 0; + padding: 0.75rem; + border: none; + background: none; + color: #5c5962; + box-sizing: content-box; +} +div.highlighter-rouge > button svg, +div.listingblock > div.content > button svg, +figure.highlight > button svg { + fill: #5c5962; +} +div.highlighter-rouge > button:active, +div.listingblock > div.content > button:active, +figure.highlight > button:active { + text-decoration: none; + outline: none; + opacity: 1; +} +div.highlighter-rouge > button:focus, +div.listingblock > div.content > button:focus, +figure.highlight > button:focus { + opacity: 1; + outline: 2px solid #7253ed; +} +div.highlighter-rouge:hover > button, +div.listingblock > div.content:hover > button, +figure.highlight:hover > button { + cursor: copy; + opacity: 1; +} + +div.highlighter-rouge div.highlight { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} +div.highlighter-rouge pre.highlight, +div.highlighter-rouge code { + padding: 0; + margin: 0; + border: 0; +} + +div.listingblock { + margin-top: 0; + margin-bottom: 0.75rem; +} +div.listingblock div.content { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} +div.listingblock div.content > pre, +div.listingblock code { + padding: 0; + margin: 0; + border: 0; +} + +figure.highlight pre, +figure.highlight :not(pre) > code { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} + +.highlight .table-wrapper { + padding: 0.75rem 0; + margin: 0; + border: 0; + box-shadow: none; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + min-width: 0; + padding: 0; + background-color: #fff; + border: 0; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .highlight .table-wrapper td, + .highlight .table-wrapper pre { + font-size: 0.75rem !important; + } +} +.highlight .table-wrapper td.gl { + width: 1em; + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.highlight .table-wrapper pre { + margin: 0; + line-height: 2; +} + +.code-example, +.listingblock > .title { + padding: 0.75rem; + margin-bottom: 0.75rem; + overflow: auto; + border: 1px solid #eeebee; + border-radius: 4px; +} +.code-example + .highlighter-rouge, +.code-example + .sectionbody .listingblock, +.code-example + .content, +.code-example + figure.highlight, +.listingblock > .title + .highlighter-rouge, +.listingblock > .title + .sectionbody .listingblock, +.listingblock > .title + .content, +.listingblock > .title + figure.highlight { + position: relative; + margin-top: -1rem; + border-right: 1px solid #eeebee; + border-bottom: 1px solid #eeebee; + border-left: 1px solid #eeebee; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +code.language-mermaid { + padding: 0; + background-color: inherit; + border: 0; +} + +.highlight, +pre.highlight { + background: #fff; + color: #5c5962; +} + +.highlight pre { + background: #fff; +} + +.text-grey-dk-000 { + color: #959396 !important; +} + +.text-grey-dk-100 { + color: #5c5962 !important; +} + +.text-grey-dk-200 { + color: #44434d !important; +} + +.text-grey-dk-250 { + color: #302d36 !important; +} + +.text-grey-dk-300 { + color: #27262b !important; +} + +.text-grey-lt-000 { + color: #f5f6fa !important; +} + +.text-grey-lt-100 { + color: #eeebee !important; +} + +.text-grey-lt-200 { + color: #ecebed !important; +} + +.text-grey-lt-300 { + color: #e6e1e8 !important; +} + +.text-blue-000 { + color: #2c84fa !important; +} + +.text-blue-100 { + color: #2869e6 !important; +} + +.text-blue-200 { + color: #264caf !important; +} + +.text-blue-300 { + color: #183385 !important; +} + +.text-green-000 { + color: #41d693 !important; +} + +.text-green-100 { + color: #11b584 !important; +} + +.text-green-200 { + color: #009c7b !important; +} + +.text-green-300 { + color: #026e57 !important; +} + +.text-purple-000 { + color: #7253ed !important; +} + +.text-purple-100 { + color: #5e41d0 !important; +} + +.text-purple-200 { + color: #4e26af !important; +} + +.text-purple-300 { + color: #381885 !important; +} + +.text-yellow-000 { + color: #ffeb82 !important; +} + +.text-yellow-100 { + color: #fadf50 !important; +} + +.text-yellow-200 { + color: #f7d12e !important; +} + +.text-yellow-300 { + color: #e7af06 !important; +} + +.text-red-000 { + color: #f77e7e !important; +} + +.text-red-100 { + color: #f96e65 !important; +} + +.text-red-200 { + color: #e94c4c !important; +} + +.text-red-300 { + color: #dd2e2e !important; +} + +.bg-grey-dk-000 { + background-color: #959396 !important; +} + +.bg-grey-dk-100 { + background-color: #5c5962 !important; +} + +.bg-grey-dk-200 { + background-color: #44434d !important; +} + +.bg-grey-dk-250 { + background-color: #302d36 !important; +} + +.bg-grey-dk-300 { + background-color: #27262b !important; +} + +.bg-grey-lt-000 { + background-color: #f5f6fa !important; +} + +.bg-grey-lt-100 { + background-color: #eeebee !important; +} + +.bg-grey-lt-200 { + background-color: #ecebed !important; +} + +.bg-grey-lt-300 { + background-color: #e6e1e8 !important; +} + +.bg-blue-000 { + background-color: #2c84fa !important; +} + +.bg-blue-100 { + background-color: #2869e6 !important; +} + +.bg-blue-200 { + background-color: #264caf !important; +} + +.bg-blue-300 { + background-color: #183385 !important; +} + +.bg-green-000 { + background-color: #41d693 !important; +} + +.bg-green-100 { + background-color: #11b584 !important; +} + +.bg-green-200 { + background-color: #009c7b !important; +} + +.bg-green-300 { + background-color: #026e57 !important; +} + +.bg-purple-000 { + background-color: #7253ed !important; +} + +.bg-purple-100 { + background-color: #5e41d0 !important; +} + +.bg-purple-200 { + background-color: #4e26af !important; +} + +.bg-purple-300 { + background-color: #381885 !important; +} + +.bg-yellow-000 { + background-color: #ffeb82 !important; +} + +.bg-yellow-100 { + background-color: #fadf50 !important; +} + +.bg-yellow-200 { + background-color: #f7d12e !important; +} + +.bg-yellow-300 { + background-color: #e7af06 !important; +} + +.bg-red-000 { + background-color: #f77e7e !important; +} + +.bg-red-100 { + background-color: #f96e65 !important; +} + +.bg-red-200 { + background-color: #e94c4c !important; +} + +.bg-red-300 { + background-color: #dd2e2e !important; +} + +.d-block { + display: block !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-none { + display: none !important; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + border-width: 0; +} + +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.flex-justify-start { + justify-content: flex-start !important; +} + +.flex-justify-end { + justify-content: flex-end !important; +} + +.flex-justify-between { + justify-content: space-between !important; +} + +.flex-justify-around { + justify-content: space-around !important; +} + +.v-align-baseline { + vertical-align: baseline !important; +} + +.v-align-bottom { + vertical-align: bottom !important; +} + +.v-align-middle { + vertical-align: middle !important; +} + +.v-align-text-bottom { + vertical-align: text-bottom !important; +} + +.v-align-text-top { + vertical-align: text-top !important; +} + +.v-align-top { + vertical-align: top !important; +} + +.fs-1 { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .fs-1 { + font-size: 0.625rem !important; + } +} + +.fs-2 { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .fs-2 { + font-size: 0.75rem !important; + } +} + +.fs-3 { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .fs-3 { + font-size: 0.875rem !important; + } +} + +.fs-4 { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .fs-4 { + font-size: 1rem !important; + } +} + +.fs-5 { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + .fs-5 { + font-size: 1.125rem !important; + } +} + +.fs-6 { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .fs-6 { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +.fs-7 { + font-size: 1.5rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-7 { + font-size: 2rem !important; + } +} + +.fs-8 { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-8 { + font-size: 2.25rem !important; + } +} + +.fs-9 { + font-size: 2.25rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-9 { + font-size: 2.625rem !important; + } +} + +.fs-10 { + font-size: 2.625rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-10 { + font-size: 3rem !important; + } +} + +.fw-300 { + font-weight: 300 !important; +} + +.fw-400 { + font-weight: 400 !important; +} + +.fw-500 { + font-weight: 500 !important; +} + +.fw-700 { + font-weight: 700 !important; +} + +.lh-0 { + line-height: 0 !important; +} + +.lh-default { + line-height: 1.4; +} + +.lh-tight { + line-height: 1.25; +} + +.ls-5 { + letter-spacing: 0.05em !important; +} + +.ls-10 { + letter-spacing: 0.1em !important; +} + +.ls-0 { + letter-spacing: 0 !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.list-style-none { + padding: 0 !important; + margin: 0 !important; + list-style: none !important; +} +.list-style-none li::before { + display: none !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.mxn-0 { + margin-right: -0 !important; + margin-left: -0 !important; +} + +.mx-0-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mr-1 { + margin-right: 0.25rem !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1 { + margin-left: 0.25rem !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.mxn-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; +} + +.mx-1-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mr-2 { + margin-right: 0.5rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2 { + margin-left: 0.5rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.mxn-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; +} + +.mx-2-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mr-3 { + margin-right: 0.75rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.ml-3 { + margin-left: 0.75rem !important; +} + +.mx-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.mxn-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; +} + +.mx-3-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-4 { + margin: 1rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mr-4 { + margin-right: 1rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.ml-4 { + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.mxn-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; +} + +.mx-4-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-5 { + margin: 1.5rem !important; +} + +.mt-5 { + margin-top: 1.5rem !important; +} + +.mr-5 { + margin-right: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 1.5rem !important; +} + +.ml-5 { + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.mxn-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; +} + +.mx-5-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-6 { + margin: 2rem !important; +} + +.mt-6 { + margin-top: 2rem !important; +} + +.mr-6 { + margin-right: 2rem !important; +} + +.mb-6 { + margin-bottom: 2rem !important; +} + +.ml-6 { + margin-left: 2rem !important; +} + +.mx-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.my-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.mxn-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; +} + +.mx-6-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-7 { + margin: 2.5rem !important; +} + +.mt-7 { + margin-top: 2.5rem !important; +} + +.mr-7 { + margin-right: 2.5rem !important; +} + +.mb-7 { + margin-bottom: 2.5rem !important; +} + +.ml-7 { + margin-left: 2.5rem !important; +} + +.mx-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; +} + +.my-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; +} + +.mxn-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; +} + +.mx-7-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-8 { + margin: 3rem !important; +} + +.mt-8 { + margin-top: 3rem !important; +} + +.mr-8 { + margin-right: 3rem !important; +} + +.mb-8 { + margin-bottom: 3rem !important; +} + +.ml-8 { + margin-left: 3rem !important; +} + +.mx-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.my-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.mxn-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; +} + +.mx-8-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-9 { + margin: 3.5rem !important; +} + +.mt-9 { + margin-top: 3.5rem !important; +} + +.mr-9 { + margin-right: 3.5rem !important; +} + +.mb-9 { + margin-bottom: 3.5rem !important; +} + +.ml-9 { + margin-left: 3.5rem !important; +} + +.mx-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; +} + +.my-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; +} + +.mxn-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; +} + +.mx-9-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-10 { + margin: 4rem !important; +} + +.mt-10 { + margin-top: 4rem !important; +} + +.mr-10 { + margin-right: 4rem !important; +} + +.mb-10 { + margin-bottom: 4rem !important; +} + +.ml-10 { + margin-left: 4rem !important; +} + +.mx-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; +} + +.my-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} + +.mxn-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; +} + +.mx-10-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +@media (min-width: 20rem) { + .m-xs-0 { + margin: 0 !important; + } + .mt-xs-0 { + margin-top: 0 !important; + } + .mr-xs-0 { + margin-right: 0 !important; + } + .mb-xs-0 { + margin-bottom: 0 !important; + } + .ml-xs-0 { + margin-left: 0 !important; + } + .mx-xs-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xs-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xs-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 20rem) { + .m-xs-1 { + margin: 0.25rem !important; + } + .mt-xs-1 { + margin-top: 0.25rem !important; + } + .mr-xs-1 { + margin-right: 0.25rem !important; + } + .mb-xs-1 { + margin-bottom: 0.25rem !important; + } + .ml-xs-1 { + margin-left: 0.25rem !important; + } + .mx-xs-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xs-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xs-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-2 { + margin: 0.5rem !important; + } + .mt-xs-2 { + margin-top: 0.5rem !important; + } + .mr-xs-2 { + margin-right: 0.5rem !important; + } + .mb-xs-2 { + margin-bottom: 0.5rem !important; + } + .ml-xs-2 { + margin-left: 0.5rem !important; + } + .mx-xs-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xs-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xs-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-3 { + margin: 0.75rem !important; + } + .mt-xs-3 { + margin-top: 0.75rem !important; + } + .mr-xs-3 { + margin-right: 0.75rem !important; + } + .mb-xs-3 { + margin-bottom: 0.75rem !important; + } + .ml-xs-3 { + margin-left: 0.75rem !important; + } + .mx-xs-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xs-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xs-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-4 { + margin: 1rem !important; + } + .mt-xs-4 { + margin-top: 1rem !important; + } + .mr-xs-4 { + margin-right: 1rem !important; + } + .mb-xs-4 { + margin-bottom: 1rem !important; + } + .ml-xs-4 { + margin-left: 1rem !important; + } + .mx-xs-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xs-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xs-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-5 { + margin: 1.5rem !important; + } + .mt-xs-5 { + margin-top: 1.5rem !important; + } + .mr-xs-5 { + margin-right: 1.5rem !important; + } + .mb-xs-5 { + margin-bottom: 1.5rem !important; + } + .ml-xs-5 { + margin-left: 1.5rem !important; + } + .mx-xs-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xs-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xs-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-6 { + margin: 2rem !important; + } + .mt-xs-6 { + margin-top: 2rem !important; + } + .mr-xs-6 { + margin-right: 2rem !important; + } + .mb-xs-6 { + margin-bottom: 2rem !important; + } + .ml-xs-6 { + margin-left: 2rem !important; + } + .mx-xs-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xs-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xs-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-7 { + margin: 2.5rem !important; + } + .mt-xs-7 { + margin-top: 2.5rem !important; + } + .mr-xs-7 { + margin-right: 2.5rem !important; + } + .mb-xs-7 { + margin-bottom: 2.5rem !important; + } + .ml-xs-7 { + margin-left: 2.5rem !important; + } + .mx-xs-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xs-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xs-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-8 { + margin: 3rem !important; + } + .mt-xs-8 { + margin-top: 3rem !important; + } + .mr-xs-8 { + margin-right: 3rem !important; + } + .mb-xs-8 { + margin-bottom: 3rem !important; + } + .ml-xs-8 { + margin-left: 3rem !important; + } + .mx-xs-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xs-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xs-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-9 { + margin: 3.5rem !important; + } + .mt-xs-9 { + margin-top: 3.5rem !important; + } + .mr-xs-9 { + margin-right: 3.5rem !important; + } + .mb-xs-9 { + margin-bottom: 3.5rem !important; + } + .ml-xs-9 { + margin-left: 3.5rem !important; + } + .mx-xs-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xs-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xs-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-10 { + margin: 4rem !important; + } + .mt-xs-10 { + margin-top: 4rem !important; + } + .mr-xs-10 { + margin-right: 4rem !important; + } + .mb-xs-10 { + margin-bottom: 4rem !important; + } + .ml-xs-10 { + margin-left: 4rem !important; + } + .mx-xs-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xs-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xs-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0 { + margin-left: 0 !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-sm-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1 { + margin-left: 0.25rem !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-sm-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2 { + margin-left: 0.5rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-sm-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-3 { + margin: 0.75rem !important; + } + .mt-sm-3 { + margin-top: 0.75rem !important; + } + .mr-sm-3 { + margin-right: 0.75rem !important; + } + .mb-sm-3 { + margin-bottom: 0.75rem !important; + } + .ml-sm-3 { + margin-left: 0.75rem !important; + } + .mx-sm-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-sm-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-sm-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-4 { + margin: 1rem !important; + } + .mt-sm-4 { + margin-top: 1rem !important; + } + .mr-sm-4 { + margin-right: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1rem !important; + } + .ml-sm-4 { + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-sm-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-sm-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-5 { + margin: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 1.5rem !important; + } + .mr-sm-5 { + margin-right: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 1.5rem !important; + } + .ml-sm-5 { + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-sm-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-sm-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-6 { + margin: 2rem !important; + } + .mt-sm-6 { + margin-top: 2rem !important; + } + .mr-sm-6 { + margin-right: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 2rem !important; + } + .ml-sm-6 { + margin-left: 2rem !important; + } + .mx-sm-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-sm-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-sm-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-7 { + margin: 2.5rem !important; + } + .mt-sm-7 { + margin-top: 2.5rem !important; + } + .mr-sm-7 { + margin-right: 2.5rem !important; + } + .mb-sm-7 { + margin-bottom: 2.5rem !important; + } + .ml-sm-7 { + margin-left: 2.5rem !important; + } + .mx-sm-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-sm-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-sm-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-8 { + margin: 3rem !important; + } + .mt-sm-8 { + margin-top: 3rem !important; + } + .mr-sm-8 { + margin-right: 3rem !important; + } + .mb-sm-8 { + margin-bottom: 3rem !important; + } + .ml-sm-8 { + margin-left: 3rem !important; + } + .mx-sm-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-sm-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-sm-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-9 { + margin: 3.5rem !important; + } + .mt-sm-9 { + margin-top: 3.5rem !important; + } + .mr-sm-9 { + margin-right: 3.5rem !important; + } + .mb-sm-9 { + margin-bottom: 3.5rem !important; + } + .ml-sm-9 { + margin-left: 3.5rem !important; + } + .mx-sm-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-sm-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-sm-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-10 { + margin: 4rem !important; + } + .mt-sm-10 { + margin-top: 4rem !important; + } + .mr-sm-10 { + margin-right: 4rem !important; + } + .mb-sm-10 { + margin-bottom: 4rem !important; + } + .ml-sm-10 { + margin-left: 4rem !important; + } + .mx-sm-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-sm-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-sm-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 50rem) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mr-md-0 { + margin-right: 0 !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0 { + margin-left: 0 !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-md-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 50rem) { + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1 { + margin-left: 0.25rem !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-md-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 50rem) { + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2 { + margin-left: 0.5rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-md-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-3 { + margin: 0.75rem !important; + } + .mt-md-3 { + margin-top: 0.75rem !important; + } + .mr-md-3 { + margin-right: 0.75rem !important; + } + .mb-md-3 { + margin-bottom: 0.75rem !important; + } + .ml-md-3 { + margin-left: 0.75rem !important; + } + .mx-md-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-md-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-md-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 50rem) { + .m-md-4 { + margin: 1rem !important; + } + .mt-md-4 { + margin-top: 1rem !important; + } + .mr-md-4 { + margin-right: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1rem !important; + } + .ml-md-4 { + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-md-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-md-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 50rem) { + .m-md-5 { + margin: 1.5rem !important; + } + .mt-md-5 { + margin-top: 1.5rem !important; + } + .mr-md-5 { + margin-right: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 1.5rem !important; + } + .ml-md-5 { + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-md-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-md-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-6 { + margin: 2rem !important; + } + .mt-md-6 { + margin-top: 2rem !important; + } + .mr-md-6 { + margin-right: 2rem !important; + } + .mb-md-6 { + margin-bottom: 2rem !important; + } + .ml-md-6 { + margin-left: 2rem !important; + } + .mx-md-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-md-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-md-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 50rem) { + .m-md-7 { + margin: 2.5rem !important; + } + .mt-md-7 { + margin-top: 2.5rem !important; + } + .mr-md-7 { + margin-right: 2.5rem !important; + } + .mb-md-7 { + margin-bottom: 2.5rem !important; + } + .ml-md-7 { + margin-left: 2.5rem !important; + } + .mx-md-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-md-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-md-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-8 { + margin: 3rem !important; + } + .mt-md-8 { + margin-top: 3rem !important; + } + .mr-md-8 { + margin-right: 3rem !important; + } + .mb-md-8 { + margin-bottom: 3rem !important; + } + .ml-md-8 { + margin-left: 3rem !important; + } + .mx-md-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-md-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-md-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 50rem) { + .m-md-9 { + margin: 3.5rem !important; + } + .mt-md-9 { + margin-top: 3.5rem !important; + } + .mr-md-9 { + margin-right: 3.5rem !important; + } + .mb-md-9 { + margin-bottom: 3.5rem !important; + } + .ml-md-9 { + margin-left: 3.5rem !important; + } + .mx-md-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-md-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-md-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-10 { + margin: 4rem !important; + } + .mt-md-10 { + margin-top: 4rem !important; + } + .mr-md-10 { + margin-right: 4rem !important; + } + .mb-md-10 { + margin-bottom: 4rem !important; + } + .ml-md-10 { + margin-left: 4rem !important; + } + .mx-md-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-md-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-md-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0 { + margin-left: 0 !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-lg-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1 { + margin-left: 0.25rem !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-lg-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2 { + margin-left: 0.5rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-lg-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-3 { + margin: 0.75rem !important; + } + .mt-lg-3 { + margin-top: 0.75rem !important; + } + .mr-lg-3 { + margin-right: 0.75rem !important; + } + .mb-lg-3 { + margin-bottom: 0.75rem !important; + } + .ml-lg-3 { + margin-left: 0.75rem !important; + } + .mx-lg-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-lg-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-lg-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-4 { + margin: 1rem !important; + } + .mt-lg-4 { + margin-top: 1rem !important; + } + .mr-lg-4 { + margin-right: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1rem !important; + } + .ml-lg-4 { + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-lg-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-lg-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-5 { + margin: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 1.5rem !important; + } + .mr-lg-5 { + margin-right: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 1.5rem !important; + } + .ml-lg-5 { + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-lg-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-lg-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-6 { + margin: 2rem !important; + } + .mt-lg-6 { + margin-top: 2rem !important; + } + .mr-lg-6 { + margin-right: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 2rem !important; + } + .ml-lg-6 { + margin-left: 2rem !important; + } + .mx-lg-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-lg-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-lg-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-7 { + margin: 2.5rem !important; + } + .mt-lg-7 { + margin-top: 2.5rem !important; + } + .mr-lg-7 { + margin-right: 2.5rem !important; + } + .mb-lg-7 { + margin-bottom: 2.5rem !important; + } + .ml-lg-7 { + margin-left: 2.5rem !important; + } + .mx-lg-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-lg-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-lg-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-8 { + margin: 3rem !important; + } + .mt-lg-8 { + margin-top: 3rem !important; + } + .mr-lg-8 { + margin-right: 3rem !important; + } + .mb-lg-8 { + margin-bottom: 3rem !important; + } + .ml-lg-8 { + margin-left: 3rem !important; + } + .mx-lg-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-lg-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-lg-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-9 { + margin: 3.5rem !important; + } + .mt-lg-9 { + margin-top: 3.5rem !important; + } + .mr-lg-9 { + margin-right: 3.5rem !important; + } + .mb-lg-9 { + margin-bottom: 3.5rem !important; + } + .ml-lg-9 { + margin-left: 3.5rem !important; + } + .mx-lg-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-lg-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-lg-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-10 { + margin: 4rem !important; + } + .mt-lg-10 { + margin-top: 4rem !important; + } + .mr-lg-10 { + margin-right: 4rem !important; + } + .mb-lg-10 { + margin-bottom: 4rem !important; + } + .ml-lg-10 { + margin-left: 4rem !important; + } + .mx-lg-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-lg-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-lg-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0 { + margin-left: 0 !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xl-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1 { + margin-left: 0.25rem !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xl-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2 { + margin-left: 0.5rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xl-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-3 { + margin: 0.75rem !important; + } + .mt-xl-3 { + margin-top: 0.75rem !important; + } + .mr-xl-3 { + margin-right: 0.75rem !important; + } + .mb-xl-3 { + margin-bottom: 0.75rem !important; + } + .ml-xl-3 { + margin-left: 0.75rem !important; + } + .mx-xl-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xl-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xl-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-4 { + margin: 1rem !important; + } + .mt-xl-4 { + margin-top: 1rem !important; + } + .mr-xl-4 { + margin-right: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1rem !important; + } + .ml-xl-4 { + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xl-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xl-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-5 { + margin: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 1.5rem !important; + } + .mr-xl-5 { + margin-right: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 1.5rem !important; + } + .ml-xl-5 { + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xl-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xl-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-6 { + margin: 2rem !important; + } + .mt-xl-6 { + margin-top: 2rem !important; + } + .mr-xl-6 { + margin-right: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 2rem !important; + } + .ml-xl-6 { + margin-left: 2rem !important; + } + .mx-xl-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xl-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xl-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-7 { + margin: 2.5rem !important; + } + .mt-xl-7 { + margin-top: 2.5rem !important; + } + .mr-xl-7 { + margin-right: 2.5rem !important; + } + .mb-xl-7 { + margin-bottom: 2.5rem !important; + } + .ml-xl-7 { + margin-left: 2.5rem !important; + } + .mx-xl-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xl-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xl-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-8 { + margin: 3rem !important; + } + .mt-xl-8 { + margin-top: 3rem !important; + } + .mr-xl-8 { + margin-right: 3rem !important; + } + .mb-xl-8 { + margin-bottom: 3rem !important; + } + .ml-xl-8 { + margin-left: 3rem !important; + } + .mx-xl-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xl-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xl-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-9 { + margin: 3.5rem !important; + } + .mt-xl-9 { + margin-top: 3.5rem !important; + } + .mr-xl-9 { + margin-right: 3.5rem !important; + } + .mb-xl-9 { + margin-bottom: 3.5rem !important; + } + .ml-xl-9 { + margin-left: 3.5rem !important; + } + .mx-xl-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xl-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xl-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-10 { + margin: 4rem !important; + } + .mt-xl-10 { + margin-top: 4rem !important; + } + .mr-xl-10 { + margin-right: 4rem !important; + } + .mb-xl-10 { + margin-bottom: 4rem !important; + } + .ml-xl-10 { + margin-left: 4rem !important; + } + .mx-xl-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xl-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xl-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pr-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1 { + padding-left: 0.25rem !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pr-2 { + padding-right: 0.5rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2 { + padding-left: 0.5rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pr-3 { + padding-right: 0.75rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pl-3 { + padding-left: 0.75rem !important; +} + +.px-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pr-4 { + padding-right: 1rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pl-4 { + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.p-5 { + padding: 1.5rem !important; +} + +.pt-5 { + padding-top: 1.5rem !important; +} + +.pr-5 { + padding-right: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 1.5rem !important; +} + +.pl-5 { + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.p-6 { + padding: 2rem !important; +} + +.pt-6 { + padding-top: 2rem !important; +} + +.pr-6 { + padding-right: 2rem !important; +} + +.pb-6 { + padding-bottom: 2rem !important; +} + +.pl-6 { + padding-left: 2rem !important; +} + +.px-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.p-7 { + padding: 2.5rem !important; +} + +.pt-7 { + padding-top: 2.5rem !important; +} + +.pr-7 { + padding-right: 2.5rem !important; +} + +.pb-7 { + padding-bottom: 2.5rem !important; +} + +.pl-7 { + padding-left: 2.5rem !important; +} + +.px-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; +} + +.py-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; +} + +.p-8 { + padding: 3rem !important; +} + +.pt-8 { + padding-top: 3rem !important; +} + +.pr-8 { + padding-right: 3rem !important; +} + +.pb-8 { + padding-bottom: 3rem !important; +} + +.pl-8 { + padding-left: 3rem !important; +} + +.px-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.p-9 { + padding: 3.5rem !important; +} + +.pt-9 { + padding-top: 3.5rem !important; +} + +.pr-9 { + padding-right: 3.5rem !important; +} + +.pb-9 { + padding-bottom: 3.5rem !important; +} + +.pl-9 { + padding-left: 3.5rem !important; +} + +.px-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; +} + +.py-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; +} + +.p-10 { + padding: 4rem !important; +} + +.pt-10 { + padding-top: 4rem !important; +} + +.pr-10 { + padding-right: 4rem !important; +} + +.pb-10 { + padding-bottom: 4rem !important; +} + +.pl-10 { + padding-left: 4rem !important; +} + +.px-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; +} + +.py-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} + +@media (min-width: 20rem) { + .p-xs-0 { + padding: 0 !important; + } + .pt-xs-0 { + padding-top: 0 !important; + } + .pr-xs-0 { + padding-right: 0 !important; + } + .pb-xs-0 { + padding-bottom: 0 !important; + } + .pl-xs-0 { + padding-left: 0 !important; + } + .px-xs-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xs-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xs-1 { + padding: 0.25rem !important; + } + .pt-xs-1 { + padding-top: 0.25rem !important; + } + .pr-xs-1 { + padding-right: 0.25rem !important; + } + .pb-xs-1 { + padding-bottom: 0.25rem !important; + } + .pl-xs-1 { + padding-left: 0.25rem !important; + } + .px-xs-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xs-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xs-2 { + padding: 0.5rem !important; + } + .pt-xs-2 { + padding-top: 0.5rem !important; + } + .pr-xs-2 { + padding-right: 0.5rem !important; + } + .pb-xs-2 { + padding-bottom: 0.5rem !important; + } + .pl-xs-2 { + padding-left: 0.5rem !important; + } + .px-xs-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xs-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xs-3 { + padding: 0.75rem !important; + } + .pt-xs-3 { + padding-top: 0.75rem !important; + } + .pr-xs-3 { + padding-right: 0.75rem !important; + } + .pb-xs-3 { + padding-bottom: 0.75rem !important; + } + .pl-xs-3 { + padding-left: 0.75rem !important; + } + .px-xs-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xs-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xs-4 { + padding: 1rem !important; + } + .pt-xs-4 { + padding-top: 1rem !important; + } + .pr-xs-4 { + padding-right: 1rem !important; + } + .pb-xs-4 { + padding-bottom: 1rem !important; + } + .pl-xs-4 { + padding-left: 1rem !important; + } + .px-xs-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xs-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xs-5 { + padding: 1.5rem !important; + } + .pt-xs-5 { + padding-top: 1.5rem !important; + } + .pr-xs-5 { + padding-right: 1.5rem !important; + } + .pb-xs-5 { + padding-bottom: 1.5rem !important; + } + .pl-xs-5 { + padding-left: 1.5rem !important; + } + .px-xs-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xs-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xs-6 { + padding: 2rem !important; + } + .pt-xs-6 { + padding-top: 2rem !important; + } + .pr-xs-6 { + padding-right: 2rem !important; + } + .pb-xs-6 { + padding-bottom: 2rem !important; + } + .pl-xs-6 { + padding-left: 2rem !important; + } + .px-xs-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xs-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xs-7 { + padding: 2.5rem !important; + } + .pt-xs-7 { + padding-top: 2.5rem !important; + } + .pr-xs-7 { + padding-right: 2.5rem !important; + } + .pb-xs-7 { + padding-bottom: 2.5rem !important; + } + .pl-xs-7 { + padding-left: 2.5rem !important; + } + .px-xs-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xs-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xs-8 { + padding: 3rem !important; + } + .pt-xs-8 { + padding-top: 3rem !important; + } + .pr-xs-8 { + padding-right: 3rem !important; + } + .pb-xs-8 { + padding-bottom: 3rem !important; + } + .pl-xs-8 { + padding-left: 3rem !important; + } + .px-xs-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xs-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xs-9 { + padding: 3.5rem !important; + } + .pt-xs-9 { + padding-top: 3.5rem !important; + } + .pr-xs-9 { + padding-right: 3.5rem !important; + } + .pb-xs-9 { + padding-bottom: 3.5rem !important; + } + .pl-xs-9 { + padding-left: 3.5rem !important; + } + .px-xs-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xs-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xs-10 { + padding: 4rem !important; + } + .pt-xs-10 { + padding-top: 4rem !important; + } + .pr-xs-10 { + padding-right: 4rem !important; + } + .pb-xs-10 { + padding-bottom: 4rem !important; + } + .pl-xs-10 { + padding-left: 4rem !important; + } + .px-xs-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xs-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 31.25rem) { + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0 { + padding-left: 0 !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1 { + padding-left: 0.25rem !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2 { + padding-left: 0.5rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-sm-3 { + padding: 0.75rem !important; + } + .pt-sm-3 { + padding-top: 0.75rem !important; + } + .pr-sm-3 { + padding-right: 0.75rem !important; + } + .pb-sm-3 { + padding-bottom: 0.75rem !important; + } + .pl-sm-3 { + padding-left: 0.75rem !important; + } + .px-sm-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-sm-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-sm-4 { + padding: 1rem !important; + } + .pt-sm-4 { + padding-top: 1rem !important; + } + .pr-sm-4 { + padding-right: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1rem !important; + } + .pl-sm-4 { + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-sm-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-sm-5 { + padding: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 1.5rem !important; + } + .pr-sm-5 { + padding-right: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 1.5rem !important; + } + .pl-sm-5 { + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-sm-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-sm-6 { + padding: 2rem !important; + } + .pt-sm-6 { + padding-top: 2rem !important; + } + .pr-sm-6 { + padding-right: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 2rem !important; + } + .pl-sm-6 { + padding-left: 2rem !important; + } + .px-sm-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-sm-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-sm-7 { + padding: 2.5rem !important; + } + .pt-sm-7 { + padding-top: 2.5rem !important; + } + .pr-sm-7 { + padding-right: 2.5rem !important; + } + .pb-sm-7 { + padding-bottom: 2.5rem !important; + } + .pl-sm-7 { + padding-left: 2.5rem !important; + } + .px-sm-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-sm-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-sm-8 { + padding: 3rem !important; + } + .pt-sm-8 { + padding-top: 3rem !important; + } + .pr-sm-8 { + padding-right: 3rem !important; + } + .pb-sm-8 { + padding-bottom: 3rem !important; + } + .pl-sm-8 { + padding-left: 3rem !important; + } + .px-sm-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-sm-9 { + padding: 3.5rem !important; + } + .pt-sm-9 { + padding-top: 3.5rem !important; + } + .pr-sm-9 { + padding-right: 3.5rem !important; + } + .pb-sm-9 { + padding-bottom: 3.5rem !important; + } + .pl-sm-9 { + padding-left: 3.5rem !important; + } + .px-sm-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-sm-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-sm-10 { + padding: 4rem !important; + } + .pt-sm-10 { + padding-top: 4rem !important; + } + .pr-sm-10 { + padding-right: 4rem !important; + } + .pb-sm-10 { + padding-bottom: 4rem !important; + } + .pl-sm-10 { + padding-left: 4rem !important; + } + .px-sm-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-sm-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 50rem) { + .p-md-0 { + padding: 0 !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pr-md-0 { + padding-right: 0 !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0 { + padding-left: 0 !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1 { + padding-left: 0.25rem !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2 { + padding-left: 0.5rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-md-3 { + padding: 0.75rem !important; + } + .pt-md-3 { + padding-top: 0.75rem !important; + } + .pr-md-3 { + padding-right: 0.75rem !important; + } + .pb-md-3 { + padding-bottom: 0.75rem !important; + } + .pl-md-3 { + padding-left: 0.75rem !important; + } + .px-md-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-md-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-md-4 { + padding: 1rem !important; + } + .pt-md-4 { + padding-top: 1rem !important; + } + .pr-md-4 { + padding-right: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1rem !important; + } + .pl-md-4 { + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-md-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-md-5 { + padding: 1.5rem !important; + } + .pt-md-5 { + padding-top: 1.5rem !important; + } + .pr-md-5 { + padding-right: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 1.5rem !important; + } + .pl-md-5 { + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-md-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-md-6 { + padding: 2rem !important; + } + .pt-md-6 { + padding-top: 2rem !important; + } + .pr-md-6 { + padding-right: 2rem !important; + } + .pb-md-6 { + padding-bottom: 2rem !important; + } + .pl-md-6 { + padding-left: 2rem !important; + } + .px-md-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-md-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-md-7 { + padding: 2.5rem !important; + } + .pt-md-7 { + padding-top: 2.5rem !important; + } + .pr-md-7 { + padding-right: 2.5rem !important; + } + .pb-md-7 { + padding-bottom: 2.5rem !important; + } + .pl-md-7 { + padding-left: 2.5rem !important; + } + .px-md-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-md-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-md-8 { + padding: 3rem !important; + } + .pt-md-8 { + padding-top: 3rem !important; + } + .pr-md-8 { + padding-right: 3rem !important; + } + .pb-md-8 { + padding-bottom: 3rem !important; + } + .pl-md-8 { + padding-left: 3rem !important; + } + .px-md-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-md-9 { + padding: 3.5rem !important; + } + .pt-md-9 { + padding-top: 3.5rem !important; + } + .pr-md-9 { + padding-right: 3.5rem !important; + } + .pb-md-9 { + padding-bottom: 3.5rem !important; + } + .pl-md-9 { + padding-left: 3.5rem !important; + } + .px-md-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-md-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-md-10 { + padding: 4rem !important; + } + .pt-md-10 { + padding-top: 4rem !important; + } + .pr-md-10 { + padding-right: 4rem !important; + } + .pb-md-10 { + padding-bottom: 4rem !important; + } + .pl-md-10 { + padding-left: 4rem !important; + } + .px-md-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-md-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 66.5rem) { + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0 { + padding-left: 0 !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1 { + padding-left: 0.25rem !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2 { + padding-left: 0.5rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-lg-3 { + padding: 0.75rem !important; + } + .pt-lg-3 { + padding-top: 0.75rem !important; + } + .pr-lg-3 { + padding-right: 0.75rem !important; + } + .pb-lg-3 { + padding-bottom: 0.75rem !important; + } + .pl-lg-3 { + padding-left: 0.75rem !important; + } + .px-lg-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-lg-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-lg-4 { + padding: 1rem !important; + } + .pt-lg-4 { + padding-top: 1rem !important; + } + .pr-lg-4 { + padding-right: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1rem !important; + } + .pl-lg-4 { + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-lg-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-lg-5 { + padding: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 1.5rem !important; + } + .pr-lg-5 { + padding-right: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 1.5rem !important; + } + .pl-lg-5 { + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-lg-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-lg-6 { + padding: 2rem !important; + } + .pt-lg-6 { + padding-top: 2rem !important; + } + .pr-lg-6 { + padding-right: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 2rem !important; + } + .pl-lg-6 { + padding-left: 2rem !important; + } + .px-lg-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-lg-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-lg-7 { + padding: 2.5rem !important; + } + .pt-lg-7 { + padding-top: 2.5rem !important; + } + .pr-lg-7 { + padding-right: 2.5rem !important; + } + .pb-lg-7 { + padding-bottom: 2.5rem !important; + } + .pl-lg-7 { + padding-left: 2.5rem !important; + } + .px-lg-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-lg-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-lg-8 { + padding: 3rem !important; + } + .pt-lg-8 { + padding-top: 3rem !important; + } + .pr-lg-8 { + padding-right: 3rem !important; + } + .pb-lg-8 { + padding-bottom: 3rem !important; + } + .pl-lg-8 { + padding-left: 3rem !important; + } + .px-lg-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-lg-9 { + padding: 3.5rem !important; + } + .pt-lg-9 { + padding-top: 3.5rem !important; + } + .pr-lg-9 { + padding-right: 3.5rem !important; + } + .pb-lg-9 { + padding-bottom: 3.5rem !important; + } + .pl-lg-9 { + padding-left: 3.5rem !important; + } + .px-lg-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-lg-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-lg-10 { + padding: 4rem !important; + } + .pt-lg-10 { + padding-top: 4rem !important; + } + .pr-lg-10 { + padding-right: 4rem !important; + } + .pb-lg-10 { + padding-bottom: 4rem !important; + } + .pl-lg-10 { + padding-left: 4rem !important; + } + .px-lg-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-lg-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 87.5rem) { + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0 { + padding-left: 0 !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1 { + padding-left: 0.25rem !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2 { + padding-left: 0.5rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xl-3 { + padding: 0.75rem !important; + } + .pt-xl-3 { + padding-top: 0.75rem !important; + } + .pr-xl-3 { + padding-right: 0.75rem !important; + } + .pb-xl-3 { + padding-bottom: 0.75rem !important; + } + .pl-xl-3 { + padding-left: 0.75rem !important; + } + .px-xl-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xl-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xl-4 { + padding: 1rem !important; + } + .pt-xl-4 { + padding-top: 1rem !important; + } + .pr-xl-4 { + padding-right: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1rem !important; + } + .pl-xl-4 { + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xl-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xl-5 { + padding: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 1.5rem !important; + } + .pr-xl-5 { + padding-right: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 1.5rem !important; + } + .pl-xl-5 { + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xl-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xl-6 { + padding: 2rem !important; + } + .pt-xl-6 { + padding-top: 2rem !important; + } + .pr-xl-6 { + padding-right: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 2rem !important; + } + .pl-xl-6 { + padding-left: 2rem !important; + } + .px-xl-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xl-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xl-7 { + padding: 2.5rem !important; + } + .pt-xl-7 { + padding-top: 2.5rem !important; + } + .pr-xl-7 { + padding-right: 2.5rem !important; + } + .pb-xl-7 { + padding-bottom: 2.5rem !important; + } + .pl-xl-7 { + padding-left: 2.5rem !important; + } + .px-xl-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xl-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xl-8 { + padding: 3rem !important; + } + .pt-xl-8 { + padding-top: 3rem !important; + } + .pr-xl-8 { + padding-right: 3rem !important; + } + .pb-xl-8 { + padding-bottom: 3rem !important; + } + .pl-xl-8 { + padding-left: 3rem !important; + } + .px-xl-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xl-9 { + padding: 3.5rem !important; + } + .pt-xl-9 { + padding-top: 3.5rem !important; + } + .pr-xl-9 { + padding-right: 3.5rem !important; + } + .pb-xl-9 { + padding-bottom: 3.5rem !important; + } + .pl-xl-9 { + padding-left: 3.5rem !important; + } + .px-xl-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xl-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xl-10 { + padding: 4rem !important; + } + .pt-xl-10 { + padding-top: 4rem !important; + } + .pr-xl-10 { + padding-right: 4rem !important; + } + .pb-xl-10 { + padding-bottom: 4rem !important; + } + .pl-xl-10 { + padding-left: 4rem !important; + } + .px-xl-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xl-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media print { + .site-footer, + .site-button, + #edit-this-page, + #back-to-top, + .site-nav, + .main-header { + display: none !important; + } + hr { + margin-top: 1rem; + margin-bottom: 1rem; + } + .side-bar { + width: 100%; + height: auto; + border-right: 0 !important; + /* Disable display: flex and position: fixed from non-print styles */ + position: static; + display: block; + } + .site-header { + border-bottom: 1px solid #eeebee; + } + .site-title { + font-size: 1rem !important; + font-weight: 700 !important; + } + .text-small { + font-size: 8pt !important; + } + pre.highlight { + border: 1px solid #eeebee; + } + .main { + max-width: none; + margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */ + } +} +a.skip-to-main { + left: -999px; + position: absolute; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; + z-index: -999; +} + +a.skip-to-main:focus, +a.skip-to-main:active { + color: #7253ed; + background-color: #fff; + left: auto; + top: auto; + width: 30%; + height: auto; + overflow: auto; + margin: 10px 35%; + padding: 5px; + border-radius: 15px; + border: 4px solid #5e41d0; + text-align: center; + font-size: 1.2em; + z-index: 999; +} + +div.opaque { + background-color: #fff; +} + +p.note, blockquote.note { + border: 1px #2c84fa solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note::before, blockquote.note::before { + color: #183385; + content: "Note"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.note > .note-title, blockquote.note > .note-title { + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.note-title, blockquote.note-title { + border: 1px #2c84fa solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note-title > p:first-child, blockquote.note-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.note { + margin-left: 0; + margin-right: 0; +} +blockquote.note > p:first-child { + margin-top: 0; +} +blockquote.note > p:last-child { + margin-bottom: 0; +} + +blockquote.note-title { + margin-left: 0; + margin-right: 0; +} +blockquote.note-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.note-title > p:last-child { + margin-bottom: 0; +} + +p.warning, blockquote.warning { + border: 1px #f77e7e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning::before, blockquote.warning::before { + color: #dd2e2e; + content: "Warning"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.warning > .warning-title, blockquote.warning > .warning-title { + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.warning-title, blockquote.warning-title { + border: 1px #f77e7e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning-title > p:first-child, blockquote.warning-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.warning { + margin-left: 0; + margin-right: 0; +} +blockquote.warning > p:first-child { + margin-top: 0; +} +blockquote.warning > p:last-child { + margin-bottom: 0; +} + +blockquote.warning-title { + margin-left: 0; + margin-right: 0; +} +blockquote.warning-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.warning-title > p:last-child { + margin-bottom: 0; +} + +p.tip, blockquote.tip { + border: 1px #41d693 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip::before, blockquote.tip::before { + color: #026e57; + content: "Tip"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.tip > .tip-title, blockquote.tip > .tip-title { + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.tip-title, blockquote.tip-title { + border: 1px #41d693 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip-title > p:first-child, blockquote.tip-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.tip { + margin-left: 0; + margin-right: 0; +} +blockquote.tip > p:first-child { + margin-top: 0; +} +blockquote.tip > p:last-child { + margin-bottom: 0; +} + +blockquote.tip-title { + margin-left: 0; + margin-right: 0; +} +blockquote.tip-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.tip-title > p:last-child { + margin-bottom: 0; +} + +/*# sourceMappingURL=just-the-docs-default.css.map */ \ No newline at end of file diff --git a/docs/_site/assets/css/just-the-docs-default.css.map b/docs/_site/assets/css/just-the-docs-default.css.map new file mode 100644 index 0000000..a1328a7 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-default.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-default.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIUY;EJTZ,kBIOM;EJNN;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIlBY;;;AJqBd;EACE;EACA;;;AAGF;EACE,OItBW;EJuBX;;;AAGF;EACE;EACA,uBI/BY;EJgCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBI/DY;EJgEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD6BY;;ADrBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDJQ;;ADrBV;EEuBA;IAKI;IACA,kBDdA;;;ACiBF;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODpGY;ECqGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OD1KW;;;AElCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OF5IO;EE6IP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,OHxCO;EGyCP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHjFI;;AGoFN;EACE,OHrFI;;AG2FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,OH9HG;;AGiIL;EACE,OHlIG;;;AG2Ib;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ON2BW;EM1BX;EACA;EACA;EACA,kBTTkB;ESUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,ONnCW;EMoCX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORhBY;EQiBZ,kBRnBM;EQoBN;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBR7BI;IQ8BJ;;;AAGF;EACE;;AAEA;EACE,OR3BO;;;AQgCb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRpEM;EQqEN,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX5Ha;;;AWgIjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,ORlIS;EQmIT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OR5JY;EQ6JZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORxKY;EQyKZ;EACA,aR/GO;EQgHP,mBRtKY;;AFpBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBR7MM;EQ8MN;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBR7PI;;ADfJ;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTIM;ESHN;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBVmBI;EUlBJ;EACA,eV+EY;;;AU1EhB;EACE,cVkBY;;;AUiCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBV7CM;EU8CN,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OV7DU;EU8DV;;AAEA;AAAA;AAAA;EACE,MVjEQ;;AUoEV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBV3JI;EU4JJ;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YV9MM;EUmNJ,OVjNU;;;AUsNd;EACE,YVzNM;;;AWzBR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OjBwBW;EiBvBX,kBjBaM;EiBZN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACrBF;EACE,kBlBqBM;;;AkBlBR;EACI;EACA;EACA,elB6EY;EkB5EZ;EACA;;AAEA;EACI,OlB2BG;EkB1BH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBiBK;EkBhBL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBkDY;EkBjDZ;EACA;;AACA;EACE;EACA;EACA,OlBDK;EkBEL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBIY;EkBHZ;EACA;;AAEA;EACI,OlBlCE;EkBmCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB5CI;EkB6CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBvBY;EkBwBZ;EACA;;AACA;EACE;EACA;EACA,OlB9DI;EkB+DJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBrEY;EkBsEZ;EACA;;AAEA;EACI,OlBnHI;EkBoHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB7HM;EkB8HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBhGY;EkBiGZ;EACA;;AACA;EACE;EACA;EACA,OlB/IM;EkBgJN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: auto; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline-offset: -1px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n outline-offset: -1px;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n overflow-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n overflow-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n\n /* Disable display: flex and position: fixed from non-print styles */\n position: static;\n display: block;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $red-000 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $red-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $red-000 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-default.css"} \ No newline at end of file diff --git a/docs/_site/assets/css/just-the-docs-head-nav.css b/docs/_site/assets/css/just-the-docs-head-nav.css new file mode 100644 index 0000000..19398f4 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-head-nav.css @@ -0,0 +1,3 @@ +.site-nav ul li a { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); +} diff --git a/docs/_site/assets/css/just-the-docs-light.css b/docs/_site/assets/css/just-the-docs-light.css new file mode 100644 index 0000000..ed5cef9 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-light.css @@ -0,0 +1,7511 @@ +@charset "UTF-8"; +/* +generated by accessible-pygments +Copyright (c) 2022, Quansight Labs +Licensed under the BSD license, see LICENSE for details. +-- +generated by Pygments +Copyright 2006-2025 by the Pygments team. +Licensed under the BSD license, see LICENSE for details. +*/ +.highlight .hll { + background-color: rgba(9, 105, 218, 0.2901960784); +} + +.highlight .c { + color: #6E7781; +} /* Comment */ +.highlight .err { + color: #CF222E; +} /* Error */ +.highlight .k { + color: #CF222E; +} /* Keyword */ +.highlight .l { + color: #953800; +} /* Literal */ +.highlight .n { + color: #8250DF; +} /* Name */ +.highlight .o { + color: #116329; +} /* Operator */ +.highlight .p { + color: #24292F; +} /* Punctuation */ +.highlight .ch { + color: #6E7781; +} /* Comment.Hashbang */ +.highlight .cm { + color: #6E7781; +} /* Comment.Multiline */ +.highlight .cp { + color: #6E7781; +} /* Comment.Preproc */ +.highlight .cpf { + color: #6E7781; +} /* Comment.PreprocFile */ +.highlight .c1 { + color: #6E7781; +} /* Comment.Single */ +.highlight .cs { + color: #6E7781; +} /* Comment.Special */ +.highlight .gd { + color: #0550AE; +} /* Generic.Deleted */ +.highlight .ge { + font-style: italic; +} /* Generic.Emph */ +.highlight .gr { + color: #CF222E; +} /* Generic.Error */ +.highlight .gh { + color: #0550AE; +} /* Generic.Heading */ +.highlight .gs { + font-weight: bold; +} /* Generic.Strong */ +.highlight .gu { + color: #0550AE; +} /* Generic.Subheading */ +.highlight .kc { + color: #0550AE; +} /* Keyword.Constant */ +.highlight .kd { + color: #CF222E; +} /* Keyword.Declaration */ +.highlight .kn { + color: #CF222E; +} /* Keyword.Namespace */ +.highlight .kp { + color: #CF222E; +} /* Keyword.Pseudo */ +.highlight .kr { + color: #CF222E; +} /* Keyword.Reserved */ +.highlight .kt { + color: #CF222E; +} /* Keyword.Type */ +.highlight .ld { + color: #953800; +} /* Literal.Date */ +.highlight .m { + color: #953800; +} /* Literal.Number */ +.highlight .s { + color: #0550AE; +} /* Literal.String */ +.highlight .na { + color: #953800; +} /* Name.Attribute */ +.highlight .nb { + color: #953800; +} /* Name.Builtin */ +.highlight .nc { + color: #0550AE; +} /* Name.Class */ +.highlight .no { + color: #0550AE; +} /* Name.Constant */ +.highlight .nd { + color: #953800; +} /* Name.Decorator */ +.highlight .ni { + color: #116329; +} /* Name.Entity */ +.highlight .ne { + color: #8250DF; +} /* Name.Exception */ +.highlight .nf { + color: #0550AE; +} /* Name.Function */ +.highlight .nl { + color: #953800; +} /* Name.Label */ +.highlight .nn { + color: #24292F; +} /* Name.Namespace */ +.highlight .nx { + color: #8250DF; +} /* Name.Other */ +.highlight .py { + color: #0550AE; +} /* Name.Property */ +.highlight .nt { + color: #116329; +} /* Name.Tag */ +.highlight .nv { + color: #953800; +} /* Name.Variable */ +.highlight .ow { + color: #8250DF; +} /* Operator.Word */ +.highlight .pm { + color: #24292F; +} /* Punctuation.Marker */ +.highlight .w { + color: #24292F; +} /* Text.Whitespace */ +.highlight .mb { + color: #953800; +} /* Literal.Number.Bin */ +.highlight .mf { + color: #953800; +} /* Literal.Number.Float */ +.highlight .mh { + color: #953800; +} /* Literal.Number.Hex */ +.highlight .mi { + color: #953800; +} /* Literal.Number.Integer */ +.highlight .mo { + color: #953800; +} /* Literal.Number.Oct */ +.highlight .sa { + color: #0550AE; +} /* Literal.String.Affix */ +.highlight .sb { + color: #0550AE; +} /* Literal.String.Backtick */ +.highlight .sc { + color: #0550AE; +} /* Literal.String.Char */ +.highlight .dl { + color: #0550AE; +} /* Literal.String.Delimiter */ +.highlight .sd { + color: #0550AE; +} /* Literal.String.Doc */ +.highlight .s2 { + color: #0550AE; +} /* Literal.String.Double */ +.highlight .se { + color: #0550AE; +} /* Literal.String.Escape */ +.highlight .sh { + color: #0550AE; +} /* Literal.String.Heredoc */ +.highlight .si { + color: #0550AE; +} /* Literal.String.Interpol */ +.highlight .sx { + color: #0550AE; +} /* Literal.String.Other */ +.highlight .sr { + color: #0550AE; +} /* Literal.String.Regex */ +.highlight .s1 { + color: #0550AE; +} /* Literal.String.Single */ +.highlight .ss { + color: #0550AE; +} /* Literal.String.Symbol */ +.highlight .bp { + color: #953800; +} /* Name.Builtin.Pseudo */ +.highlight .fm { + color: #0550AE; +} /* Name.Function.Magic */ +.highlight .vc { + color: #953800; +} /* Name.Variable.Class */ +.highlight .vg { + color: #953800; +} /* Name.Variable.Global */ +.highlight .vi { + color: #953800; +} /* Name.Variable.Instance */ +.highlight .vm { + color: #953800; +} /* Name.Variable.Magic */ +.highlight .il { + color: #953800; +} /* Literal.Number.Integer.Long */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; /* 1 */ + text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type=button], +[type=reset], +[type=submit] { + appearance: auto; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type=checkbox], +[type=radio] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type=search] { + appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-decoration { + appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + appearance: auto; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +:root { + color-scheme: light; +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} +html { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + html { + font-size: 1rem !important; + } +} + +body { + font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji"; + font-size: inherit; + line-height: 1.4; + color: #5c5962; + background-color: #fff; + overflow-wrap: break-word; +} + +ol, +ul, +dl, +pre, +address, +blockquote, +table, +div, +hr, +form, +fieldset, +noscript .table-wrapper { + margin-top: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6, +#toctitle { + margin-top: 0; + margin-bottom: 1em; + font-weight: 500; + line-height: 1.25; + color: #27262b; +} + +p { + margin-top: 1em; + margin-bottom: 1em; +} + +a { + color: #7253ed; + text-decoration: none; +} + +a:not([class]) { + text-decoration: underline; + text-decoration-color: #eeebee; + text-underline-offset: 2px; +} +a:not([class]):hover { + text-decoration-color: rgba(114, 83, 237, 0.45); +} + +code { + font-family: "SFMono-Regular", menlo, consolas, monospace; + font-size: 0.75em; + line-height: 1.4; +} + +figure, +pre { + margin: 0; +} + +li { + margin: 0.25em 0; +} + +img { + max-width: 100%; + height: auto; +} + +hr { + height: 1px; + padding: 0; + margin: 2rem 0; + background-color: #eeebee; + border: 0; +} + +blockquote { + margin: 10px 0; + margin-block-start: 0; + margin-inline-start: 0; + padding-left: 1rem; + border-left: 3px solid #eeebee; +} + +.side-bar { + z-index: 0; + display: flex; + flex-wrap: wrap; + background-color: #f5f6fa; +} +@media (min-width: 50rem) { + .side-bar { + flex-flow: column nowrap; + position: fixed; + width: 15.5rem; + height: 100%; + border-right: 1px solid #eeebee; + align-items: flex-end; + } +} +@media (min-width: 66.5rem) { + .side-bar { + width: calc((100% - 66.5rem) / 2 + 16.5rem); + min-width: 16.5rem; + } +} +@media (min-width: 50rem) { + .side-bar + .main { + margin-left: 15.5rem; + } +} +@media (min-width: 66.5rem) { + .side-bar + .main { + margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem); + } +} +.side-bar + .main .main-header { + display: none; + background-color: #f5f6fa; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header { + display: flex; + background-color: #fff; + } +} +.side-bar + .main .main-header.nav-open { + display: block; +} +@media (min-width: 50rem) { + .side-bar + .main .main-header.nav-open { + display: flex; + } +} + +.main { + margin: auto; +} +@media (min-width: 50rem) { + .main { + position: relative; + max-width: 50rem; + } +} + +.main-content-wrap { + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-right: 2rem; + padding-left: 2rem; + } +} +@media (min-width: 50rem) { + .main-content-wrap { + padding-top: 2rem; + padding-bottom: 2rem; + } +} + +.main-header { + z-index: 0; + border-bottom: 1px solid #eeebee; +} +@media (min-width: 50rem) { + .main-header { + display: flex; + justify-content: space-between; + height: 3.75rem; + } +} + +.site-nav, +.site-header, +.site-footer { + width: 100%; +} +@media (min-width: 66.5rem) { + .site-nav, + .site-header, + .site-footer { + width: 16.5rem; + } +} + +.site-nav { + display: none; +} +.site-nav.nav-open { + display: block; +} +@media (min-width: 50rem) { + .site-nav { + display: block; + padding-top: 3rem; + padding-bottom: 1rem; + overflow-y: auto; + flex: 1 1 auto; + } +} + +.site-header { + display: flex; + min-height: 3.75rem; + align-items: center; +} +@media (min-width: 50rem) { + .site-header { + height: 3.75rem; + max-height: 3.75rem; + border-bottom: 1px solid #eeebee; + } +} + +.site-title { + flex-grow: 1; + display: flex; + height: 100%; + align-items: center; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #27262b; + outline-offset: -1px; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-title { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-title { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .site-title { + font-size: 1.5rem !important; + line-height: 1.25; + } +} +@media (min-width: 50rem) { + .site-title { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } +} + +.site-button { + display: flex; + height: 100%; + padding: 1rem; + align-items: center; + outline-offset: -1px; +} + +@media (min-width: 50rem) { + .site-header .site-button { + display: none; + } +} +.site-title:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); +} + +.site-button:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%); +} + +.site-footer { + position: absolute; + bottom: 0; + left: 0; + padding-top: 1rem; + padding-bottom: 1rem; + padding-right: 1rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .site-footer { + padding-right: 2rem; + padding-left: 2rem; + } +} +.site-footer { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .site-footer { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .site-footer { + position: static; + justify-self: end; + } +} + +.icon { + width: 1.5rem; + height: 1.5rem; + color: #7253ed; +} + +.main-content { + line-height: 1.6; +} +.main-content ol, +.main-content ul, +.main-content dl, +.main-content pre, +.main-content address, +.main-content blockquote, +.main-content .table-wrapper { + margin-top: 0.5em; +} +.main-content a { + overflow: hidden; + text-overflow: ellipsis; +} +.main-content ul, +.main-content ol { + padding-left: 1.5em; +} +.main-content li .highlight { + margin-top: 0.25rem; +} +.main-content ol { + list-style-type: none; + counter-reset: step-counter; +} +.main-content ol > li { + position: relative; +} +.main-content ol > li::before { + position: absolute; + top: 0.2em; + left: -1.6em; + color: #959396; + content: counter(step-counter); + counter-increment: step-counter; +} +.main-content ol > li::before { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + font-size: 0.875rem !important; + } +} +@media (min-width: 31.25rem) { + .main-content ol > li::before { + top: 0.11em; + } +} +.main-content ol > li ol { + counter-reset: sub-counter; +} +.main-content ol > li ol > li::before { + content: counter(sub-counter, lower-alpha); + counter-increment: sub-counter; +} +.main-content ul { + list-style: none; +} +.main-content ul > li::before { + position: absolute; + margin-left: -1.4em; + color: #959396; + content: "•"; +} +.main-content .task-list-item::before { + content: ""; +} +.main-content .task-list-item-checkbox { + margin-right: 0.6em; + margin-left: -1.4em; +} +.main-content hr + * { + margin-top: 0; +} +.main-content h1:first-of-type { + margin-top: 0.5em; +} +.main-content dl { + display: grid; + grid-template: auto/10em 1fr; +} +.main-content dt, +.main-content dd { + margin: 0.25em 0; +} +.main-content dt { + grid-column: 1; + font-weight: 500; + text-align: right; +} +.main-content dt::after { + content: ":"; +} +.main-content dd { + grid-column: 2; + margin-bottom: 0; + margin-left: 1em; +} +.main-content dd blockquote:first-child, +.main-content dd div:first-child, +.main-content dd dl:first-child, +.main-content dd dt:first-child, +.main-content dd h1:first-child, +.main-content dd h2:first-child, +.main-content dd h3:first-child, +.main-content dd h4:first-child, +.main-content dd h5:first-child, +.main-content dd h6:first-child, +.main-content dd li:first-child, +.main-content dd ol:first-child, +.main-content dd p:first-child, +.main-content dd pre:first-child, +.main-content dd table:first-child, +.main-content dd ul:first-child, +.main-content dd .table-wrapper:first-child { + margin-top: 0; +} +.main-content dd dl:first-child dt:first-child, +.main-content dd dl:first-child dd:nth-child(2), +.main-content ol dl:first-child dt:first-child, +.main-content ol dl:first-child dd:nth-child(2), +.main-content ul dl:first-child dt:first-child, +.main-content ul dl:first-child dd:nth-child(2) { + margin-top: 0; +} +.main-content .anchor-heading { + position: absolute; + right: -1rem; + width: 1.5rem; + height: 100%; + padding-right: 0.25rem; + padding-left: 0.25rem; + overflow: visible; +} +@media (min-width: 50rem) { + .main-content .anchor-heading { + right: auto; + left: -1.5rem; + } +} +.main-content .anchor-heading svg { + display: inline-block; + width: 100%; + height: 100%; + color: #7253ed; + visibility: hidden; +} +.main-content .anchor-heading:hover svg, +.main-content .anchor-heading:focus svg, +.main-content h1:hover > .anchor-heading svg, +.main-content h2:hover > .anchor-heading svg, +.main-content h3:hover > .anchor-heading svg, +.main-content h4:hover > .anchor-heading svg, +.main-content h5:hover > .anchor-heading svg, +.main-content h6:hover > .anchor-heading svg { + visibility: visible; +} +.main-content summary { + cursor: pointer; +} +.main-content h1, +.main-content h2, +.main-content h3, +.main-content h4, +.main-content h5, +.main-content h6, +.main-content #toctitle { + position: relative; + margin-top: 1.5em; + margin-bottom: 0.25em; +} +.main-content h1 + table, +.main-content h1 + .table-wrapper, +.main-content h1 + .code-example, +.main-content h1 + .highlighter-rouge, +.main-content h1 + .sectionbody .listingblock, +.main-content h2 + table, +.main-content h2 + .table-wrapper, +.main-content h2 + .code-example, +.main-content h2 + .highlighter-rouge, +.main-content h2 + .sectionbody .listingblock, +.main-content h3 + table, +.main-content h3 + .table-wrapper, +.main-content h3 + .code-example, +.main-content h3 + .highlighter-rouge, +.main-content h3 + .sectionbody .listingblock, +.main-content h4 + table, +.main-content h4 + .table-wrapper, +.main-content h4 + .code-example, +.main-content h4 + .highlighter-rouge, +.main-content h4 + .sectionbody .listingblock, +.main-content h5 + table, +.main-content h5 + .table-wrapper, +.main-content h5 + .code-example, +.main-content h5 + .highlighter-rouge, +.main-content h5 + .sectionbody .listingblock, +.main-content h6 + table, +.main-content h6 + .table-wrapper, +.main-content h6 + .code-example, +.main-content h6 + .highlighter-rouge, +.main-content h6 + .sectionbody .listingblock, +.main-content #toctitle + table, +.main-content #toctitle + .table-wrapper, +.main-content #toctitle + .code-example, +.main-content #toctitle + .highlighter-rouge, +.main-content #toctitle + .sectionbody .listingblock { + margin-top: 1em; +} +.main-content h1 + p:not(.label), +.main-content h2 + p:not(.label), +.main-content h3 + p:not(.label), +.main-content h4 + p:not(.label), +.main-content h5 + p:not(.label), +.main-content h6 + p:not(.label), +.main-content #toctitle + p:not(.label) { + margin-top: 0; +} +.main-content > h1:first-child, +.main-content > h2:first-child, +.main-content > h3:first-child, +.main-content > h4:first-child, +.main-content > h5:first-child, +.main-content > h6:first-child, +.main-content > .sect1:first-child > h2, +.main-content > .sect2:first-child > h3, +.main-content > .sect3:first-child > h4, +.main-content > .sect4:first-child > h5, +.main-content > .sect5:first-child > h6 { + margin-top: 0.5rem; +} + +.nav-list { + padding: 0; + margin-top: 0; + margin-bottom: 0; + list-style: none; +} +.nav-list .nav-list-item { + position: relative; + margin: 0; +} +.nav-list .nav-list-item { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .nav-list .nav-list-item { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .nav-list .nav-list-item { + font-size: 0.875rem !important; + } +} +.nav-list .nav-list-item .nav-list-link { + display: block; + min-height: 3rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + line-height: 2.5rem; + outline-offset: -1px; + padding-right: 3rem; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-link { + min-height: 2rem; + line-height: 1.5rem; + padding-right: 2rem; + padding-left: 2rem; + } +} +.nav-list .nav-list-item .nav-list-link.external > svg { + width: 1rem; + height: 1rem; + vertical-align: text-bottom; +} +.nav-list .nav-list-item .nav-list-link.active { + font-weight: 600; + text-decoration: none; +} +.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { + color: rgb(95.0763157895, 59.9157894737, 234.5842105263); + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); +} +.nav-list .nav-list-item .nav-list-expander { + position: absolute; + right: 0; + width: 3rem; + height: 3rem; + padding: 0.75rem; + color: #7253ed; + outline-offset: -1px; +} +@media (min-width: 50rem) { + .nav-list .nav-list-item .nav-list-expander { + width: 2rem; + height: 2rem; + padding: 0.5rem; + } +} +.nav-list .nav-list-item .nav-list-expander:hover { + background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%); +} +.nav-list .nav-list-item .nav-list-expander svg { + transform: rotate(90deg); +} +.nav-list .nav-list-item > .nav-list { + display: none; + padding-left: 0.75rem; + list-style: none; +} +.nav-list .nav-list-item > .nav-list .nav-list-item { + position: relative; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { + color: #5c5962; +} +.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { + color: #5c5962; +} +.nav-list .nav-list-item.active > .nav-list-expander svg { + transform: rotate(-90deg); +} +.nav-list .nav-list-item.active > .nav-list { + display: block; +} + +.nav-category { + padding: 0.5rem 1rem; + font-weight: 600; + text-align: start; + text-transform: uppercase; + border-bottom: 1px solid #eeebee; +} +.nav-category { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .nav-category { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) { + .nav-category { + padding: 0.5rem 2rem; + margin-top: 1rem; + text-align: start; + } + .nav-category:first-child { + margin-top: 0; + } +} + +.nav-list.nav-category-list > .nav-list-item { + margin: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list { + padding: 0; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link { + color: #7253ed; +} +.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander { + color: #7253ed; +} + +.aux-nav { + height: 100%; + overflow-x: auto; +} +.aux-nav { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .aux-nav { + font-size: 0.75rem !important; + } +} +.aux-nav .aux-nav-list { + display: flex; + height: 100%; + padding: 0; + margin: 0; + list-style: none; +} +.aux-nav .aux-nav-list-item { + display: inline-block; + height: 100%; + padding: 0; + margin: 0; +} +@media (min-width: 50rem) { + .aux-nav { + padding-right: 1rem; + } +} + +@media (min-width: 50rem) { + .breadcrumb-nav { + margin-top: -1rem; + } +} + +.breadcrumb-nav-list { + padding-left: 0; + margin-bottom: 0.75rem; + list-style: none; +} + +.breadcrumb-nav-list-item { + display: table-cell; +} +.breadcrumb-nav-list-item { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .breadcrumb-nav-list-item { + font-size: 0.75rem !important; + } +} +.breadcrumb-nav-list-item::before { + display: none; +} +.breadcrumb-nav-list-item::after { + display: inline-block; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #959396; + content: "/"; +} +.breadcrumb-nav-list-item:last-child::after { + content: ""; +} + +h1, +.text-alpha { + font-weight: 300; +} +h1, +.text-alpha { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + h1, + .text-alpha { + font-size: 2.25rem !important; + } +} + +h2, +.text-beta, +#toctitle { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + h2, + .text-beta, + #toctitle { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +h3, +.text-gamma { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + h3, + .text-gamma { + font-size: 1.125rem !important; + } +} + +h4, +.text-delta { + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0.1em; +} +h4, +.text-delta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h4, + .text-delta { + font-size: 0.75rem !important; + } +} + +h4 code { + text-transform: none; +} + +h5, +.text-epsilon { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + h5, + .text-epsilon { + font-size: 0.875rem !important; + } +} + +h6, +.text-zeta { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + h6, + .text-zeta { + font-size: 0.75rem !important; + } +} + +.text-small { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .text-small { + font-size: 0.75rem !important; + } +} + +.text-mono { + font-family: "SFMono-Regular", menlo, consolas, monospace !important; +} + +.text-left { + text-align: left !important; +} + +.text-center { + text-align: center !important; +} + +.text-right { + text-align: right !important; +} + +.label:not(g), +.label-blue:not(g) { + display: inline-block; + padding: 0.16em 0.56em; + margin-right: 0.5rem; + margin-left: 0.5rem; + color: #fff; + text-transform: uppercase; + vertical-align: middle; + background-color: #2869e6; + border-radius: 12px; +} +.label:not(g), +.label-blue:not(g) { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .label:not(g), + .label-blue:not(g) { + font-size: 0.75rem !important; + } +} + +.label-green:not(g) { + background-color: #026e57; +} + +.label-purple:not(g) { + background-color: #5e41d0; +} + +.label-red:not(g) { + background-color: #dd2e2e; +} + +.label-yellow:not(g) { + color: #44434d; + background-color: #f7d12e; +} + +.btn { + display: inline-block; + box-sizing: border-box; + padding: 0.3em 1em; + margin: 0; + font-family: inherit; + font-size: inherit; + font-weight: 500; + line-height: 1.5; + color: #7253ed; + text-decoration: none; + vertical-align: baseline; + cursor: pointer; + background-color: #f7f7f7; + border-width: 0; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + appearance: none; +} +.btn:focus { + text-decoration: none; + outline: none; + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:focus:hover, .btn.selected:focus { + box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn:hover, .btn.zeroclipboard-is-hover { + color: rgb(106.4305263158, 73.7663157895, 236.0336842105); +} +.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { + text-decoration: none; + background-color: rgb(244.45, 244.45, 244.45); +} +.btn:active, .btn.selected, .btn.zeroclipboard-is-active { + background-color: rgb(239.35, 239.35, 239.35); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn.selected:hover { + background-color: rgb(207.25, 207.25, 207.25); +} +.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { + color: rgba(102, 102, 102, 0.5); + cursor: default; + background-color: rgba(229, 229, 229, 0.5); + background-image: none; + box-shadow: none; +} + +.btn-outline { + color: #7253ed; + background: transparent; + box-shadow: inset 0 0 0 2px #e6e1e8; +} +.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { + color: rgb(98.8610526316, 64.5326315789, 235.0673684211); + text-decoration: none; + background-color: transparent; + box-shadow: inset 0 0 0 3px #e6e1e8; +} +.btn-outline:focus { + text-decoration: none; + outline: none; + box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); +} +.btn-outline:focus:hover, .btn-outline.selected:focus { + box-shadow: inset 0 0 0 2px #5c5962; +} + +.btn-primary { + color: #fff; + background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899); + background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139); + background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139)); +} +.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { + background-color: rgb(79.3670886076, 49.082278481, 198.417721519); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-primary.selected:hover { + background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443); +} + +.btn-purple { + color: #fff; + background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899); + background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139); + background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139)); +} +.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { + background-color: rgb(79.3670886076, 49.082278481, 198.417721519); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-purple.selected:hover { + background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443); +} + +.btn-blue { + color: #fff; + background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099); + background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197); + background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197)); +} +.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { + background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-blue.selected:hover { + background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493); +} + +.btn-green { + color: #fff; + background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143); + background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143)); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); +} +.btn-green:hover, .btn-green.zeroclipboard-is-hover { + color: #fff; + background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286); + background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286)); +} +.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { + background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); +} +.btn-green.selected:hover { + background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714); +} + +.btn-reset { + background: none; + border: none; + margin: 0; + text-align: inherit; + font: inherit; + border-radius: 0; + appearance: none; +} + +.search { + position: relative; + z-index: 2; + flex-grow: 1; + height: 4rem; + padding: 0.5rem; + transition: padding linear 200ms; +} +@media (min-width: 50rem) { + .search { + position: relative !important; + width: auto !important; + height: 100% !important; + padding: 0; + transition: none; + } +} + +.search-input-wrap { + position: relative; + z-index: 1; + height: 3rem; + overflow: hidden; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + transition: height linear 200ms; +} +@media (min-width: 50rem) { + .search-input-wrap { + position: absolute; + width: 100%; + max-width: 33.5rem; + height: 100% !important; + border-radius: 0; + box-shadow: none; + transition: width ease 400ms; + } +} + +.search-input { + position: absolute; + width: 100%; + height: 100%; + padding: 0.5rem 1rem 0.5rem 2.5rem; + font-size: 1rem; + color: #5c5962; + background-color: #fff; + border-top: 0; + border-right: 0; + border-bottom: 0; + border-left: 0; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-input { + padding: 0.5rem 1rem 0.5rem 3.5rem; + font-size: 0.875rem; + background-color: #fff; + transition: padding-left linear 200ms; + } +} +.search-input:focus { + outline-offset: -1px; +} +.search-input:focus + .search-label .search-icon { + color: #7253ed; +} + +.search-label { + position: absolute; + display: flex; + height: 100%; + padding-left: 1rem; +} +@media (min-width: 50rem) { + .search-label { + padding-left: 2rem; + transition: padding-left linear 200ms; + } +} +.search-label .search-icon { + width: 1.2rem; + height: 1.2rem; + align-self: center; + color: #959396; +} + +.search-results { + position: absolute; + left: 0; + display: none; + width: 100%; + max-height: calc(100% - 4rem); + overflow-y: auto; + background-color: #fff; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} +@media (min-width: 50rem) { + .search-results { + top: 100%; + width: 33.5rem; + max-height: calc(100vh - 200%) !important; + } +} + +.search-results-list { + padding-left: 0; + margin-bottom: 0.25rem; + list-style: none; +} +.search-results-list { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .search-results-list { + font-size: 1rem !important; + } +} +@media (min-width: 50rem) { + .search-results-list { + font-size: 0.75rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-results-list { + font-size: 0.875rem !important; + } +} + +.search-results-list-item { + padding: 0; + margin: 0; +} + +.search-result { + display: block; + padding: 0.25rem 0.75rem; + outline-offset: -1px; +} +.search-result:hover, .search-result.active { + background-color: rgb(234.8, 236.82, 244.9); +} + +.search-result-title { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +@media (min-width: 31.25rem) { + .search-result-title { + display: inline-block; + width: 40%; + padding-right: 0.5rem; + vertical-align: top; + } +} + +.search-result-doc { + display: flex; + align-items: center; + overflow-wrap: break-word; +} +.search-result-doc.search-result-doc-parent { + opacity: 0.5; +} +.search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.875rem !important; + } +} +@media (min-width: 50rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.6875rem !important; + } +} +@media (min-width: 50rem) and (min-width: 31.25rem) { + .search-result-doc.search-result-doc-parent { + font-size: 0.75rem !important; + } +} +.search-result-doc .search-result-icon { + width: 1rem; + height: 1rem; + margin-right: 0.5rem; + color: #7253ed; + flex-shrink: 0; +} +.search-result-doc .search-result-doc-title { + overflow: auto; +} + +.search-result-section { + margin-left: 1.5rem; + overflow-wrap: break-word; +} + +.search-result-rel-url { + display: block; + margin-left: 1.5rem; + overflow: hidden; + color: #5c5962; + text-overflow: ellipsis; + white-space: nowrap; +} +.search-result-rel-url { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .search-result-rel-url { + font-size: 0.625rem !important; + } +} + +.search-result-previews { + display: block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + margin-left: 0.5rem; + color: #5c5962; + overflow-wrap: break-word; + border-left: 1px solid; + border-left-color: #eeebee; +} +.search-result-previews { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .search-result-previews { + font-size: 0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .search-result-previews { + display: inline-block; + width: 60%; + padding-left: 0.5rem; + margin-left: 0; + vertical-align: top; + } +} + +.search-result-preview + .search-result-preview { + margin-top: 0.25rem; +} + +.search-result-highlight { + font-weight: bold; +} + +.search-no-result { + padding: 0.5rem 0.75rem; +} +.search-no-result { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .search-no-result { + font-size: 0.875rem !important; + } +} + +.search-button { + position: fixed; + right: 1rem; + bottom: 1rem; + display: flex; + width: 3.5rem; + height: 3.5rem; + background-color: #fff; + border: 1px solid rgba(114, 83, 237, 0.3); + border-radius: 1.75rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + align-items: center; + justify-content: center; +} + +.search-overlay { + position: fixed; + top: 0; + left: 0; + z-index: 1; + width: 0; + height: 0; + background-color: rgba(0, 0, 0, 0.3); + opacity: 0; + transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; +} + +.search-active .search { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 0; +} +.search-active .search-input-wrap { + height: 4rem; + border-radius: 0; +} +@media (min-width: 50rem) { + .search-active .search-input-wrap { + width: 33.5rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + } +} +.search-active .search-input { + background-color: #fff; +} +@media (min-width: 50rem) { + .search-active .search-input { + padding-left: 2.3rem; + } +} +@media (min-width: 50rem) { + .search-active .search-label { + padding-left: 0.6rem; + } +} +.search-active .search-results { + display: block; +} +.search-active .search-overlay { + width: 100%; + height: 100%; + opacity: 1; + transition: opacity ease 400ms, width 0s, height 0s; +} +@media (min-width: 50rem) { + .search-active .main { + position: fixed; + right: 0; + left: 0; + } +} +.search-active .main-header { + padding-top: 4rem; +} +@media (min-width: 50rem) { + .search-active .main-header { + padding-top: 0; + } +} + +.table-wrapper { + display: block; + width: 100%; + max-width: 100%; + margin-bottom: 1.5rem; + overflow-x: auto; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); +} + +table { + display: table; + min-width: 100%; + border-collapse: separate; +} + +th, +td { + min-width: 7.5rem; + padding: 0.5rem 0.75rem; + background-color: #fff; + border-bottom: 1px solid rgba(238, 235, 238, 0.5); + border-left: 1px solid #eeebee; +} +th, +td { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + th, + td { + font-size: 0.875rem !important; + } +} +th:first-of-type, +td:first-of-type { + border-left: 0; +} + +tbody tr:last-of-type th, +tbody tr:last-of-type td { + border-bottom: 0; +} +tbody tr:last-of-type td { + padding-bottom: 0.75rem; +} + +thead th { + border-bottom: 1px solid #eeebee; +} + +:not(pre, figure) > code { + padding: 0.2em 0.15em; + font-weight: 400; + background-color: #fff; + border: 1px solid #eeebee; + border-radius: 4px; +} + +a:visited code { + border-color: #eeebee; +} + +div.highlighter-rouge, +div.listingblock > div.content, +figure.highlight { + margin-top: 0; + margin-bottom: 0.75rem; + background-color: #fff; + border-radius: 4px; + box-shadow: none; + -webkit-overflow-scrolling: touch; + position: relative; + padding: 0; +} +div.highlighter-rouge > button, +div.listingblock > div.content > button, +figure.highlight > button { + width: 0.75rem; + opacity: 0; + position: absolute; + top: 0; + right: 0; + padding: 0.75rem; + border: none; + background: none; + color: #5c5962; + box-sizing: content-box; +} +div.highlighter-rouge > button svg, +div.listingblock > div.content > button svg, +figure.highlight > button svg { + fill: #5c5962; +} +div.highlighter-rouge > button:active, +div.listingblock > div.content > button:active, +figure.highlight > button:active { + text-decoration: none; + outline: none; + opacity: 1; +} +div.highlighter-rouge > button:focus, +div.listingblock > div.content > button:focus, +figure.highlight > button:focus { + opacity: 1; + outline: 2px solid #7253ed; +} +div.highlighter-rouge:hover > button, +div.listingblock > div.content:hover > button, +figure.highlight:hover > button { + cursor: copy; + opacity: 1; +} + +div.highlighter-rouge div.highlight { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} +div.highlighter-rouge pre.highlight, +div.highlighter-rouge code { + padding: 0; + margin: 0; + border: 0; +} + +div.listingblock { + margin-top: 0; + margin-bottom: 0.75rem; +} +div.listingblock div.content { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} +div.listingblock div.content > pre, +div.listingblock code { + padding: 0; + margin: 0; + border: 0; +} + +figure.highlight pre, +figure.highlight :not(pre) > code { + overflow-x: auto; + padding: 0.75rem; + margin: 0; + border: 1px solid #5c5962; + border-radius: 4px; +} + +.highlight .table-wrapper { + padding: 0.75rem 0; + margin: 0; + border: 0; + box-shadow: none; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + min-width: 0; + padding: 0; + background-color: #fff; + border: 0; +} +.highlight .table-wrapper td, +.highlight .table-wrapper pre { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .highlight .table-wrapper td, + .highlight .table-wrapper pre { + font-size: 0.75rem !important; + } +} +.highlight .table-wrapper td.gl { + width: 1em; + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.highlight .table-wrapper pre { + margin: 0; + line-height: 2; +} + +.code-example, +.listingblock > .title { + padding: 0.75rem; + margin-bottom: 0.75rem; + overflow: auto; + border: 1px solid #eeebee; + border-radius: 4px; +} +.code-example + .highlighter-rouge, +.code-example + .sectionbody .listingblock, +.code-example + .content, +.code-example + figure.highlight, +.listingblock > .title + .highlighter-rouge, +.listingblock > .title + .sectionbody .listingblock, +.listingblock > .title + .content, +.listingblock > .title + figure.highlight { + position: relative; + margin-top: -1rem; + border-right: 1px solid #eeebee; + border-bottom: 1px solid #eeebee; + border-left: 1px solid #eeebee; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +code.language-mermaid { + padding: 0; + background-color: inherit; + border: 0; +} + +.highlight, +pre.highlight { + background: #fff; + color: #5c5962; +} + +.highlight pre { + background: #fff; +} + +.text-grey-dk-000 { + color: #959396 !important; +} + +.text-grey-dk-100 { + color: #5c5962 !important; +} + +.text-grey-dk-200 { + color: #44434d !important; +} + +.text-grey-dk-250 { + color: #302d36 !important; +} + +.text-grey-dk-300 { + color: #27262b !important; +} + +.text-grey-lt-000 { + color: #f5f6fa !important; +} + +.text-grey-lt-100 { + color: #eeebee !important; +} + +.text-grey-lt-200 { + color: #ecebed !important; +} + +.text-grey-lt-300 { + color: #e6e1e8 !important; +} + +.text-blue-000 { + color: #2c84fa !important; +} + +.text-blue-100 { + color: #2869e6 !important; +} + +.text-blue-200 { + color: #264caf !important; +} + +.text-blue-300 { + color: #183385 !important; +} + +.text-green-000 { + color: #41d693 !important; +} + +.text-green-100 { + color: #11b584 !important; +} + +.text-green-200 { + color: #009c7b !important; +} + +.text-green-300 { + color: #026e57 !important; +} + +.text-purple-000 { + color: #7253ed !important; +} + +.text-purple-100 { + color: #5e41d0 !important; +} + +.text-purple-200 { + color: #4e26af !important; +} + +.text-purple-300 { + color: #381885 !important; +} + +.text-yellow-000 { + color: #ffeb82 !important; +} + +.text-yellow-100 { + color: #fadf50 !important; +} + +.text-yellow-200 { + color: #f7d12e !important; +} + +.text-yellow-300 { + color: #e7af06 !important; +} + +.text-red-000 { + color: #f77e7e !important; +} + +.text-red-100 { + color: #f96e65 !important; +} + +.text-red-200 { + color: #e94c4c !important; +} + +.text-red-300 { + color: #dd2e2e !important; +} + +.bg-grey-dk-000 { + background-color: #959396 !important; +} + +.bg-grey-dk-100 { + background-color: #5c5962 !important; +} + +.bg-grey-dk-200 { + background-color: #44434d !important; +} + +.bg-grey-dk-250 { + background-color: #302d36 !important; +} + +.bg-grey-dk-300 { + background-color: #27262b !important; +} + +.bg-grey-lt-000 { + background-color: #f5f6fa !important; +} + +.bg-grey-lt-100 { + background-color: #eeebee !important; +} + +.bg-grey-lt-200 { + background-color: #ecebed !important; +} + +.bg-grey-lt-300 { + background-color: #e6e1e8 !important; +} + +.bg-blue-000 { + background-color: #2c84fa !important; +} + +.bg-blue-100 { + background-color: #2869e6 !important; +} + +.bg-blue-200 { + background-color: #264caf !important; +} + +.bg-blue-300 { + background-color: #183385 !important; +} + +.bg-green-000 { + background-color: #41d693 !important; +} + +.bg-green-100 { + background-color: #11b584 !important; +} + +.bg-green-200 { + background-color: #009c7b !important; +} + +.bg-green-300 { + background-color: #026e57 !important; +} + +.bg-purple-000 { + background-color: #7253ed !important; +} + +.bg-purple-100 { + background-color: #5e41d0 !important; +} + +.bg-purple-200 { + background-color: #4e26af !important; +} + +.bg-purple-300 { + background-color: #381885 !important; +} + +.bg-yellow-000 { + background-color: #ffeb82 !important; +} + +.bg-yellow-100 { + background-color: #fadf50 !important; +} + +.bg-yellow-200 { + background-color: #f7d12e !important; +} + +.bg-yellow-300 { + background-color: #e7af06 !important; +} + +.bg-red-000 { + background-color: #f77e7e !important; +} + +.bg-red-100 { + background-color: #f96e65 !important; +} + +.bg-red-200 { + background-color: #e94c4c !important; +} + +.bg-red-300 { + background-color: #dd2e2e !important; +} + +.d-block { + display: block !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-none { + display: none !important; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + border-width: 0; +} + +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 20rem) { + .d-xs-block { + display: block !important; + } + .d-xs-flex { + display: flex !important; + } + .d-xs-inline { + display: inline !important; + } + .d-xs-inline-block { + display: inline-block !important; + } + .d-xs-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 31.25rem) { + .d-sm-block { + display: block !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 50rem) { + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 66.5rem) { + .d-lg-block { + display: block !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +@media (min-width: 87.5rem) { + .d-xl-block { + display: block !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-none { + display: none !important; + } +} +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.flex-justify-start { + justify-content: flex-start !important; +} + +.flex-justify-end { + justify-content: flex-end !important; +} + +.flex-justify-between { + justify-content: space-between !important; +} + +.flex-justify-around { + justify-content: space-around !important; +} + +.v-align-baseline { + vertical-align: baseline !important; +} + +.v-align-bottom { + vertical-align: bottom !important; +} + +.v-align-middle { + vertical-align: middle !important; +} + +.v-align-text-bottom { + vertical-align: text-bottom !important; +} + +.v-align-text-top { + vertical-align: text-top !important; +} + +.v-align-top { + vertical-align: top !important; +} + +.fs-1 { + font-size: 0.5625rem !important; +} +@media (min-width: 31.25rem) { + .fs-1 { + font-size: 0.625rem !important; + } +} + +.fs-2 { + font-size: 0.6875rem !important; +} +@media (min-width: 31.25rem) { + .fs-2 { + font-size: 0.75rem !important; + } +} + +.fs-3 { + font-size: 0.75rem !important; +} +@media (min-width: 31.25rem) { + .fs-3 { + font-size: 0.875rem !important; + } +} + +.fs-4 { + font-size: 0.875rem !important; +} +@media (min-width: 31.25rem) { + .fs-4 { + font-size: 1rem !important; + } +} + +.fs-5 { + font-size: 1rem !important; +} +@media (min-width: 31.25rem) { + .fs-5 { + font-size: 1.125rem !important; + } +} + +.fs-6 { + font-size: 1.125rem !important; +} +@media (min-width: 31.25rem) { + .fs-6 { + font-size: 1.5rem !important; + line-height: 1.25; + } +} + +.fs-7 { + font-size: 1.5rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-7 { + font-size: 2rem !important; + } +} + +.fs-8 { + font-size: 2rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-8 { + font-size: 2.25rem !important; + } +} + +.fs-9 { + font-size: 2.25rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-9 { + font-size: 2.625rem !important; + } +} + +.fs-10 { + font-size: 2.625rem !important; + line-height: 1.25; +} +@media (min-width: 31.25rem) { + .fs-10 { + font-size: 3rem !important; + } +} + +.fw-300 { + font-weight: 300 !important; +} + +.fw-400 { + font-weight: 400 !important; +} + +.fw-500 { + font-weight: 500 !important; +} + +.fw-700 { + font-weight: 700 !important; +} + +.lh-0 { + line-height: 0 !important; +} + +.lh-default { + line-height: 1.4; +} + +.lh-tight { + line-height: 1.25; +} + +.ls-5 { + letter-spacing: 0.05em !important; +} + +.ls-10 { + letter-spacing: 0.1em !important; +} + +.ls-0 { + letter-spacing: 0 !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.list-style-none { + padding: 0 !important; + margin: 0 !important; + list-style: none !important; +} +.list-style-none li::before { + display: none !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.mxn-0 { + margin-right: -0 !important; + margin-left: -0 !important; +} + +.mx-0-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mr-1 { + margin-right: 0.25rem !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1 { + margin-left: 0.25rem !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.mxn-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; +} + +.mx-1-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mr-2 { + margin-right: 0.5rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2 { + margin-left: 0.5rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.mxn-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; +} + +.mx-2-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mr-3 { + margin-right: 0.75rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.ml-3 { + margin-left: 0.75rem !important; +} + +.mx-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.mxn-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; +} + +.mx-3-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-4 { + margin: 1rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mr-4 { + margin-right: 1rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.ml-4 { + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.mxn-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; +} + +.mx-4-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-5 { + margin: 1.5rem !important; +} + +.mt-5 { + margin-top: 1.5rem !important; +} + +.mr-5 { + margin-right: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 1.5rem !important; +} + +.ml-5 { + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.mxn-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; +} + +.mx-5-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-6 { + margin: 2rem !important; +} + +.mt-6 { + margin-top: 2rem !important; +} + +.mr-6 { + margin-right: 2rem !important; +} + +.mb-6 { + margin-bottom: 2rem !important; +} + +.ml-6 { + margin-left: 2rem !important; +} + +.mx-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.my-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.mxn-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; +} + +.mx-6-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-7 { + margin: 2.5rem !important; +} + +.mt-7 { + margin-top: 2.5rem !important; +} + +.mr-7 { + margin-right: 2.5rem !important; +} + +.mb-7 { + margin-bottom: 2.5rem !important; +} + +.ml-7 { + margin-left: 2.5rem !important; +} + +.mx-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; +} + +.my-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; +} + +.mxn-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; +} + +.mx-7-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-8 { + margin: 3rem !important; +} + +.mt-8 { + margin-top: 3rem !important; +} + +.mr-8 { + margin-right: 3rem !important; +} + +.mb-8 { + margin-bottom: 3rem !important; +} + +.ml-8 { + margin-left: 3rem !important; +} + +.mx-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.my-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.mxn-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; +} + +.mx-8-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-9 { + margin: 3.5rem !important; +} + +.mt-9 { + margin-top: 3.5rem !important; +} + +.mr-9 { + margin-right: 3.5rem !important; +} + +.mb-9 { + margin-bottom: 3.5rem !important; +} + +.ml-9 { + margin-left: 3.5rem !important; +} + +.mx-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; +} + +.my-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; +} + +.mxn-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; +} + +.mx-9-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.m-10 { + margin: 4rem !important; +} + +.mt-10 { + margin-top: 4rem !important; +} + +.mr-10 { + margin-right: 4rem !important; +} + +.mb-10 { + margin-bottom: 4rem !important; +} + +.ml-10 { + margin-left: 4rem !important; +} + +.mx-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; +} + +.my-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} + +.mxn-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; +} + +.mx-10-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +@media (min-width: 20rem) { + .m-xs-0 { + margin: 0 !important; + } + .mt-xs-0 { + margin-top: 0 !important; + } + .mr-xs-0 { + margin-right: 0 !important; + } + .mb-xs-0 { + margin-bottom: 0 !important; + } + .ml-xs-0 { + margin-left: 0 !important; + } + .mx-xs-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xs-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xs-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 20rem) { + .m-xs-1 { + margin: 0.25rem !important; + } + .mt-xs-1 { + margin-top: 0.25rem !important; + } + .mr-xs-1 { + margin-right: 0.25rem !important; + } + .mb-xs-1 { + margin-bottom: 0.25rem !important; + } + .ml-xs-1 { + margin-left: 0.25rem !important; + } + .mx-xs-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xs-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xs-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-2 { + margin: 0.5rem !important; + } + .mt-xs-2 { + margin-top: 0.5rem !important; + } + .mr-xs-2 { + margin-right: 0.5rem !important; + } + .mb-xs-2 { + margin-bottom: 0.5rem !important; + } + .ml-xs-2 { + margin-left: 0.5rem !important; + } + .mx-xs-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xs-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xs-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-3 { + margin: 0.75rem !important; + } + .mt-xs-3 { + margin-top: 0.75rem !important; + } + .mr-xs-3 { + margin-right: 0.75rem !important; + } + .mb-xs-3 { + margin-bottom: 0.75rem !important; + } + .ml-xs-3 { + margin-left: 0.75rem !important; + } + .mx-xs-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xs-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xs-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-4 { + margin: 1rem !important; + } + .mt-xs-4 { + margin-top: 1rem !important; + } + .mr-xs-4 { + margin-right: 1rem !important; + } + .mb-xs-4 { + margin-bottom: 1rem !important; + } + .ml-xs-4 { + margin-left: 1rem !important; + } + .mx-xs-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xs-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xs-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-5 { + margin: 1.5rem !important; + } + .mt-xs-5 { + margin-top: 1.5rem !important; + } + .mr-xs-5 { + margin-right: 1.5rem !important; + } + .mb-xs-5 { + margin-bottom: 1.5rem !important; + } + .ml-xs-5 { + margin-left: 1.5rem !important; + } + .mx-xs-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xs-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xs-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-6 { + margin: 2rem !important; + } + .mt-xs-6 { + margin-top: 2rem !important; + } + .mr-xs-6 { + margin-right: 2rem !important; + } + .mb-xs-6 { + margin-bottom: 2rem !important; + } + .ml-xs-6 { + margin-left: 2rem !important; + } + .mx-xs-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xs-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xs-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-7 { + margin: 2.5rem !important; + } + .mt-xs-7 { + margin-top: 2.5rem !important; + } + .mr-xs-7 { + margin-right: 2.5rem !important; + } + .mb-xs-7 { + margin-bottom: 2.5rem !important; + } + .ml-xs-7 { + margin-left: 2.5rem !important; + } + .mx-xs-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xs-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xs-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-8 { + margin: 3rem !important; + } + .mt-xs-8 { + margin-top: 3rem !important; + } + .mr-xs-8 { + margin-right: 3rem !important; + } + .mb-xs-8 { + margin-bottom: 3rem !important; + } + .ml-xs-8 { + margin-left: 3rem !important; + } + .mx-xs-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xs-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xs-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-9 { + margin: 3.5rem !important; + } + .mt-xs-9 { + margin-top: 3.5rem !important; + } + .mr-xs-9 { + margin-right: 3.5rem !important; + } + .mb-xs-9 { + margin-bottom: 3.5rem !important; + } + .ml-xs-9 { + margin-left: 3.5rem !important; + } + .mx-xs-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xs-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xs-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 20rem) { + .m-xs-10 { + margin: 4rem !important; + } + .mt-xs-10 { + margin-top: 4rem !important; + } + .mr-xs-10 { + margin-right: 4rem !important; + } + .mb-xs-10 { + margin-bottom: 4rem !important; + } + .ml-xs-10 { + margin-left: 4rem !important; + } + .mx-xs-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xs-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xs-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0 { + margin-left: 0 !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-sm-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1 { + margin-left: 0.25rem !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-sm-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2 { + margin-left: 0.5rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-sm-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-3 { + margin: 0.75rem !important; + } + .mt-sm-3 { + margin-top: 0.75rem !important; + } + .mr-sm-3 { + margin-right: 0.75rem !important; + } + .mb-sm-3 { + margin-bottom: 0.75rem !important; + } + .ml-sm-3 { + margin-left: 0.75rem !important; + } + .mx-sm-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-sm-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-sm-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-4 { + margin: 1rem !important; + } + .mt-sm-4 { + margin-top: 1rem !important; + } + .mr-sm-4 { + margin-right: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1rem !important; + } + .ml-sm-4 { + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-sm-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-sm-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-5 { + margin: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 1.5rem !important; + } + .mr-sm-5 { + margin-right: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 1.5rem !important; + } + .ml-sm-5 { + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-sm-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-sm-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-6 { + margin: 2rem !important; + } + .mt-sm-6 { + margin-top: 2rem !important; + } + .mr-sm-6 { + margin-right: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 2rem !important; + } + .ml-sm-6 { + margin-left: 2rem !important; + } + .mx-sm-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-sm-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-sm-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-7 { + margin: 2.5rem !important; + } + .mt-sm-7 { + margin-top: 2.5rem !important; + } + .mr-sm-7 { + margin-right: 2.5rem !important; + } + .mb-sm-7 { + margin-bottom: 2.5rem !important; + } + .ml-sm-7 { + margin-left: 2.5rem !important; + } + .mx-sm-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-sm-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-sm-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-8 { + margin: 3rem !important; + } + .mt-sm-8 { + margin-top: 3rem !important; + } + .mr-sm-8 { + margin-right: 3rem !important; + } + .mb-sm-8 { + margin-bottom: 3rem !important; + } + .ml-sm-8 { + margin-left: 3rem !important; + } + .mx-sm-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-sm-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-sm-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-9 { + margin: 3.5rem !important; + } + .mt-sm-9 { + margin-top: 3.5rem !important; + } + .mr-sm-9 { + margin-right: 3.5rem !important; + } + .mb-sm-9 { + margin-bottom: 3.5rem !important; + } + .ml-sm-9 { + margin-left: 3.5rem !important; + } + .mx-sm-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-sm-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-sm-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 31.25rem) { + .m-sm-10 { + margin: 4rem !important; + } + .mt-sm-10 { + margin-top: 4rem !important; + } + .mr-sm-10 { + margin-right: 4rem !important; + } + .mb-sm-10 { + margin-bottom: 4rem !important; + } + .ml-sm-10 { + margin-left: 4rem !important; + } + .mx-sm-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-sm-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-sm-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 50rem) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mr-md-0 { + margin-right: 0 !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0 { + margin-left: 0 !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-md-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 50rem) { + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1 { + margin-left: 0.25rem !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-md-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 50rem) { + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2 { + margin-left: 0.5rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-md-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-3 { + margin: 0.75rem !important; + } + .mt-md-3 { + margin-top: 0.75rem !important; + } + .mr-md-3 { + margin-right: 0.75rem !important; + } + .mb-md-3 { + margin-bottom: 0.75rem !important; + } + .ml-md-3 { + margin-left: 0.75rem !important; + } + .mx-md-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-md-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-md-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 50rem) { + .m-md-4 { + margin: 1rem !important; + } + .mt-md-4 { + margin-top: 1rem !important; + } + .mr-md-4 { + margin-right: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1rem !important; + } + .ml-md-4 { + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-md-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-md-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 50rem) { + .m-md-5 { + margin: 1.5rem !important; + } + .mt-md-5 { + margin-top: 1.5rem !important; + } + .mr-md-5 { + margin-right: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 1.5rem !important; + } + .ml-md-5 { + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-md-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-md-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-6 { + margin: 2rem !important; + } + .mt-md-6 { + margin-top: 2rem !important; + } + .mr-md-6 { + margin-right: 2rem !important; + } + .mb-md-6 { + margin-bottom: 2rem !important; + } + .ml-md-6 { + margin-left: 2rem !important; + } + .mx-md-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-md-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-md-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 50rem) { + .m-md-7 { + margin: 2.5rem !important; + } + .mt-md-7 { + margin-top: 2.5rem !important; + } + .mr-md-7 { + margin-right: 2.5rem !important; + } + .mb-md-7 { + margin-bottom: 2.5rem !important; + } + .ml-md-7 { + margin-left: 2.5rem !important; + } + .mx-md-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-md-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-md-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-8 { + margin: 3rem !important; + } + .mt-md-8 { + margin-top: 3rem !important; + } + .mr-md-8 { + margin-right: 3rem !important; + } + .mb-md-8 { + margin-bottom: 3rem !important; + } + .ml-md-8 { + margin-left: 3rem !important; + } + .mx-md-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-md-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-md-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 50rem) { + .m-md-9 { + margin: 3.5rem !important; + } + .mt-md-9 { + margin-top: 3.5rem !important; + } + .mr-md-9 { + margin-right: 3.5rem !important; + } + .mb-md-9 { + margin-bottom: 3.5rem !important; + } + .ml-md-9 { + margin-left: 3.5rem !important; + } + .mx-md-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-md-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-md-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 50rem) { + .m-md-10 { + margin: 4rem !important; + } + .mt-md-10 { + margin-top: 4rem !important; + } + .mr-md-10 { + margin-right: 4rem !important; + } + .mb-md-10 { + margin-bottom: 4rem !important; + } + .ml-md-10 { + margin-left: 4rem !important; + } + .mx-md-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-md-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-md-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0 { + margin-left: 0 !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-lg-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1 { + margin-left: 0.25rem !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-lg-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2 { + margin-left: 0.5rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-lg-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-3 { + margin: 0.75rem !important; + } + .mt-lg-3 { + margin-top: 0.75rem !important; + } + .mr-lg-3 { + margin-right: 0.75rem !important; + } + .mb-lg-3 { + margin-bottom: 0.75rem !important; + } + .ml-lg-3 { + margin-left: 0.75rem !important; + } + .mx-lg-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-lg-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-lg-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-4 { + margin: 1rem !important; + } + .mt-lg-4 { + margin-top: 1rem !important; + } + .mr-lg-4 { + margin-right: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1rem !important; + } + .ml-lg-4 { + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-lg-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-lg-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-5 { + margin: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 1.5rem !important; + } + .mr-lg-5 { + margin-right: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 1.5rem !important; + } + .ml-lg-5 { + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-lg-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-lg-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-6 { + margin: 2rem !important; + } + .mt-lg-6 { + margin-top: 2rem !important; + } + .mr-lg-6 { + margin-right: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 2rem !important; + } + .ml-lg-6 { + margin-left: 2rem !important; + } + .mx-lg-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-lg-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-lg-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-7 { + margin: 2.5rem !important; + } + .mt-lg-7 { + margin-top: 2.5rem !important; + } + .mr-lg-7 { + margin-right: 2.5rem !important; + } + .mb-lg-7 { + margin-bottom: 2.5rem !important; + } + .ml-lg-7 { + margin-left: 2.5rem !important; + } + .mx-lg-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-lg-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-lg-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-8 { + margin: 3rem !important; + } + .mt-lg-8 { + margin-top: 3rem !important; + } + .mr-lg-8 { + margin-right: 3rem !important; + } + .mb-lg-8 { + margin-bottom: 3rem !important; + } + .ml-lg-8 { + margin-left: 3rem !important; + } + .mx-lg-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-lg-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-lg-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-9 { + margin: 3.5rem !important; + } + .mt-lg-9 { + margin-top: 3.5rem !important; + } + .mr-lg-9 { + margin-right: 3.5rem !important; + } + .mb-lg-9 { + margin-bottom: 3.5rem !important; + } + .ml-lg-9 { + margin-left: 3.5rem !important; + } + .mx-lg-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-lg-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-lg-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 66.5rem) { + .m-lg-10 { + margin: 4rem !important; + } + .mt-lg-10 { + margin-top: 4rem !important; + } + .mr-lg-10 { + margin-right: 4rem !important; + } + .mb-lg-10 { + margin-bottom: 4rem !important; + } + .ml-lg-10 { + margin-left: 4rem !important; + } + .mx-lg-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-lg-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-lg-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0 { + margin-left: 0 !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mxn-xl-0 { + margin-right: -0 !important; + margin-left: -0 !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1 { + margin-left: 0.25rem !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .mxn-xl-1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2 { + margin-left: 0.5rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mxn-xl-2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-3 { + margin: 0.75rem !important; + } + .mt-xl-3 { + margin-top: 0.75rem !important; + } + .mr-xl-3 { + margin-right: 0.75rem !important; + } + .mb-xl-3 { + margin-bottom: 0.75rem !important; + } + .ml-xl-3 { + margin-left: 0.75rem !important; + } + .mx-xl-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + .my-xl-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .mxn-xl-3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-4 { + margin: 1rem !important; + } + .mt-xl-4 { + margin-top: 1rem !important; + } + .mr-xl-4 { + margin-right: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1rem !important; + } + .ml-xl-4 { + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xl-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mxn-xl-4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-5 { + margin: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 1.5rem !important; + } + .mr-xl-5 { + margin-right: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 1.5rem !important; + } + .ml-xl-5 { + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .my-xl-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .mxn-xl-5 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-6 { + margin: 2rem !important; + } + .mt-xl-6 { + margin-top: 2rem !important; + } + .mr-xl-6 { + margin-right: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 2rem !important; + } + .ml-xl-6 { + margin-left: 2rem !important; + } + .mx-xl-6 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xl-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mxn-xl-6 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-7 { + margin: 2.5rem !important; + } + .mt-xl-7 { + margin-top: 2.5rem !important; + } + .mr-xl-7 { + margin-right: 2.5rem !important; + } + .mb-xl-7 { + margin-bottom: 2.5rem !important; + } + .ml-xl-7 { + margin-left: 2.5rem !important; + } + .mx-xl-7 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .my-xl-7 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .mxn-xl-7 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-8 { + margin: 3rem !important; + } + .mt-xl-8 { + margin-top: 3rem !important; + } + .mr-xl-8 { + margin-right: 3rem !important; + } + .mb-xl-8 { + margin-bottom: 3rem !important; + } + .ml-xl-8 { + margin-left: 3rem !important; + } + .mx-xl-8 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .my-xl-8 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .mxn-xl-8 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-9 { + margin: 3.5rem !important; + } + .mt-xl-9 { + margin-top: 3.5rem !important; + } + .mr-xl-9 { + margin-right: 3.5rem !important; + } + .mb-xl-9 { + margin-bottom: 3.5rem !important; + } + .ml-xl-9 { + margin-left: 3.5rem !important; + } + .mx-xl-9 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + .my-xl-9 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + .mxn-xl-9 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } +} +@media (min-width: 87.5rem) { + .m-xl-10 { + margin: 4rem !important; + } + .mt-xl-10 { + margin-top: 4rem !important; + } + .mr-xl-10 { + margin-right: 4rem !important; + } + .mb-xl-10 { + margin-bottom: 4rem !important; + } + .ml-xl-10 { + margin-left: 4rem !important; + } + .mx-xl-10 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xl-10 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mxn-xl-10 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } +} +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pr-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1 { + padding-left: 0.25rem !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pr-2 { + padding-right: 0.5rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2 { + padding-left: 0.5rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pr-3 { + padding-right: 0.75rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pl-3 { + padding-left: 0.75rem !important; +} + +.px-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pr-4 { + padding-right: 1rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pl-4 { + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.p-5 { + padding: 1.5rem !important; +} + +.pt-5 { + padding-top: 1.5rem !important; +} + +.pr-5 { + padding-right: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 1.5rem !important; +} + +.pl-5 { + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.p-6 { + padding: 2rem !important; +} + +.pt-6 { + padding-top: 2rem !important; +} + +.pr-6 { + padding-right: 2rem !important; +} + +.pb-6 { + padding-bottom: 2rem !important; +} + +.pl-6 { + padding-left: 2rem !important; +} + +.px-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.p-7 { + padding: 2.5rem !important; +} + +.pt-7 { + padding-top: 2.5rem !important; +} + +.pr-7 { + padding-right: 2.5rem !important; +} + +.pb-7 { + padding-bottom: 2.5rem !important; +} + +.pl-7 { + padding-left: 2.5rem !important; +} + +.px-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; +} + +.py-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; +} + +.p-8 { + padding: 3rem !important; +} + +.pt-8 { + padding-top: 3rem !important; +} + +.pr-8 { + padding-right: 3rem !important; +} + +.pb-8 { + padding-bottom: 3rem !important; +} + +.pl-8 { + padding-left: 3rem !important; +} + +.px-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.p-9 { + padding: 3.5rem !important; +} + +.pt-9 { + padding-top: 3.5rem !important; +} + +.pr-9 { + padding-right: 3.5rem !important; +} + +.pb-9 { + padding-bottom: 3.5rem !important; +} + +.pl-9 { + padding-left: 3.5rem !important; +} + +.px-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; +} + +.py-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; +} + +.p-10 { + padding: 4rem !important; +} + +.pt-10 { + padding-top: 4rem !important; +} + +.pr-10 { + padding-right: 4rem !important; +} + +.pb-10 { + padding-bottom: 4rem !important; +} + +.pl-10 { + padding-left: 4rem !important; +} + +.px-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; +} + +.py-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} + +@media (min-width: 20rem) { + .p-xs-0 { + padding: 0 !important; + } + .pt-xs-0 { + padding-top: 0 !important; + } + .pr-xs-0 { + padding-right: 0 !important; + } + .pb-xs-0 { + padding-bottom: 0 !important; + } + .pl-xs-0 { + padding-left: 0 !important; + } + .px-xs-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xs-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xs-1 { + padding: 0.25rem !important; + } + .pt-xs-1 { + padding-top: 0.25rem !important; + } + .pr-xs-1 { + padding-right: 0.25rem !important; + } + .pb-xs-1 { + padding-bottom: 0.25rem !important; + } + .pl-xs-1 { + padding-left: 0.25rem !important; + } + .px-xs-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xs-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xs-2 { + padding: 0.5rem !important; + } + .pt-xs-2 { + padding-top: 0.5rem !important; + } + .pr-xs-2 { + padding-right: 0.5rem !important; + } + .pb-xs-2 { + padding-bottom: 0.5rem !important; + } + .pl-xs-2 { + padding-left: 0.5rem !important; + } + .px-xs-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xs-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xs-3 { + padding: 0.75rem !important; + } + .pt-xs-3 { + padding-top: 0.75rem !important; + } + .pr-xs-3 { + padding-right: 0.75rem !important; + } + .pb-xs-3 { + padding-bottom: 0.75rem !important; + } + .pl-xs-3 { + padding-left: 0.75rem !important; + } + .px-xs-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xs-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xs-4 { + padding: 1rem !important; + } + .pt-xs-4 { + padding-top: 1rem !important; + } + .pr-xs-4 { + padding-right: 1rem !important; + } + .pb-xs-4 { + padding-bottom: 1rem !important; + } + .pl-xs-4 { + padding-left: 1rem !important; + } + .px-xs-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xs-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xs-5 { + padding: 1.5rem !important; + } + .pt-xs-5 { + padding-top: 1.5rem !important; + } + .pr-xs-5 { + padding-right: 1.5rem !important; + } + .pb-xs-5 { + padding-bottom: 1.5rem !important; + } + .pl-xs-5 { + padding-left: 1.5rem !important; + } + .px-xs-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xs-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xs-6 { + padding: 2rem !important; + } + .pt-xs-6 { + padding-top: 2rem !important; + } + .pr-xs-6 { + padding-right: 2rem !important; + } + .pb-xs-6 { + padding-bottom: 2rem !important; + } + .pl-xs-6 { + padding-left: 2rem !important; + } + .px-xs-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xs-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xs-7 { + padding: 2.5rem !important; + } + .pt-xs-7 { + padding-top: 2.5rem !important; + } + .pr-xs-7 { + padding-right: 2.5rem !important; + } + .pb-xs-7 { + padding-bottom: 2.5rem !important; + } + .pl-xs-7 { + padding-left: 2.5rem !important; + } + .px-xs-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xs-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xs-8 { + padding: 3rem !important; + } + .pt-xs-8 { + padding-top: 3rem !important; + } + .pr-xs-8 { + padding-right: 3rem !important; + } + .pb-xs-8 { + padding-bottom: 3rem !important; + } + .pl-xs-8 { + padding-left: 3rem !important; + } + .px-xs-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xs-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xs-9 { + padding: 3.5rem !important; + } + .pt-xs-9 { + padding-top: 3.5rem !important; + } + .pr-xs-9 { + padding-right: 3.5rem !important; + } + .pb-xs-9 { + padding-bottom: 3.5rem !important; + } + .pl-xs-9 { + padding-left: 3.5rem !important; + } + .px-xs-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xs-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xs-10 { + padding: 4rem !important; + } + .pt-xs-10 { + padding-top: 4rem !important; + } + .pr-xs-10 { + padding-right: 4rem !important; + } + .pb-xs-10 { + padding-bottom: 4rem !important; + } + .pl-xs-10 { + padding-left: 4rem !important; + } + .px-xs-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xs-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 31.25rem) { + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0 { + padding-left: 0 !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1 { + padding-left: 0.25rem !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2 { + padding-left: 0.5rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-sm-3 { + padding: 0.75rem !important; + } + .pt-sm-3 { + padding-top: 0.75rem !important; + } + .pr-sm-3 { + padding-right: 0.75rem !important; + } + .pb-sm-3 { + padding-bottom: 0.75rem !important; + } + .pl-sm-3 { + padding-left: 0.75rem !important; + } + .px-sm-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-sm-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-sm-4 { + padding: 1rem !important; + } + .pt-sm-4 { + padding-top: 1rem !important; + } + .pr-sm-4 { + padding-right: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1rem !important; + } + .pl-sm-4 { + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-sm-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-sm-5 { + padding: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 1.5rem !important; + } + .pr-sm-5 { + padding-right: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 1.5rem !important; + } + .pl-sm-5 { + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-sm-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-sm-6 { + padding: 2rem !important; + } + .pt-sm-6 { + padding-top: 2rem !important; + } + .pr-sm-6 { + padding-right: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 2rem !important; + } + .pl-sm-6 { + padding-left: 2rem !important; + } + .px-sm-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-sm-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-sm-7 { + padding: 2.5rem !important; + } + .pt-sm-7 { + padding-top: 2.5rem !important; + } + .pr-sm-7 { + padding-right: 2.5rem !important; + } + .pb-sm-7 { + padding-bottom: 2.5rem !important; + } + .pl-sm-7 { + padding-left: 2.5rem !important; + } + .px-sm-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-sm-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-sm-8 { + padding: 3rem !important; + } + .pt-sm-8 { + padding-top: 3rem !important; + } + .pr-sm-8 { + padding-right: 3rem !important; + } + .pb-sm-8 { + padding-bottom: 3rem !important; + } + .pl-sm-8 { + padding-left: 3rem !important; + } + .px-sm-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-sm-9 { + padding: 3.5rem !important; + } + .pt-sm-9 { + padding-top: 3.5rem !important; + } + .pr-sm-9 { + padding-right: 3.5rem !important; + } + .pb-sm-9 { + padding-bottom: 3.5rem !important; + } + .pl-sm-9 { + padding-left: 3.5rem !important; + } + .px-sm-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-sm-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-sm-10 { + padding: 4rem !important; + } + .pt-sm-10 { + padding-top: 4rem !important; + } + .pr-sm-10 { + padding-right: 4rem !important; + } + .pb-sm-10 { + padding-bottom: 4rem !important; + } + .pl-sm-10 { + padding-left: 4rem !important; + } + .px-sm-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-sm-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 50rem) { + .p-md-0 { + padding: 0 !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pr-md-0 { + padding-right: 0 !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0 { + padding-left: 0 !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1 { + padding-left: 0.25rem !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2 { + padding-left: 0.5rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-md-3 { + padding: 0.75rem !important; + } + .pt-md-3 { + padding-top: 0.75rem !important; + } + .pr-md-3 { + padding-right: 0.75rem !important; + } + .pb-md-3 { + padding-bottom: 0.75rem !important; + } + .pl-md-3 { + padding-left: 0.75rem !important; + } + .px-md-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-md-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-md-4 { + padding: 1rem !important; + } + .pt-md-4 { + padding-top: 1rem !important; + } + .pr-md-4 { + padding-right: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1rem !important; + } + .pl-md-4 { + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-md-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-md-5 { + padding: 1.5rem !important; + } + .pt-md-5 { + padding-top: 1.5rem !important; + } + .pr-md-5 { + padding-right: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 1.5rem !important; + } + .pl-md-5 { + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-md-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-md-6 { + padding: 2rem !important; + } + .pt-md-6 { + padding-top: 2rem !important; + } + .pr-md-6 { + padding-right: 2rem !important; + } + .pb-md-6 { + padding-bottom: 2rem !important; + } + .pl-md-6 { + padding-left: 2rem !important; + } + .px-md-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-md-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-md-7 { + padding: 2.5rem !important; + } + .pt-md-7 { + padding-top: 2.5rem !important; + } + .pr-md-7 { + padding-right: 2.5rem !important; + } + .pb-md-7 { + padding-bottom: 2.5rem !important; + } + .pl-md-7 { + padding-left: 2.5rem !important; + } + .px-md-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-md-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-md-8 { + padding: 3rem !important; + } + .pt-md-8 { + padding-top: 3rem !important; + } + .pr-md-8 { + padding-right: 3rem !important; + } + .pb-md-8 { + padding-bottom: 3rem !important; + } + .pl-md-8 { + padding-left: 3rem !important; + } + .px-md-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-md-9 { + padding: 3.5rem !important; + } + .pt-md-9 { + padding-top: 3.5rem !important; + } + .pr-md-9 { + padding-right: 3.5rem !important; + } + .pb-md-9 { + padding-bottom: 3.5rem !important; + } + .pl-md-9 { + padding-left: 3.5rem !important; + } + .px-md-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-md-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-md-10 { + padding: 4rem !important; + } + .pt-md-10 { + padding-top: 4rem !important; + } + .pr-md-10 { + padding-right: 4rem !important; + } + .pb-md-10 { + padding-bottom: 4rem !important; + } + .pl-md-10 { + padding-left: 4rem !important; + } + .px-md-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-md-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 66.5rem) { + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0 { + padding-left: 0 !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1 { + padding-left: 0.25rem !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2 { + padding-left: 0.5rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-lg-3 { + padding: 0.75rem !important; + } + .pt-lg-3 { + padding-top: 0.75rem !important; + } + .pr-lg-3 { + padding-right: 0.75rem !important; + } + .pb-lg-3 { + padding-bottom: 0.75rem !important; + } + .pl-lg-3 { + padding-left: 0.75rem !important; + } + .px-lg-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-lg-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-lg-4 { + padding: 1rem !important; + } + .pt-lg-4 { + padding-top: 1rem !important; + } + .pr-lg-4 { + padding-right: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1rem !important; + } + .pl-lg-4 { + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-lg-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-lg-5 { + padding: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 1.5rem !important; + } + .pr-lg-5 { + padding-right: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 1.5rem !important; + } + .pl-lg-5 { + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-lg-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-lg-6 { + padding: 2rem !important; + } + .pt-lg-6 { + padding-top: 2rem !important; + } + .pr-lg-6 { + padding-right: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 2rem !important; + } + .pl-lg-6 { + padding-left: 2rem !important; + } + .px-lg-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-lg-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-lg-7 { + padding: 2.5rem !important; + } + .pt-lg-7 { + padding-top: 2.5rem !important; + } + .pr-lg-7 { + padding-right: 2.5rem !important; + } + .pb-lg-7 { + padding-bottom: 2.5rem !important; + } + .pl-lg-7 { + padding-left: 2.5rem !important; + } + .px-lg-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-lg-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-lg-8 { + padding: 3rem !important; + } + .pt-lg-8 { + padding-top: 3rem !important; + } + .pr-lg-8 { + padding-right: 3rem !important; + } + .pb-lg-8 { + padding-bottom: 3rem !important; + } + .pl-lg-8 { + padding-left: 3rem !important; + } + .px-lg-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-lg-9 { + padding: 3.5rem !important; + } + .pt-lg-9 { + padding-top: 3.5rem !important; + } + .pr-lg-9 { + padding-right: 3.5rem !important; + } + .pb-lg-9 { + padding-bottom: 3.5rem !important; + } + .pl-lg-9 { + padding-left: 3.5rem !important; + } + .px-lg-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-lg-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-lg-10 { + padding: 4rem !important; + } + .pt-lg-10 { + padding-top: 4rem !important; + } + .pr-lg-10 { + padding-right: 4rem !important; + } + .pb-lg-10 { + padding-bottom: 4rem !important; + } + .pl-lg-10 { + padding-left: 4rem !important; + } + .px-lg-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-lg-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media (min-width: 87.5rem) { + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0 { + padding-left: 0 !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1 { + padding-left: 0.25rem !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2 { + padding-left: 0.5rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .p-xl-3 { + padding: 0.75rem !important; + } + .pt-xl-3 { + padding-top: 0.75rem !important; + } + .pr-xl-3 { + padding-right: 0.75rem !important; + } + .pb-xl-3 { + padding-bottom: 0.75rem !important; + } + .pl-xl-3 { + padding-left: 0.75rem !important; + } + .px-xl-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + .py-xl-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .p-xl-4 { + padding: 1rem !important; + } + .pt-xl-4 { + padding-top: 1rem !important; + } + .pr-xl-4 { + padding-right: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1rem !important; + } + .pl-xl-4 { + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xl-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .p-xl-5 { + padding: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 1.5rem !important; + } + .pr-xl-5 { + padding-right: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 1.5rem !important; + } + .pl-xl-5 { + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .py-xl-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .p-xl-6 { + padding: 2rem !important; + } + .pt-xl-6 { + padding-top: 2rem !important; + } + .pr-xl-6 { + padding-right: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 2rem !important; + } + .pl-xl-6 { + padding-left: 2rem !important; + } + .px-xl-6 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xl-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .p-xl-7 { + padding: 2.5rem !important; + } + .pt-xl-7 { + padding-top: 2.5rem !important; + } + .pr-xl-7 { + padding-right: 2.5rem !important; + } + .pb-xl-7 { + padding-bottom: 2.5rem !important; + } + .pl-xl-7 { + padding-left: 2.5rem !important; + } + .px-xl-7 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xl-7 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .p-xl-8 { + padding: 3rem !important; + } + .pt-xl-8 { + padding-top: 3rem !important; + } + .pr-xl-8 { + padding-right: 3rem !important; + } + .pb-xl-8 { + padding-bottom: 3rem !important; + } + .pl-xl-8 { + padding-left: 3rem !important; + } + .px-xl-8 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-8 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .p-xl-9 { + padding: 3.5rem !important; + } + .pt-xl-9 { + padding-top: 3.5rem !important; + } + .pr-xl-9 { + padding-right: 3.5rem !important; + } + .pb-xl-9 { + padding-bottom: 3.5rem !important; + } + .pl-xl-9 { + padding-left: 3.5rem !important; + } + .px-xl-9 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + .py-xl-9 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + .p-xl-10 { + padding: 4rem !important; + } + .pt-xl-10 { + padding-top: 4rem !important; + } + .pr-xl-10 { + padding-right: 4rem !important; + } + .pb-xl-10 { + padding-bottom: 4rem !important; + } + .pl-xl-10 { + padding-left: 4rem !important; + } + .px-xl-10 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xl-10 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } +} +@media print { + .site-footer, + .site-button, + #edit-this-page, + #back-to-top, + .site-nav, + .main-header { + display: none !important; + } + hr { + margin-top: 1rem; + margin-bottom: 1rem; + } + .side-bar { + width: 100%; + height: auto; + border-right: 0 !important; + /* Disable display: flex and position: fixed from non-print styles */ + position: static; + display: block; + } + .site-header { + border-bottom: 1px solid #eeebee; + } + .site-title { + font-size: 1rem !important; + font-weight: 700 !important; + } + .text-small { + font-size: 8pt !important; + } + pre.highlight { + border: 1px solid #eeebee; + } + .main { + max-width: none; + margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */ + } +} +a.skip-to-main { + left: -999px; + position: absolute; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; + z-index: -999; +} + +a.skip-to-main:focus, +a.skip-to-main:active { + color: #7253ed; + background-color: #fff; + left: auto; + top: auto; + width: 30%; + height: auto; + overflow: auto; + margin: 10px 35%; + padding: 5px; + border-radius: 15px; + border: 4px solid #5e41d0; + text-align: center; + font-size: 1.2em; + z-index: 999; +} + +div.opaque { + background-color: #fff; +} + +p.note, blockquote.note { + border: 1px #2c84fa solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note::before, blockquote.note::before { + color: #183385; + content: "Note"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.note > .note-title, blockquote.note > .note-title { + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.note-title, blockquote.note-title { + border: 1px #2c84fa solid; + border-left: 4px solid #183385; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.note-title > p:first-child, blockquote.note-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #183385; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.note { + margin-left: 0; + margin-right: 0; +} +blockquote.note > p:first-child { + margin-top: 0; +} +blockquote.note > p:last-child { + margin-bottom: 0; +} + +blockquote.note-title { + margin-left: 0; + margin-right: 0; +} +blockquote.note-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.note-title > p:last-child { + margin-bottom: 0; +} + +p.warning, blockquote.warning { + border: 1px #f77e7e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning::before, blockquote.warning::before { + color: #dd2e2e; + content: "Warning"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.warning > .warning-title, blockquote.warning > .warning-title { + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.warning-title, blockquote.warning-title { + border: 1px #f77e7e solid; + border-left: 4px solid #dd2e2e; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.warning-title > p:first-child, blockquote.warning-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #dd2e2e; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.warning { + margin-left: 0; + margin-right: 0; +} +blockquote.warning > p:first-child { + margin-top: 0; +} +blockquote.warning > p:last-child { + margin-bottom: 0; +} + +blockquote.warning-title { + margin-left: 0; + margin-right: 0; +} +blockquote.warning-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.warning-title > p:last-child { + margin-bottom: 0; +} + +p.tip, blockquote.tip { + border: 1px #41d693 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip::before, blockquote.tip::before { + color: #026e57; + content: "Tip"; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} +p.tip > .tip-title, blockquote.tip > .tip-title { + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +p.tip-title, blockquote.tip-title { + border: 1px #41d693 solid; + border-left: 4px solid #026e57; + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); + padding: 0.8rem; +} +p.tip-title > p:first-child, blockquote.tip-title > p:first-child { + margin-top: 0; + margin-bottom: 0; + color: #026e57; + display: block; + font-weight: bold; + text-transform: uppercase; + font-size: 0.75em; + padding-bottom: 0.125rem; +} + +blockquote.tip { + margin-left: 0; + margin-right: 0; +} +blockquote.tip > p:first-child { + margin-top: 0; +} +blockquote.tip > p:last-child { + margin-bottom: 0; +} + +blockquote.tip-title { + margin-left: 0; + margin-right: 0; +} +blockquote.tip-title > p:nth-child(2) { + margin-top: 0; +} +blockquote.tip-title > p:last-child { + margin-bottom: 0; +} + +/*# sourceMappingURL=just-the-docs-light.css.map */ \ No newline at end of file diff --git a/docs/_site/assets/css/just-the-docs-light.css.map b/docs/_site/assets/css/just-the-docs-light.css.map new file mode 100644 index 0000000..82f5d83 --- /dev/null +++ b/docs/_site/assets/css/just-the-docs-light.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-light.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIUY;EJTZ,kBIOM;EJNN;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIlBY;;;AJqBd;EACE;EACA;;;AAGF;EACE,OItBW;EJuBX;;;AAGF;EACE;EACA,uBI/BY;EJgCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBI/DY;EJgEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD6BY;;ADrBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDJQ;;ADrBV;EEuBA;IAKI;IACA,kBDdA;;;ACiBF;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODpGY;ECqGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OD1KW;;;AElCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OF5IO;EE6IP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,OHxCO;EGyCP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHjFI;;AGoFN;EACE,OHrFI;;AG2FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,OH9HG;;AGiIL;EACE,OHlIG;;;AG2Ib;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ON2BW;EM1BX;EACA;EACA;EACA,kBTTkB;ESUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,ONnCW;EMoCX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORhBY;EQiBZ,kBRnBM;EQoBN;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBR7BI;IQ8BJ;;;AAGF;EACE;;AAEA;EACE,OR3BO;;;AQgCb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRpEM;EQqEN,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX5Ha;;;AWgIjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,ORlIS;EQmIT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OR5JY;EQ6JZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORxKY;EQyKZ;EACA,aR/GO;EQgHP,mBRtKY;;AFpBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBR7MM;EQ8MN;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBR7PI;;ADfJ;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTIM;ESHN;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBVmBI;EUlBJ;EACA,eV+EY;;;AU1EhB;EACE,cVkBY;;;AUiCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBV7CM;EU8CN,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OV7DU;EU8DV;;AAEA;AAAA;AAAA;EACE,MVjEQ;;AUoEV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBV3JI;EU4JJ;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YV9MM;EUmNJ,OVjNU;;;AUsNd;EACE,YVzNM;;;AWzBR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OjBwBW;EiBvBX,kBjBaM;EiBZN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACtBF;EACE,kBlBsBM;;;AkBnBR;EACI;EACA;EACA,elB8EY;EkB7EZ;EACA;;AAEA;EACI,OlB4BG;EkB3BH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBkBK;EkBjBL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBmDY;EkBlDZ;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBKY;EkBJZ;EACA;;AAEA;EACI,OlBjCE;EkBkCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB3CI;EkB4CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBtBY;EkBuBZ;EACA;;AACA;EACE;EACA;EACA,OlB7DI;EkB8DJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBpEY;EkBqEZ;EACA;;AAEA;EACI,OlBlHI;EkBmHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB5HM;EkB6HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elB/FY;EkBgGZ;EACA;;AACA;EACE;EACA;EACA,OlB9IM;EkB+IN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n appearance: auto; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n color-scheme: $color-scheme;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml {\n scroll-behavior: smooth;\n\n @include fs-4;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: underline;\n text-decoration-color: $border-color;\n text-underline-offset: 2px;\n\n &:hover {\n text-decoration-color: rgba($link-color, 0.45);\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n margin: 10px 0;\n\n // resets user-agent stylesheets for blockquotes\n margin-block-start: 0;\n margin-inline-start: 0;\n padding-left: 1rem;\n border-left: 3px solid $border-color;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n & {\n font-size: $font-size-1 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-1-sm !important;\n }\n}\n\n@mixin fs-2 {\n & {\n font-size: $font-size-2 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-3 !important;\n }\n}\n\n@mixin fs-3 {\n & {\n font-size: $font-size-3 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-4 !important;\n }\n}\n\n@mixin fs-4 {\n & {\n font-size: $font-size-4 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-5 !important;\n }\n}\n\n@mixin fs-5 {\n & {\n font-size: $font-size-5 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-6 !important;\n }\n}\n\n@mixin fs-6 {\n & {\n font-size: $font-size-6 !important;\n }\n\n @include mq(sm) {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n & {\n font-size: $font-size-7 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-8 !important;\n }\n}\n\n@mixin fs-8 {\n & {\n font-size: $font-size-8 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-9 !important;\n }\n}\n\n@mixin fs-9 {\n & {\n font-size: $font-size-9 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10 !important;\n }\n}\n\n@mixin fs-10 {\n & {\n font-size: $font-size-10 !important;\n line-height: $body-heading-line-height;\n }\n\n @include mq(sm) {\n font-size: $font-size-10-sm !important;\n }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n xs: 20rem,\n sm: 31.25rem,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-flow: column nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n\n & + .main {\n @include mq(md) {\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n // stylelint-disable function-name-case\n // disable for Max(), we want to use the CSS max() function\n margin-left: Max(\n #{$nav-width},\n calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n );\n // stylelint-enable function-name-case\n }\n\n .main-header {\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n background-color: $body-background-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n }\n }\n}\n\n.main {\n margin: auto;\n\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n }\n}\n\n.main-content-wrap {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include container;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n border-bottom: $border $border-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include container;\n\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n.site-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n\n @include container;\n\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n > li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list-item {\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n margin-left: -1.4em;\n\n // The same margin-left is used above for ul > li::before\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template: auto / 10em 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n grid-column: 1;\n font-weight: 500;\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n grid-column: 2;\n margin-bottom: 0;\n margin-left: 1em;\n\n blockquote,\n div,\n dl,\n dt,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n li,\n ol,\n p,\n pre,\n table,\n ul,\n .table-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n dd,\n ol,\n ul {\n dl:first-child {\n dt:first-child,\n dd:nth-child(2) {\n margin-top: 0;\n }\n }\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n .anchor-heading:focus,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n #toctitle {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge,\n + .sectionbody .listingblock {\n margin-top: 1em;\n }\n\n + p:not(.label) {\n margin-top: 0;\n }\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child,\n > .sect1:first-child > h2,\n > .sect2:first-child > h3,\n > .sect3:first-child > h4,\n > .sect4:first-child > h5,\n > .sect5:first-child > h6 {\n margin-top: $sp-2;\n }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n margin: 0;\n\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.external > svg {\n width: $sp-4;\n height: $sp-4;\n vertical-align: text-bottom;\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n color: darken($link-color, 5%);\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding: #{$nav-list-item-height-sm * 0.25};\n color: $link-color;\n outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding: #{$nav-list-item-height * 0.25};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n.nav-category {\n padding: $sp-2 $gutter-spacing-sm;\n font-weight: 600;\n text-align: start;\n text-transform: uppercase;\n border-bottom: $border $border-color;\n @include fs-2;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing;\n margin-top: $gutter-spacing-sm;\n text-align: start;\n\n &:first-child {\n margin-top: 0;\n }\n }\n}\n\n.nav-list.nav-category-list {\n > .nav-list-item {\n margin: 0;\n\n > .nav-list {\n padding: 0;\n\n > .nav-list-item {\n > .nav-list-link {\n color: $link-color;\n }\n\n > .nav-list-expander {\n color: $link-color;\n }\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n font-weight: 300;\n\n @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n @include fs-2;\n}\n\nh4 code {\n text-transform: none;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n display: inline-block;\n padding: 0.16em 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n border-radius: 12px;\n\n @include fs-2;\n}\n\n.label-green:not(g) {\n background-color: $green-300;\n}\n\n.label-purple:not(g) {\n background-color: $purple-100;\n}\n\n.label-red:not(g) {\n background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding: 0.3em 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow:\n inset 0 0 0 2px $grey-dk-100,\n 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n background: none;\n border: none;\n margin: 0;\n text-align: inherit;\n font: inherit;\n border-radius: 0;\n appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.25),\n 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n","// Search input and autocomplete\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration * 0.5};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n font-size: 1rem;\n color: $body-text-color;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n font-size: 0.875rem;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n &:focus {\n outline-offset: -1px;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration * 0.5};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding: $sp-1 $sp-3;\n outline-offset: -1px;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n overflow-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n overflow-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding: $sp-2 $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 * 0.5};\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition:\n opacity ease $transition-duration,\n width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: 2.3rem;\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: 0.6rem;\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition:\n opacity ease $transition-duration,\n width 0s,\n height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow:\n 0 1px 2px rgba(0, 0, 0, 0.12),\n 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n min-width: 7.5rem;\n padding: $sp-2 $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n @include fs-3;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n & > code {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n// div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.rouge-gutter.gl > pre.lineno\n// | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n// figure.highlight > pre > code.language-LANG\n// > div.table-wrapper > table.rouge-table > tbody > tr\n// > td.gutter.gl > pre.lineno\n// | td.code > pre\n//\n// ----...---- (AsciiDoc)\n// div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n// ----\n// ...\n// ----\n\n// the code may appear with 3 different types:\n// container \\ case: default case, code with line number, code with html rendering\n// top level: div.highlighter-rouge, figure.highlight, figure.highlight\n// second level: div.highlight, div.table-wrapper, pre.highlight\n// third level: pre.highlight, td.code, absent\n// last level: code, pre, code (optionality)\n// highlighter level: span, span, span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n margin-top: 0;\n margin-bottom: $sp-3;\n background-color: $code-background-color;\n border-radius: $border-radius;\n box-shadow: none;\n -webkit-overflow-scrolling: touch;\n position: relative;\n padding: 0;\n\n // copy button (or other button)\n // the button appear only when there is a hover on the code or focus on button\n > button {\n width: $sp-3;\n opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n padding: $sp-3;\n border: none;\n background: none;\n color: $body-text-color;\n box-sizing: content-box;\n\n svg {\n fill: $body-text-color;\n }\n\n &:active {\n text-decoration: none;\n outline: none;\n opacity: 1;\n }\n\n &:focus {\n opacity: 1;\n outline: 2px solid $link-color;\n }\n }\n\n // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n &:hover {\n > button {\n cursor: copy;\n opacity: 1;\n }\n }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n #{$code-div} {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n\n #{$pre-select},\n code {\n padding: 0;\n margin: 0;\n border: 0;\n }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n margin-top: 0;\n margin-bottom: $sp-3;\n\n @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n pre,\n :not(pre) > code {\n overflow-x: auto;\n padding: $sp-3;\n margin: 0;\n border: 1px solid $body-text-color;\n border-radius: $border-radius;\n }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n padding: $sp-3 0;\n margin: 0;\n border: 0;\n box-shadow: none;\n\n td,\n pre {\n min-width: 0;\n padding: 0;\n background-color: $code-background-color;\n border: 0;\n\n @include fs-2;\n }\n\n td.gl {\n width: 1em;\n padding-right: $sp-3;\n padding-left: $sp-3;\n }\n\n pre {\n margin: 0;\n line-height: 2;\n }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + .sectionbody .listingblock,\n + .content,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n padding: 0;\n background-color: inherit;\n border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n background: $code-background-color; // Code Background\n // For Backwards Compatibility Before $code-linenumber-color was added\n @if variable-exists(code-linenumber-color) {\n color: $code-linenumber-color; // Code Line Numbers\n } @else {\n color: $body-text-color; // Code Line Numbers\n }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n\n.v-align-middle {\n vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n\n.v-align-top {\n vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n\n /* Disable display: flex and position: fixed from non-print styles */\n position: static;\n display: block;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: 1rem !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n left: -999px;\n position: absolute;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n color: $link-color;\n background-color: $body-background-color;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow: auto;\n margin: 10px 35%;\n padding: 5px;\n border-radius: 15px;\n border: 4px solid $btn-primary-color;\n text-align: center;\n font-size: 1.2em;\n z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./modules\";\ndiv.opaque {\n background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $blue-300;\n content: \"Note\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .note-title {\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.note-title, blockquote.note-title {\n border: 1px $blue-000 solid;\n border-left: $border-radius solid $blue-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $blue-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.note {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.note-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.warning, blockquote.warning {\n border: 1px $red-000 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $red-300;\n content: \"Warning\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .warning-title {\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.warning-title, blockquote.warning-title {\n border: 1px $red-000 solid;\n border-left: $border-radius solid $red-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $red-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.warning {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.warning-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n\np.tip, blockquote.tip {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n \n &::before {\n color: $green-300;\n content: \"Tip\";\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n \n > .tip-title {\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\np.tip-title, blockquote.tip-title {\n border: 1px $green-000 solid;\n border-left: $border-radius solid $green-300;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n padding: .8rem;\n > p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n color: $green-300;\n display: block;\n font-weight: bold;\n text-transform: uppercase;\n font-size: .75em;\n padding-bottom: .125rem;\n }\n}\n\nblockquote.tip {\n margin-left: 0;\n margin-right: 0;\n\n > p:first-child {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\nblockquote.tip-title {\n margin-left: 0;\n margin-right: 0;\n\n > p:nth-child(2) {\n margin-top: 0;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-light.css"} \ No newline at end of file diff --git a/docs/_site/assets/js/just-the-docs.js b/docs/_site/assets/js/just-the-docs.js new file mode 100644 index 0000000..70e2be1 --- /dev/null +++ b/docs/_site/assets/js/just-the-docs.js @@ -0,0 +1,603 @@ +(function (jtd, undefined) { + +// Event handling + +jtd.addEvent = function(el, type, handler) { + if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler); +} +jtd.removeEvent = function(el, type, handler) { + if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); +} +jtd.onReady = function(ready) { + // in case the document is already rendered + if (document.readyState!='loading') ready(); + // modern browsers + else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready); + // IE <= 8 + else document.attachEvent('onreadystatechange', function(){ + if (document.readyState=='complete') ready(); + }); +} + +// Show/hide mobile menu + +function initNav() { + jtd.addEvent(document, 'click', function(e){ + var target = e.target; + while (target && !(target.classList && target.classList.contains('nav-list-expander'))) { + target = target.parentNode; + } + if (target) { + e.preventDefault(); + target.ariaExpanded = target.parentNode.classList.toggle('active'); + } + }); + + const siteNav = document.getElementById('site-nav'); + const mainHeader = document.getElementById('main-header'); + const menuButton = document.getElementById('menu-button'); + + disableHeadStyleSheets(); + + jtd.addEvent(menuButton, 'click', function(e){ + e.preventDefault(); + + if (menuButton.classList.toggle('nav-open')) { + siteNav.classList.add('nav-open'); + mainHeader.classList.add('nav-open'); + menuButton.ariaExpanded = true; + } else { + siteNav.classList.remove('nav-open'); + mainHeader.classList.remove('nav-open'); + menuButton.ariaExpanded = false; + } + }); +} + +// The element is assumed to include the following stylesheets: +// - a to /assets/css/just-the-docs-head-nav.css, +// with id 'jtd-head-nav-stylesheet' +// - a Condition Processor | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Condition Processor

The Condition Processor provides declarative authorization and validation for controller methods using PHP 8 attributes. It integrates with the DI container’s resolveMethod() to evaluate conditions before a method executes.

Overview

flowchart TD
+    Resolve["resolveMethod()"] --> Scan["Scan attributes"]
+    Scan --> Collect["Collect PreConditions<br/>remove SkipConditions"]
+    Collect --> Check{"Conditions<br/>remaining?"}
+    Check -->|No| Execute["Execute method"]
+    Check -->|Yes| Eval{"process(ctx)<br/>returns null?"}
+    Eval -->|All pass| Execute
+    Eval -->|Non-null| Interrupt["Return interrupt value"]
+

Attributes

#[PreCondition]

Marks a method (or class) with a condition that must pass before execution:

use Cubex\Attributes\PreCondition;
+
+class AdminController extends Controller
+{
+  #[PreCondition(RequiresAuth::class)]
+  #[PreCondition(RequiresRole::class, ['admin'])]
+  public function getUsers(): Response
+  {
+    return new JsonResponse($this->listUsers());
+  }
+}
+

The attribute accepts:

  • $class — The fully qualified class name implementing ConditionResult
  • $args (optional) — Constructor arguments passed when instantiating the condition

#[SkipCondition]

Exempts a method from a specific PreCondition. This is useful when a class-level condition should not apply to certain methods:

#[PreCondition(RequiresAuth::class)]
+class DashboardController extends Controller
+{
+  public function getIndex(): Response
+  {
+    // RequiresAuth IS evaluated
+    return new TextResponse('Dashboard');
+  }
+
+  #[SkipCondition(RequiresAuth::class)]
+  public function getHealthCheck(): Response
+  {
+    // RequiresAuth is SKIPPED
+    return new TextResponse('OK');
+  }
+}
+

Both attributes are repeatable (IS_REPEATABLE) and can target any element (TARGET_ALL).

Implementing ConditionResult

Create a condition by implementing the ConditionResult interface:

use Cubex\Attributes\ConditionResult;
+use Packaged\Context\Context;
+
+class RequiresAuth implements ConditionResult
+{
+  public function process(Context $ctx): mixed
+  {
+    if ($ctx->request()->headers->has('Authorization'))
+    {
+      return null; // Allow execution to proceed
+    }
+
+    // Interrupt — this value becomes the method's return
+    return new Response('Unauthorized', 401);
+  }
+}
+

The process() method:

  • Returns null to allow execution to continue
  • Returns any non-null value to interrupt execution — the returned value replaces the method’s normal return value

Conditions with Arguments

Pass constructor arguments via the attribute:

class RequiresRole implements ConditionResult
+{
+  public function __construct(private string $role)
+  {
+  }
+
+  public function process(Context $ctx): mixed
+  {
+    $user = $ctx->meta()->get('user');
+    if ($user && $user->hasRole($this->role))
+    {
+      return null;
+    }
+    return new Response('Forbidden', 403);
+  }
+}
+
#[PreCondition(RequiresRole::class, ['admin'])]
+public function getAdminPanel(): Response
+{
+  // Only accessible to users with the 'admin' role
+}
+

How It Works Internally

The ConditionProcessor class integrates with packaged/di-container’s reflection system:

  1. ConditionProcessor extends AttributeWatcher and implements ReflectionInterrupt
  2. When resolveMethod() is called on a controller method, the DI container’s reflection observers are notified
  3. ConditionProcessor scans the method (and class) for #[PreCondition] and #[SkipCondition] attributes
  4. Skip conditions are collected first — any PreCondition whose class appears in the skip list is removed
  5. Each remaining condition is instantiated (via DI if available, for constructor injection) and process($context) is called
  6. If any condition returns non-null, shouldInterruptMethod() returns true and the interrupt value is used as the method’s return value
// This happens automatically inside Controller::_prepareHandler()
+// when Cubex DI is available:
+
+$conditionProcessor = new ConditionProcessor($cubex);
+$result = $di->resolveMethod($controller, $methodName, [], [$conditionProcessor]);
+

Execution Flow

sequenceDiagram
+    participant DI as DI Container
+    participant CP as ConditionProcessor
+    participant Cond as ConditionResult
+    participant Method as Controller Method
+
+    Note over CP: Collect attributes,<br/>remove skipped conditions
+
+    loop Each condition
+        CP->>Cond: process(context)
+        alt pass (null)
+            Note over CP: Continue
+        else fail (non-null)
+            CP-->>DI: interrupt with result
+            Note over Method: Method NOT called
+        end
+    end
+
+    Note over CP: All conditions passed
+    DI->>Method: invoke with injected params
+    Method-->>DI: return value
+

Multiple Conditions

When multiple #[PreCondition] attributes are present, they are evaluated in order. The first condition to return a non-null value stops evaluation:

#[PreCondition(RequiresAuth::class)]       // Checked first
+#[PreCondition(RequiresRole::class, ['editor'])]  // Checked second
+#[PreCondition(RateLimiter::class)]        // Checked third
+public function postArticle(): Response
+{
+  // All three conditions must pass (return null)
+}
+

Class-Level vs Method-Level

Attributes on the class apply to all methods. Method-level attributes are additive. Use #[SkipCondition] to exempt specific methods:

#[PreCondition(RequiresAuth::class)]
+class SecureController extends Controller
+{
+  // RequiresAuth applies to all methods
+
+  #[PreCondition(RequiresRole::class, ['admin'])]
+  public function getAdmin(): Response
+  {
+    // Both RequiresAuth AND RequiresRole apply
+  }
+
+  #[SkipCondition(RequiresAuth::class)]
+  public function getPublic(): Response
+  {
+    // RequiresAuth is skipped, no conditions apply
+  }
+}
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/console.html b/docs/_site/console.html new file mode 100644 index 0000000..e49de80 --- /dev/null +++ b/docs/_site/console.html @@ -0,0 +1,136 @@ + Console | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Console

Cubex integrates with Symfony Console to provide CLI command support. It adds auto-configuration from INI files, DocBlock-driven argument/option definition, and DI integration.

CLI Entry Point

<?php
+// bin/console
+$loader = require __DIR__ . '/../vendor/autoload.php';
+$cubex = new \Cubex\Cubex(__DIR__ . '/..', $loader);
+exit($cubex->cli());
+
sequenceDiagram
+    participant Entry as bin/console
+    participant Cubex
+    participant Console
+    participant Config as INI Config
+    participant Command
+
+    rect rgb(240, 240, 255)
+    Note right of Entry: Setup
+    Entry->>Cubex: cli()
+    Cubex->>Console: getConsole()
+    Console->>Config: read [console] section
+    Config-->>Console: commands & patterns
+    Note over Console: Register commands + BuiltInWebServer
+    end
+
+    rect rgb(240, 255, 240)
+    Note right of Entry: Execute
+    Cubex->>Console: run(input, output)
+    Console->>Command: find + execute()
+    Command-->>Console: exit code
+    Console-->>Cubex: exit code
+    end
+

Configuration

Commands are configured via INI files in your conf/ directory under the [console] section:

; conf/defaults.ini
+[console]
+commands[migrate] = "App\Commands\MigrateCommand"
+commands[seed] = "App\Commands\SeedCommand"
+
+patterns[] = "App\Commands\%s"
+patterns[] = "App\Console\%s"
+

Commands

The commands map registers named commands. Keys are command names, values are fully qualified class names:

commands[db:migrate] = "App\Commands\Database\MigrateCommand"
+commands[cache:clear] = "App\Commands\Cache\ClearCommand"
+

Patterns

Patterns enable auto-discovery of commands by name. When a command is not found by its registered name, the console tries each pattern with the class name derived from the command name.

For example, with pattern App\Commands\%s, running my.command will try to resolve App\Commands\My\Command.

ConsoleCommand

ConsoleCommand extends Symfony’s Command with automatic argument/option configuration from method signatures and DocBlock annotations.

Defining Commands

Create a command by extending ConsoleCommand and implementing one of three method signatures:

use Cubex\Console\ConsoleCommand;
+
+/**
+ * @name greet
+ * @description Greet a user by name
+ */
+class GreetCommand extends ConsoleCommand
+{
+  /**
+   * Short description for --uppercase option
+   * @short u
+   * @flag
+   */
+  public bool $uppercase = false;
+
+  public function executeCommand(
+    InputInterface $input,
+    OutputInterface $output,
+    string $name,
+    string $greeting = 'Hello'
+  ): int
+  {
+    $message = "{$greeting}, {$name}!";
+
+    if ($this->uppercase)
+    {
+      $message = strtoupper($message);
+    }
+
+    $output->writeln($message);
+    return 0;
+  }
+}
+
php bin/console greet Alice
+# Hello, Alice!
+
+php bin/console greet Alice --uppercase -greeting "Good morning"
+# GOOD MORNING, ALICE!
+

Method Signatures

ConsoleCommand dispatches to the first available method:

Method Signature Notes
executeCommand (InputInterface, OutputInterface, ...args) Full access to I/O; extra params become arguments
process (...args) Simplified; params become arguments
_execute (InputInterface, OutputInterface) Fallback; manually read input

Parameters after the first two in executeCommand (or all parameters in process) are automatically registered as console arguments.

Auto-Configured Arguments

Method parameters are converted to console arguments:

public function process(string $name, int $count = 1): int
+{
+  // $name  → required argument
+  // $count → optional argument (default: 1)
+  return 0;
+}
+

Auto-Configured Options from Properties

Public properties are converted to console options. DocBlock annotations control behavior:

Annotation Effect Example
@short Single-letter shortcut @short v-v
@description Option description in help @description Enable verbose
@flag Boolean flag (no value) @flag--verbose
@valuerequired Value is required @valuerequired
/**
+ * The output format
+ * @short f
+ * @valuerequired
+ */
+public string $format = 'json';
+
+/**
+ * Run in dry-run mode
+ * @short n
+ * @flag
+ */
+public bool $dryRun = false;
+

DocBlock Command Metadata

Use DocBlock annotations on the class to set the command name and description:

/**
+ * @name cache:clear
+ * @description Clear the application cache
+ */
+class ClearCacheCommand extends ConsoleCommand
+{
+  // ...
+}
+

If @name is not specified, the command name defaults to the lowercase class basename.

Context and DI Access

ConsoleCommand implements both ContextAware and CubexAware, so you have full access to the framework:

class MigrateCommand extends ConsoleCommand
+{
+  public function process(): int
+  {
+    $db = $this->getCubex()->retrieve(DbConnection::class);
+    $config = $this->getContext()->config();
+    // ...
+    return 0;
+  }
+}
+

Built-In Web Server

Cubex includes a serve command that starts PHP’s built-in web server:

php bin/console serve
+# Starts server at 127.0.0.1:8888
+
+php bin/console serve -p 3000
+# Custom port
+
+php bin/console serve --host 0.0.0.0
+# Bind to all interfaces
+
+php bin/console serve -d
+# Enable xdebug
+
+php bin/console serve --useNextAvailablePort
+# Auto-increment port if 8888 is in use
+

serve Options

Option Short Description
--host   Server hostname (default: 127.0.0.1)
--port -p Server port (default: 8888)
--router   PHP router script (default: public/index.php)
--workers -w Number of PHP CLI server workers (default: 5)
--debug -d Enable xdebug
--debugIdeKey -idekey IDE key for xdebug (default: PHPSTORM)
--showCommand   Display the raw command being executed
--showfig   Show ASCII figlet banner (default: true)
--useNextAvailablePort   Auto-find next available port
--cubexLocalSubDomain -c Use {value}.cubex-local.com as host
--comment   Extra output text

Server Configuration via INI

Host and port can also be configured in INI files:

; conf/defaults.ini
+[serve]
+host = "0.0.0.0"
+port = 9000
+

Registering Commands Programmatically

Use the ConsoleCreateEvent to add commands at runtime:

use Cubex\Console\Events\ConsoleCreateEvent;
+
+$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) {
+  $e->getConsole()->add(new CustomCommand());
+});
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/controllers.html b/docs/_site/controllers.html new file mode 100644 index 0000000..27eaa10 --- /dev/null +++ b/docs/_site/controllers.html @@ -0,0 +1,93 @@ + Controllers | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Controllers

Controllers extend RouteProcessor and add HTTP verb-based method resolution, automatic response preparation, and integration with the DI container.

Controller Method Resolution

When a route returns a string (e.g., "login"), the Controller resolves it to a method on the controller class by trying HTTP verb-prefixed method names:

flowchart LR
+    Route["Route string<br/>e.g. 'login'"] --> IsXHR{"AJAX?"}
+
+    IsXHR -->|Yes| Ajax["ajaxLogin()"]
+    Ajax -->|Not found| AjaxVerb["ajaxGetLogin()"]
+    AjaxVerb -->|Not found| Verb
+
+    IsXHR -->|No| Verb["getLogin() /<br/>postLogin()"]
+    Verb -->|Not found| Process["processLogin()"]
+    Process -->|Not found| Error["No match"]
+
+    Ajax -->|Found| Call["_prepareResponse()"]
+    AjaxVerb -->|Found| Call
+    Verb -->|Found| Call
+    Process -->|Found| Call
+

The resolution order (from _getRouteMethods()) for a route string "login" is:

Priority XHR Request Regular GET Regular POST
1 ajaxLogin() getLogin() postLogin()
2 ajaxGetLogin() processLogin() processLogin()
3 getLogin() / postLogin()    
4 processLogin()    

The process prefix acts as a catch-all that matches any HTTP verb.

Basic Controller

use Cubex\Controller\Controller;
+use Packaged\Http\Response\TextResponse;
+
+class UserController extends Controller
+{
+  protected function _generateRoutes(): Generator
+  {
+    yield self::_route('/profile', 'profile');
+    yield self::_route('/settings', 'settings');
+    return 'index';
+  }
+
+  public function getIndex(): TextResponse
+  {
+    return new TextResponse('User index');
+  }
+
+  public function getProfile(): TextResponse
+  {
+    $userId = $this->routeData()->get('id');
+    return new TextResponse("Profile for {$userId}");
+  }
+
+  public function getSettings(): string
+  {
+    return 'Settings page';
+  }
+
+  public function postSettings(): TextResponse
+  {
+    // Handle settings form submission
+    return new TextResponse('Settings saved');
+  }
+}
+

Response Preparation

Controller::_prepareResponse() automatically converts return values into Response objects:

Return Type Conversion
Response Returned as-is
ViewModel Creates a View via createView(), renders it
Renderable Calls render() to get string content
ISafeHtmlProducer Produces safe HTML content
string / stringable Wrapped in a CubexResponse
null Falls back to output buffer content

If the return value is ContextAware or CubexAware, the context and Cubex instance are set on it before processing.

Convenience Methods

Controllers provide shortcuts for common context operations:

// Access the current request
+$request = $this->request();
+
+// Access route data (captured path variables)
+$id = $this->routeData()->get('id');
+

DI-Aware Method Resolution

When a Cubex instance is available, controller methods are resolved through the DI container using resolveMethod(). This enables:

  • Constructor injection of method parameters
  • Attribute-based conditions via ConditionProcessor (see Condition Processor)
class ApiController extends Controller
+{
+  #[PreCondition(RequiresAuth::class)]
+  public function getSecure(UserService $users): Response
+  {
+    // $users is resolved via DI
+    // RequiresAuth condition is checked first
+    return new TextResponse('Secure content');
+  }
+}
+

SingleRouteController

For controllers that handle a single endpoint with verb-based dispatch only (no sub-routes):

use Cubex\Controller\SingleRouteController;
+
+class HealthCheckController extends SingleRouteController
+{
+  public function get(): TextResponse
+  {
+    return new TextResponse('OK');
+  }
+
+  public function post(): TextResponse
+  {
+    return new TextResponse('Received');
+  }
+}
+

SingleRouteController returns an empty string from _generateRoutes(), which the controller resolves to get(), post(), ajax(), or process() depending on the HTTP verb.

AuthedController (Deprecated)

AuthedController is deprecated. Use Middleware or Condition Processor attributes instead.

AuthedController calls canProcess() before routing. If it returns false, the request is rejected with a 403 response:

use Cubex\Controller\AuthedController;
+
+class AdminController extends AuthedController
+{
+  public function canProcess(&$response): bool
+  {
+    return $this->getContext()->request()->has('admin_token');
+  }
+
+  public function getIndex(): string
+  {
+    return 'Admin panel';
+  }
+}
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/dependency-injection.html b/docs/_site/dependency-injection.html new file mode 100644 index 0000000..898bbca --- /dev/null +++ b/docs/_site/dependency-injection.html @@ -0,0 +1,76 @@ + Dependency Injection | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Dependency Injection

The Cubex class is the DI container for the framework. It extends DependencyInjector from packaged/di-container and provides sharing, factories, auto-resolution, and method injection.

Container Basics

The Cubex instance itself is the DI container — there is no separate container object:

$cubex = new Cubex(__DIR__, $loader);
+
+// Share a singleton
+$cubex->share(LoggerInterface::class, new FileLogger('/var/log/app.log'));
+
+// Register a factory
+$cubex->factory(
+  DbConnection::class,
+  fn() => new DbConnection($cubex->retrieve(Config::class))
+);
+
+// Retrieve an instance
+$logger = $cubex->retrieve(LoggerInterface::class);
+

Core Methods

share($abstract, $concrete)

Registers a singleton binding. Subsequent calls to retrieve() return the same instance:

$cubex->share(CacheInterface::class, new RedisCache($config));
+
+// Both calls return the same RedisCache instance
+$cache1 = $cubex->retrieve(CacheInterface::class);
+$cache2 = $cubex->retrieve(CacheInterface::class);
+// $cache1 === $cache2
+

factory($abstract, callable $factory)

Registers a factory that is called each time retrieve() is invoked:

$cubex->factory(
+  RequestContext::class,
+  fn() => new RequestContext(time())
+);
+
+// Each call creates a new instance
+$ctx1 = $cubex->retrieve(RequestContext::class);
+$ctx2 = $cubex->retrieve(RequestContext::class);
+// $ctx1 !== $ctx2
+

retrieve($abstract, $parameters = [], $shared = true, $attemptNewAbstract = true)

Resolves an abstract to a concrete instance. Resolution order:

  1. Check for a shared singleton
  2. Check for a registered factory
  3. If $attemptNewAbstract is true, attempt to build a new instance via constructor injection
// Resolves registered binding
+$logger = $cubex->retrieve(LoggerInterface::class);
+
+// Auto-instantiation: if UserService has no binding,
+// Cubex tries to construct it, injecting dependencies
+$users = $cubex->retrieve(UserService::class);
+

resolve($class, $parameters = [])

Resolves a class with constructor injection. Dependencies are recursively resolved from the container:

class UserService
+{
+  public function __construct(
+    private DbConnection $db,
+    private CacheInterface $cache
+  ) {}
+}
+
+// Both DbConnection and CacheInterface are resolved from the container
+$service = $cubex->resolve(UserService::class);
+

resolveMethod($object, $method, $parameters = [])

Invokes a method on an object, injecting parameters from the container. This is used internally by Controller for DI-aware method dispatch:

class OrderController extends Controller
+{
+  public function getOrder(OrderService $orders): Response
+  {
+    // $orders is injected by the DI container
+    $id = $this->routeData()->get('id');
+    return new JsonResponse($orders->find($id));
+  }
+}
+

The CubexAware Pattern

Components that need access to the DI container implement CubexAware:

use Cubex\CubexAware;
+use Cubex\CubexAwareTrait;
+
+class MyService implements CubexAware
+{
+  use CubexAwareTrait;
+
+  public function doWork(): void
+  {
+    $db = $this->getCubex()->retrieve(DbConnection::class);
+    // ...
+  }
+}
+

The framework automatically sets the Cubex instance on CubexAware objects during handler preparation and response processing.

Interface Methods

Method Description
setCubex(Cubex $cubex) Set the Cubex container reference
getCubex(): ?Cubex Get the Cubex container
hasCubex(): bool Check if a Cubex reference is available

Auto-Wired Route Handlers

When a route returns a class name string (e.g., DashboardController::class), the RouteProcessor resolves it through the DI container:

protected function _generateRoutes(): Generator
+{
+  // DashboardController is resolved via $cubex->retrieve()
+  // Its constructor dependencies are auto-injected
+  yield self::_route('/dashboard', DashboardController::class);
+}
+

If the context does not have a Cubex reference, the class is instantiated directly with new.

Built-In Bindings

Cubex automatically registers these bindings during construction:

Abstract Concrete Type
ClassLoader Composer autoloader Shared
DependencyInjector The Cubex instance itself Shared
Context Factory from Request::createFromGlobals() Factory

Accessing the Container

From any CubexAware component:

$cubex = $this->getCubex();
+

From a Context (if it is a CubexAware Cubex context):

$cubex = Cubex::fromContext($context);
+

Or use the global singleton (if available):

$cubex = Cubex::instance();
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/events.html b/docs/_site/events.html new file mode 100644 index 0000000..a3662f5 --- /dev/null +++ b/docs/_site/events.html @@ -0,0 +1,122 @@ + Events | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Events

Cubex uses an event system based on Channel from packaged/event. Events are fired at key points in the HTTP and CLI lifecycles, allowing you to hook into framework behavior without modifying core code.

Event Channels

There are two event channels:

Channel Accessed Via Purpose
Cubex channel $cubex->listen() Framework-level lifecycle events
Context channel $context->events() Context-specific events

Listening for Events

On the Cubex Channel

use Cubex\Events\Handle\ResponsePrepareEvent;
+
+$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $event) {
+  $response = $event->getResponse();
+  $response->headers->set('X-Powered-By', 'Cubex');
+});
+

On the Context Channel

use Cubex\Context\Events\ConsoleLaunchedEvent;
+
+$context->events()->listen(
+  ConsoleLaunchedEvent::class,
+  function (ConsoleLaunchedEvent $event) {
+    // Console is starting up
+  }
+);
+

Event Hierarchy

classDiagram
+    class AbstractEvent {
+        +getType() string
+    }
+    class ShutdownEvent
+    class ContextEvent {
+        <<abstract>>
+        +getContext() Context
+    }
+    class PreExecuteEvent {
+        +getHandler()
+    }
+    class HandlerEvent {
+        <<abstract>>
+        +getHandler() Handler
+    }
+    class ResponseEvent {
+        <<abstract>>
+        +getResponse() Response
+    }
+    class ResponsePrepareEvent
+    class ResponsePreparedEvent
+    class ResponsePreSendHeadersEvent
+    class ResponsePreSendContentEvent
+    class HandleCompleteEvent
+    class ConsoleEvent {
+        <<abstract>>
+        +getConsole() Console
+    }
+    class ConsoleCreateEvent
+    class ConsolePrepareEvent {
+        +getInput() InputInterface
+        +getOutput() OutputInterface
+    }
+
+    AbstractEvent <|-- ShutdownEvent
+    AbstractEvent <|-- ContextEvent
+    ContextEvent <|-- PreExecuteEvent
+    ContextEvent <|-- HandlerEvent
+    ContextEvent <|-- ConsoleEvent
+    HandlerEvent <|-- ResponseEvent
+    ResponseEvent <|-- ResponsePrepareEvent
+    ResponseEvent <|-- ResponsePreparedEvent
+    ResponseEvent <|-- ResponsePreSendHeadersEvent
+    ResponseEvent <|-- ResponsePreSendContentEvent
+    ResponseEvent <|-- HandleCompleteEvent
+    ConsoleEvent <|-- ConsoleCreateEvent
+    ConsoleEvent <|-- ConsolePrepareEvent
+

HTTP Lifecycle Events

These events fire on the Cubex channel during Cubex::handle():

Event When It Fires Available Data
PreExecuteEvent Before the handler’s handle() is called Context, Handler
ResponsePrepareEvent After handler returns, before cookies/prepare Context, Handler, Response
ResponsePreparedEvent After $response->prepare() is called Context, Handler, Response
ResponsePreSendHeadersEvent Before $response->sendHeaders() Context, Handler, Response
ResponsePreSendContentEvent Before $response->sendContent() Context, Handler, Response
HandleCompleteEvent After the full response has been sent Context, Handler, Response
ShutdownEvent During $cubex->shutdown()

Event Flow

sequenceDiagram
+    participant Cubex
+    participant Channel as Cubex Channel
+    participant Handler
+
+    rect rgb(240, 240, 255)
+    Cubex->>Channel: PreExecuteEvent
+    Cubex->>Handler: handle(context)
+    Handler-->>Cubex: Response
+    end
+
+    rect rgb(240, 255, 240)
+    Cubex->>Channel: ResponsePrepareEvent
+    Note over Cubex: Apply cookies, prepare
+    Cubex->>Channel: ResponsePreparedEvent
+    end
+
+    rect rgb(255, 240, 240)
+    Cubex->>Channel: PreSendHeadersEvent
+    Cubex->>Channel: PreSendContentEvent
+    Cubex->>Channel: HandleCompleteEvent
+    end
+
+    Cubex->>Channel: ShutdownEvent
+

PreExecuteEvent is also fired by RouteProcessor::_processHandler() when a sub-handler is executed during route resolution.

CLI Lifecycle Events

CLI events fire on both channels:

Event Channel When It Fires Available Data
ConsoleLaunchedEvent Context At the start of Cubex::cli() Input, Output
ConsoleCreatedEvent Context When the Console object is first created Console
ConsoleCreateEvent Cubex Same time as ConsoleCreatedEvent Context, Console
ConsolePrepareEvent Cubex Just before console->run() Context, Console, Input, Output

Event Data Access

All context events provide access to the context:

$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) {
+  $context = $e->getContext();
+  $handler = $e->getHandler();
+});
+

Response events add access to the handler and response:

$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $e) {
+  $context  = $e->getContext();
+  $handler  = $e->getHandler();
+  $response = $e->getResponse();
+});
+

Console events provide access to the console application:

$cubex->listen(ConsolePrepareEvent::class, function (ConsolePrepareEvent $e) {
+  $console = $e->getConsole();
+  $input   = $e->getInput();
+  $output  = $e->getOutput();
+});
+

Common Use Cases

Adding Response Headers

$cubex->listen(ResponsePreparedEvent::class, function (ResponsePreparedEvent $e) {
+  $e->getResponse()->headers->set('X-Request-Id', uniqid());
+});
+

Logging Request Duration

$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) {
+  $e->getContext()->meta()->set('request_start', microtime(true));
+});
+
+$cubex->listen(HandleCompleteEvent::class, function (HandleCompleteEvent $e) {
+  $start = $e->getContext()->meta()->get('request_start');
+  $duration = microtime(true) - $start;
+  Cubex::log()->info('Request completed', ['duration_ms' => $duration * 1000]);
+});
+

Registering Console Commands Dynamically

$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) {
+  $e->getConsole()->add(new MigrateCommand());
+  $e->getConsole()->add(new SeedCommand());
+});
+

Server Timing

The Cubex\Context\Context class automatically adds Server-Timing headers to responses via a listener on ResponsePreSendHeadersEvent. Use the context’s timer API:

$timer = $context->newTimer('db-query', 'Database query');
+// ... perform query ...
+$timer->stop();
+
+// The Server-Timing header is added automatically before headers are sent
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/index.html b/docs/_site/index.html new file mode 100644 index 0000000..5369c8e --- /dev/null +++ b/docs/_site/index.html @@ -0,0 +1,47 @@ + Cubex Framework | Documentation for the Cubex PHP 8.2+ web application framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Cubex Framework

Cubex is a PHP 8.2+ web application framework that provides routing, dependency injection, middleware, console commands, and a ViewModel layer. It is built on top of packaged/* libraries and Symfony components.

Requirements

  • PHP 8.2 or later
  • Composer

Installation

composer require cubex/framework
+

Quick Start

Create a basic HTTP application with a router:

<?php
+// public/index.php
+
+use Cubex\Cubex;
+use Cubex\Routing\Router;
+use Packaged\Http\Response\TextResponse;
+use Packaged\Routing\Handler\FuncHandler;
+
+$loader = require __DIR__ . '/../vendor/autoload.php';
+$cubex = new Cubex(__DIR__ . '/..', $loader);
+
+$router = Router::i()
+  ->onPath('/', new FuncHandler(fn() => new TextResponse('Hello, Cubex!')))
+  ->onPath('/about', new FuncHandler(fn() => new TextResponse('About page')));
+
+$response = $cubex->handle($router);
+$cubex->shutdown();
+

Configuration

Cubex loads INI configuration files from a conf/ directory relative to your project root. Files are loaded in cascade order:

  1. conf/defaults.ini
  2. conf/defaults/config.ini
  3. conf/{environment}.ini
  4. conf/{environment}/config.ini

The environment is set via the CUBEX_ENV environment variable.

Core Concepts

Topic Description
Request Lifecycle How HTTP requests and CLI commands flow through the framework
Routing Generator-based route matching with the Router fluent API
Controllers HTTP verb method resolution and response preparation
Dependency Injection The DI container, sharing, factories, and auto-resolution
Middleware Onion-layer middleware chain for request/response processing
ViewModels ViewModel/View separation, templating, and JSON rendering
Events Framework lifecycle events and the Channel dispatcher
Console Symfony Console integration with auto-configured commands
Condition Processor PHP 8 attribute-based pre-conditions and skip-conditions

Architecture Overview

flowchart TD
+  subgraph HTTP["HTTP Request"]
+    direction TB
+    Entry["public/index.php"] --> CubexBoot["Bootstrap"]
+    CubexBoot --> CtxInit["Context Init"]
+    CtxInit --> Handle["Cubex::handle()"]
+    Handle --> Router["Router / Controller"]
+    Router --> MW["Middleware"]
+    MW --> Handler["Handler"]
+    Handler --> Response["Response"]
+  end
+
+  subgraph CLI["CLI Command"]
+    direction TB
+    CLIEntry["bin/console"] --> CLIBoot["Bootstrap"]
+    CLIBoot --> CLICtx["Context Init"]
+    CLICtx --> CLICli["Cubex::cli()"]
+    CLICli --> Console["Console"]
+    Console --> Command["ConsoleCommand"]
+  end
+
+  subgraph Core["Core Services"]
+    DI["DI Container"] ~~~ Config["INI Config"]
+    Context["Context"] ~~~ Events["Event Channel"]
+  end
+
+  HTTP -.-> Core
+  CLI -.-> Core
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/middleware.html b/docs/_site/middleware.html new file mode 100644 index 0000000..4387f20 --- /dev/null +++ b/docs/_site/middleware.html @@ -0,0 +1,123 @@ + Middleware | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Middleware

Cubex provides an onion-layer middleware system that wraps handlers. Each middleware can process the request before and after the inner handler executes.

Middleware Chain

sequenceDiagram
+    participant Client
+    participant MH as MiddlewareHandler
+    participant MW1 as Middleware 1
+    participant MW2 as Middleware 2
+    participant Handler as Inner Handler
+
+    rect rgb(240, 240, 255)
+    Note right of Client: Request
+    Client->>MH: handle(context)
+    MH->>MW1: handle(context)
+    MW1->>MW2: next(context)
+    MW2->>Handler: next(context)
+    end
+
+    rect rgb(240, 255, 240)
+    Note right of Client: Response
+    Handler-->>MW2: Response
+    MW2-->>MW1: Response
+    MW1-->>MH: Response
+    MH-->>Client: Response
+    end
+

Middleware executes in an onion pattern:

  1. The outermost middleware receives the request first
  2. Each middleware can run logic before calling next() to pass to the next layer
  3. The innermost layer is the actual handler
  4. Responses bubble back through each middleware in reverse order

Implementing Middleware

Extend the abstract Middleware base class:

use Cubex\Middleware\Middleware;
+use Packaged\Context\Context;
+use Symfony\Component\HttpFoundation\Response;
+
+class TimingMiddleware extends Middleware
+{
+  public function handle(Context $c): Response
+  {
+    $start = microtime(true);
+
+    // Call the next handler in the chain
+    $response = $this->next($c);
+
+    $duration = microtime(true) - $start;
+    $response->headers->set('X-Response-Time', round($duration * 1000) . 'ms');
+
+    return $response;
+  }
+}
+

The key parts:

  • Extend Middleware (or implement MiddlewareInterface directly)
  • Call $this->next($c) to pass control to the next middleware or the inner handler
  • You can modify the request (context) before calling next() and modify the response after

MiddlewareInterface

For full control, implement the interface directly:

use Cubex\Middleware\MiddlewareInterface;
+use Packaged\Context\Context;
+use Packaged\Routing\Handler\Handler;
+use Symfony\Component\HttpFoundation\Response;
+
+class AuthMiddleware implements MiddlewareInterface
+{
+  private Handler $_next;
+
+  public function setNext(Handler $handler): Handler
+  {
+    $this->_next = $handler;
+    return $this;
+  }
+
+  public function handle(Context $c): Response
+  {
+    if (!$c->request()->headers->has('Authorization'))
+    {
+      return new Response('Unauthorized', 401);
+    }
+
+    return $this->_next->handle($c);
+  }
+}
+

Using MiddlewareHandler

MiddlewareHandler wraps a handler with a chain of middleware:

use Cubex\Middleware\MiddlewareHandler;
+
+$handler = new MiddlewareHandler($router);
+$handler->append(new TimingMiddleware());
+$handler->append(new AuthMiddleware());
+$handler->append(new CorsMiddleware());
+
+$response = $cubex->handle($handler);
+

MiddlewareHandler Methods

Method Description
__construct(Handler $handler) Create a middleware handler wrapping an inner handler
append(MiddlewareInterface $mw) Add middleware to the end of the chain (outermost)
prepend(MiddlewareInterface $mw) Add middleware to the front of the chain (innermost)
add(MiddlewareInterface $mw, ?int $mode) Add with explicit mode (PREPEND or APPEND)
remove(MiddlewareInterface\|string $mw) Remove the first middleware matching the instance or class name
replace(MiddlewareInterface\|string $old, MiddlewareInterface $new) Replace the first matching middleware

Execution Order

Middleware added with append() wraps further out, while prepend() wraps closer to the inner handler:

$handler = new MiddlewareHandler($router);
+$handler->append(new A());  // Outermost
+$handler->append(new B());  // Even more outer
+$handler->prepend(new C()); // Innermost (closest to router)
+
+// Execution order: B → A → C → Router → C → A → B
+

Common Middleware Patterns

Short-Circuit Middleware

Return a response directly without calling next() to stop the chain:

class MaintenanceMiddleware extends Middleware
+{
+  public function handle(Context $c): Response
+  {
+    if ($this->isMaintenanceMode())
+    {
+      return new Response('Service unavailable', 503);
+    }
+
+    return $this->next($c);
+  }
+}
+

Request Modification

Modify the context before passing it along:

class JsonBodyMiddleware extends Middleware
+{
+  public function handle(Context $c): Response
+  {
+    $request = $c->request();
+    if ($request->getContentTypeFormat() === 'json')
+    {
+      $data = json_decode($request->getContent(), true);
+      $request->request->replace($data ?? []);
+    }
+
+    return $this->next($c);
+  }
+}
+

Response Modification

Transform the response on the way back:

class CompressionMiddleware extends Middleware
+{
+  public function handle(Context $c): Response
+  {
+    $response = $this->next($c);
+
+    if (str_contains($c->request()->headers->get('Accept-Encoding', ''), 'gzip'))
+    {
+      $compressed = gzencode($response->getContent());
+      $response->setContent($compressed);
+      $response->headers->set('Content-Encoding', 'gzip');
+    }
+
+    return $response;
+  }
+}
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/request-lifecycle.html b/docs/_site/request-lifecycle.html new file mode 100644 index 0000000..c0640a2 --- /dev/null +++ b/docs/_site/request-lifecycle.html @@ -0,0 +1,77 @@ + Request Lifecycle | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Request Lifecycle

Cubex handles both HTTP requests and CLI commands through distinct but related lifecycles. Both begin with bootstrapping a Cubex instance and creating a Context.

HTTP Lifecycle

The HTTP lifecycle is driven by Cubex::handle(Handler $handler). Here is the full flow:

sequenceDiagram
+    participant Entry as index.php
+    participant Cubex
+    participant Ctx as Context
+    participant Channel as Event Channel
+    participant Handler
+    participant Response
+
+    rect rgb(240, 240, 255)
+    Note right of Entry: Setup
+    Entry->>Cubex: new Cubex($root, $loader)
+    Entry->>Cubex: handle($handler)
+    Cubex->>Ctx: getContext()
+    Cubex->>Ctx: initialize()
+    Cubex->>Handler: setContext($ctx)
+    end
+
+    rect rgb(240, 255, 240)
+    Note right of Entry: Execute
+    Cubex->>Channel: PreExecuteEvent
+    Cubex->>Handler: handle($ctx)
+    Handler-->>Cubex: Response
+    end
+
+    rect rgb(255, 240, 240)
+    Note right of Entry: Send Response
+    Cubex->>Channel: ResponsePrepareEvent
+    Cubex->>Response: apply cookies, prepare()
+    Cubex->>Channel: ResponsePreparedEvent
+    Cubex->>Channel: PreSendHeadersEvent
+    Cubex->>Response: sendHeaders()
+    Cubex->>Channel: PreSendContentEvent
+    Cubex->>Response: sendContent()
+    Cubex->>Channel: HandleCompleteEvent
+    end
+
+    Entry->>Cubex: shutdown()
+    Cubex->>Channel: ShutdownEvent
+

Bootstrap

$loader = require __DIR__ . '/../vendor/autoload.php';
+$cubex = new Cubex(__DIR__ . '/..', $loader);
+

The constructor:

  1. Sets the project root path
  2. Creates an event Channel named 'cubex'
  3. Shares the ClassLoader and DependencyInjector (itself) in the DI container
  4. Registers a Context factory that creates contexts from Request::createFromGlobals()

Context Preparation

When handle() is called, it retrieves the shared Context from the DI container. The context is prepared with:

  • Environment from the CUBEX_ENV environment variable
  • Project root path
  • Configuration loaded from INI files in cascade order
  • Cubex reference set on the context (if CubexAware)

Handler Execution

The handler (typically a Router, Application, or Controller) receives the context and produces a Response. If the handler is ContextAware, its context is set before execution.

Response Processing

After the handler returns a response, Cubex:

  1. Fires ResponsePrepareEvent (listeners can modify the response)
  2. Applies cookies from the context’s cookie jar
  3. Calls $response->prepare($request) to finalize headers
  4. Fires ResponsePreparedEvent
  5. Sends headers, flushes, then sends content
  6. Calls fastcgi_finish_request() if running under PHP-FPM
  7. Fires HandleCompleteEvent

Exception Handling

By default, Cubex catches exceptions in production environments and re-throws them in local and dev environments. This behavior is controlled by setThrowEnvironments():

$cubex->setThrowEnvironments([Context::ENV_LOCAL, Context::ENV_DEV]);
+

CLI Lifecycle

The CLI lifecycle is driven by Cubex::cli():

sequenceDiagram
+    participant Entry as bin/console
+    participant Cubex
+    participant Ctx as Context
+    participant Channel as Event Channel
+    participant Console
+    participant Command
+
+    rect rgb(240, 240, 255)
+    Note right of Entry: Bootstrap
+    Entry->>Cubex: new Cubex($root, $loader)
+    Entry->>Cubex: cli($input, $output)
+    Cubex->>Ctx: getContext()
+    end
+
+    rect rgb(240, 255, 240)
+    Note right of Entry: Console Setup
+    Cubex->>Ctx: trigger(ConsoleLaunchedEvent)
+    Cubex->>Console: create Console
+    Cubex->>Ctx: trigger(ConsoleCreatedEvent)
+    Cubex->>Channel: ConsoleCreateEvent
+    Note over Console: Registers commands from config
+    end
+
+    rect rgb(255, 240, 240)
+    Note right of Entry: Execute
+    Cubex->>Channel: ConsolePrepareEvent
+    Cubex->>Console: run($input, $output)
+    Console->>Command: execute()
+    Command-->>Console: exit code
+    Console-->>Cubex: exit code
+    end
+

CLI Bootstrap

$loader = require __DIR__ . '/../vendor/autoload.php';
+$cubex = new Cubex(__DIR__ . '/..', $loader);
+exit($cubex->cli());
+

Cubex::cli() creates default ArgvInput and ConsoleOutput if none are provided, then:

  1. Fires ConsoleLaunchedEvent on the context event channel
  2. Creates the Console application (lazy, cached)
  3. Fires ConsoleCreatedEvent (context channel) and ConsoleCreateEvent (cubex channel)
  4. Fires ConsolePrepareEvent on the cubex channel
  5. Runs the console application
  6. Returns the exit code (capped at 255)

Shutdown

Call $cubex->shutdown() after handling completes. This fires the ShutdownEvent exactly once (guarded against double-shutdown). If shutdown is not called explicitly, the destructor will attempt it and log a warning.


This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/routing.html b/docs/_site/routing.html new file mode 100644 index 0000000..f19481f --- /dev/null +++ b/docs/_site/routing.html @@ -0,0 +1,56 @@ + Routing | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Routing

Cubex uses a generator-based routing system built on packaged/routing. Routes are defined by yielding conditions from _generateRoutes(), and the framework traverses them to find a matching handler.

How Route Resolution Works

flowchart TD
+    Start["handle()"] --> GetHandler["_getHandler(context)"]
+    GetHandler --> GenRoutes["_generateRoutes()"]
+    GenRoutes --> Check{"Next condition?"}
+    Check -->|Yes| Eval{"Matches?"}
+    Check -->|No| Default["Default handler"]
+    Eval -->|No| Check
+    Eval -->|Yes| IsRoute{"Traversable?"}
+    IsRoute -->|Yes| Traverse["Traverse sub-handler"] --> Check
+    IsRoute -->|No| Handler["Matched handler"]
+    Handler --> Prepare["_prepareHandler()"]
+    Default --> Prepare
+    Prepare --> Process["_processHandler()"]
+    Process --> PrepResp["_prepareResponse()"]
+

The RouteSelector base class (from packaged/routing) calls _generateRoutes() and iterates through the yielded ConditionHandler pairs. For each:

  1. The condition is evaluated against the current context
  2. If the handler is a Route (traversable), it recurses into the sub-handler
  3. Otherwise, the matched handler is returned

The result passes through _prepareHandler() (string-to-class resolution, redirect handling) and then _processHandler() (execution).

The Router Class

Router provides a fluent API for defining routes without subclassing:

use Cubex\Routing\Router;
+use Packaged\Http\Response\TextResponse;
+use Packaged\Routing\Handler\FuncHandler;
+
+$router = Router::i()
+  ->onPath('/hello', new FuncHandler(
+    fn() => new TextResponse('Hello, World!')
+  ))
+  ->onPathFunc('/greet/{name}', function ($ctx) {
+    $name = $ctx->routeData()->get('name');
+    return new TextResponse("Hello, {$name}!");
+  })
+  ->setDefaultHandler(new FuncHandler(
+    fn() => new TextResponse('Not Found', 404)
+  ));
+

Router Methods

Method Description
Router::i() Static factory for a new Router instance
onPath($path, $handler) Add a route matching the given path pattern
onPathFunc($path, callable $func) Add a route with a callable (wrapped in FuncHandler)
setDefaultHandler(Handler $handler) Set the fallback handler when no route matches
addCondition(ConditionHandler $cond) Add a custom condition/handler pair
getHandler(Context $ctx) Resolve the matching handler for a context

Path Patterns

Path matching uses RequestCondition from packaged/routing. Patterns support:

Syntax Description Example
/literal Exact path segment /users
/{name} Named path variable /users/{id}
/{name@constraint} Constrained variable /{id@num}
Prefix matching Routes match path prefixes by default /api matches /api/users

Route data (captured variables) is available via $context->routeData().

Generator-Based Routes

For custom route processors, override _generateRoutes() to yield route conditions:

use Cubex\Routing\RouteProcessor;
+use Packaged\Routing\ConditionHandler;
+use Packaged\Routing\Handler\FuncHandler;
+use Packaged\Routing\RequestCondition;
+
+class MyRouter extends RouteProcessor
+{
+  protected function _generateRoutes(): Generator
+  {
+    yield self::_route('/dashboard', DashboardController::class);
+    yield self::_route('/api', ApiRouter::class);
+    yield self::_route('/health', new FuncHandler(
+      fn() => new TextResponse('OK')
+    ));
+    // Default handler returned (not yielded)
+    return new FuncHandler(fn() => new TextResponse('Not Found', 404));
+  }
+}
+

The _route() helper (from RouteSelector) creates ConditionHandler pairs from a path and handler.

Redirect Shorthand

String handlers beginning with @ are treated as redirects:

@301!/new-url     → 301 redirect to /new-url
+@302!/other       → 302 redirect to /other
+

This is handled in RouteProcessor::_prepareHandler().

Handler Resolution Chain

When _prepareHandler() processes a handler, it follows this chain:

  1. String containing \: Treated as a class name — resolved via DI container (if Cubex is available) or instantiated directly
  2. String starting with @: Parsed as a redirect (@{code}!{url})
  3. Callable: Invoked directly, result processed recursively
  4. Handler instance: handle() is called with the context
  5. String (in Controller): Resolved to controller methods via HTTP verb prefixes (see Controllers)

Nested Routing

Routes can be nested by returning other RouteProcessor instances (routers, applications, or controllers) as handlers:

protected function _generateRoutes(): Generator
+{
+  // ApiRouter is itself a RouteProcessor with its own _generateRoutes()
+  yield self::_route('/api', ApiRouter::class);
+  yield self::_route('/admin', AdminController::class);
+}
+

The path is consumed segment by segment as the route traverses into nested handlers.


This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/viewmodels.html b/docs/_site/viewmodels.html new file mode 100644 index 0000000..d7dbbce --- /dev/null +++ b/docs/_site/viewmodels.html @@ -0,0 +1,163 @@ + ViewModels | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

ViewModels

Cubex separates data (Models/ViewModels) from presentation (Views). This pattern keeps business logic out of templates and makes models independently testable and JSON-serializable.

Class Hierarchy

classDiagram
+    class Model {
+        <<interface>>
+        +jsonSerialize() mixed
+    }
+    class View {
+        <<interface>>
+        +setModel(Model data)
+        +render() string
+    }
+    class ViewModel {
+        +setView(string viewClass) self
+        +createView() View
+        +lock() self
+    }
+    class AbstractView {
+        <<abstract>>
+        +setModel(Model data)
+        +render() string
+    }
+    class TemplatedViewModel {
+        +render() string
+        +addVariant(string variant) self
+    }
+    class JsonView {
+        +setFlags(int flags) self
+        +render() string
+    }
+    class ArrayModel {
+        +set(array data) self
+        +addItem(value, key) self
+    }
+
+    Model <|.. ViewModel
+    View <|.. AbstractView
+    ViewModel <|-- TemplatedViewModel
+    View <|.. TemplatedViewModel
+    AbstractView <|-- JsonView
+    ViewModel <|-- ArrayModel
+

ViewModel

The primary data container. Holds data as public properties, supports JSON serialization, and can create a corresponding View:

use Cubex\ViewModel\ViewModel;
+
+class UserProfileModel extends ViewModel
+{
+  protected string $_defaultView = UserProfileView::class;
+
+  public string $name;
+  public string $email;
+  public int $age;
+}
+

Creating and Using

$model = new UserProfileModel();
+$model->name = 'Alice';
+$model->email = 'alice@example.com';
+$model->age = 30;
+
+// Create the associated view and render
+$view = $model->createView();
+$html = $view->render();
+
+// Or serialize to JSON
+$json = json_encode($model);
+// {"name":"Alice","email":"alice@example.com","age":30}
+

Locking (Immutability)

Call lock() to freeze the model’s state. After locking, property values are captured and the model becomes read-only:

$model->lock();
+
+// Properties are still readable
+echo $model->name; // "Alice"
+
+// But setting throws an exception
+$model->name = 'Bob'; // Throws: "Cannot set property 'name' ... is immutable"
+

Locked models serialize from their frozen snapshot rather than live properties.

Custom View Override

Override the view class at creation time:

$view = $model->createView(MobileUserProfileView::class);
+

View

Views receive a model and render it to a string. Implement the View interface:

use Cubex\ViewModel\View;
+use Cubex\ViewModel\Model;
+
+class UserProfileView implements View
+{
+  private Model $_model;
+
+  public function setModel(Model $data): void
+  {
+    $this->_model = $data;
+  }
+
+  public function render(): string
+  {
+    return "<div class='profile'>"
+      . "<h1>{$this->_model->name}</h1>"
+      . "<p>{$this->_model->email}</p>"
+      . "</div>";
+  }
+}
+

AbstractView

A convenient base class that stores the model and provides a _render() hook:

use Cubex\ViewModel\AbstractView;
+
+class UserCardView extends AbstractView
+{
+  protected function _render(): ?ISafeHtmlProducer
+  {
+    // Access the model via $this->_model
+    return new SafeHtml("<div>{$this->_model->name}</div>");
+  }
+}
+

TemplatedViewModel

Combines ViewModel and View into a single class. Renders using .phtml template files located alongside the class file:

use Cubex\ViewModel\TemplatedViewModel;
+
+class DashboardPage extends TemplatedViewModel
+{
+  public int $userCount;
+  public int $orderCount;
+  public array $recentOrders;
+}
+

With a template at DashboardPage.phtml in the same directory:

<!-- DashboardPage.phtml -->
+<div class="dashboard">
+  <h1>Dashboard</h1>
+  <p>Users: <?= $this->userCount ?></p>
+  <p>Orders: <?= $this->orderCount ?></p>
+  <ul>
+    <?php foreach($this->recentOrders as $order): ?>
+      <li><?= $order['id'] ?>: <?= $order['total'] ?></li>
+    <?php endforeach; ?>
+  </ul>
+</div>
+

Template Variants

Add variant templates that take priority over the default. Useful for device-specific or A/B test rendering:

$page = new DashboardPage();
+$page->addVariant('mobile');
+// Looks for DashboardPage.mobile.phtml first,
+// falls back to DashboardPage.phtml
+echo $page->render();
+

Self-Rendering

TemplatedViewModel acts as its own view. Calling createView() without an override returns $this:

$page = new DashboardPage();
+$view = $page->createView(); // Returns $page itself
+echo $view->render();        // Renders the template
+

JsonView

Renders any Model as JSON:

use Cubex\ViewModel\JsonView;
+
+$model = new UserProfileModel();
+$model->name = 'Alice';
+$model->email = 'alice@example.com';
+
+$view = new JsonView();
+$view->setModel($model);
+$view->setFlags(JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+echo $view->render();
+

ArrayModel

A ViewModel backed by a simple array instead of typed properties:

use Cubex\ViewModel\ArrayModel;
+
+$model = new ArrayModel();
+$model->addItem('Alice', 'name');
+$model->addItem('alice@example.com', 'email');
+$model->set(['tags' => ['admin', 'user']]);
+
+echo json_encode($model);
+// {"name":"Alice","email":"alice@example.com","tags":["admin","user"]}
+

ViewModel Flow in Controllers

When a controller method returns a ViewModel, the framework handles view creation and rendering automatically:

flowchart LR
+    Controller["Controller returns<br/>ViewModel"] --> SetCtx["Set context/cubex"]
+    SetCtx --> CreateView["createView()"]
+    CreateView --> SetModel["setModel()"]
+    SetModel --> Render["render()"]
+    Render --> Response["CubexResponse"]
+
class ProfileController extends Controller
+{
+  public function getIndex(): UserProfileModel
+  {
+    $model = new UserProfileModel();
+    $model->name = 'Alice';
+    $model->email = 'alice@example.com';
+    // Controller::_prepareResponse() handles the rest
+    return $model;
+  }
+}
+

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/condition-processor.md b/docs/condition-processor.md new file mode 100644 index 0000000..ddaf0cd --- /dev/null +++ b/docs/condition-processor.md @@ -0,0 +1,212 @@ +--- +title: Condition Processor +layout: default +nav_order: 10 +--- + +# Condition Processor + +The Condition Processor provides declarative authorization and validation for controller methods using PHP 8 attributes. It integrates with the DI container's `resolveMethod()` to evaluate conditions before a method executes. + +## Overview + +```mermaid +flowchart TD + Resolve["resolveMethod()"] --> Scan["Scan attributes"] + Scan --> Collect["Collect PreConditions
remove SkipConditions"] + Collect --> Check{"Conditions
remaining?"} + Check -->|No| Execute["Execute method"] + Check -->|Yes| Eval{"process(ctx)
returns null?"} + Eval -->|All pass| Execute + Eval -->|Non-null| Interrupt["Return interrupt value"] +``` + +## Attributes + +### #[PreCondition] + +Marks a method (or class) with a condition that must pass before execution: + +```php +use Cubex\Attributes\PreCondition; + +class AdminController extends Controller +{ + #[PreCondition(RequiresAuth::class)] + #[PreCondition(RequiresRole::class, ['admin'])] + public function getUsers(): Response + { + return new JsonResponse($this->listUsers()); + } +} +``` + +The attribute accepts: +- **`$class`** — The fully qualified class name implementing `ConditionResult` +- **`$args`** (optional) — Constructor arguments passed when instantiating the condition + +### #[SkipCondition] + +Exempts a method from a specific `PreCondition`. This is useful when a class-level condition should not apply to certain methods: + +```php +#[PreCondition(RequiresAuth::class)] +class DashboardController extends Controller +{ + public function getIndex(): Response + { + // RequiresAuth IS evaluated + return new TextResponse('Dashboard'); + } + + #[SkipCondition(RequiresAuth::class)] + public function getHealthCheck(): Response + { + // RequiresAuth is SKIPPED + return new TextResponse('OK'); + } +} +``` + +Both attributes are repeatable (`IS_REPEATABLE`) and can target any element (`TARGET_ALL`). + +## Implementing ConditionResult + +Create a condition by implementing the `ConditionResult` interface: + +```php +use Cubex\Attributes\ConditionResult; +use Packaged\Context\Context; + +class RequiresAuth implements ConditionResult +{ + public function process(Context $ctx): mixed + { + if ($ctx->request()->headers->has('Authorization')) + { + return null; // Allow execution to proceed + } + + // Interrupt — this value becomes the method's return + return new Response('Unauthorized', 401); + } +} +``` + +The `process()` method: +- Returns **`null`** to allow execution to continue +- Returns **any non-null value** to interrupt execution — the returned value replaces the method's normal return value + +### Conditions with Arguments + +Pass constructor arguments via the attribute: + +```php +class RequiresRole implements ConditionResult +{ + public function __construct(private string $role) + { + } + + public function process(Context $ctx): mixed + { + $user = $ctx->meta()->get('user'); + if ($user && $user->hasRole($this->role)) + { + return null; + } + return new Response('Forbidden', 403); + } +} +``` + +```php +#[PreCondition(RequiresRole::class, ['admin'])] +public function getAdminPanel(): Response +{ + // Only accessible to users with the 'admin' role +} +``` + +## How It Works Internally + +The `ConditionProcessor` class integrates with `packaged/di-container`'s reflection system: + +1. **`ConditionProcessor`** extends `AttributeWatcher` and implements `ReflectionInterrupt` +2. When `resolveMethod()` is called on a controller method, the DI container's reflection observers are notified +3. `ConditionProcessor` scans the method (and class) for `#[PreCondition]` and `#[SkipCondition]` attributes +4. Skip conditions are collected first — any `PreCondition` whose class appears in the skip list is removed +5. Each remaining condition is instantiated (via DI if available, for constructor injection) and `process($context)` is called +6. If any condition returns non-null, `shouldInterruptMethod()` returns `true` and the interrupt value is used as the method's return value + +```php +// This happens automatically inside Controller::_prepareHandler() +// when Cubex DI is available: + +$conditionProcessor = new ConditionProcessor($cubex); +$result = $di->resolveMethod($controller, $methodName, [], [$conditionProcessor]); +``` + +## Execution Flow + +```mermaid +sequenceDiagram + participant DI as DI Container + participant CP as ConditionProcessor + participant Cond as ConditionResult + participant Method as Controller Method + + Note over CP: Collect attributes,
remove skipped conditions + + loop Each condition + CP->>Cond: process(context) + alt pass (null) + Note over CP: Continue + else fail (non-null) + CP-->>DI: interrupt with result + Note over Method: Method NOT called + end + end + + Note over CP: All conditions passed + DI->>Method: invoke with injected params + Method-->>DI: return value +``` + +## Multiple Conditions + +When multiple `#[PreCondition]` attributes are present, they are evaluated in order. The first condition to return a non-null value stops evaluation: + +```php +#[PreCondition(RequiresAuth::class)] // Checked first +#[PreCondition(RequiresRole::class, ['editor'])] // Checked second +#[PreCondition(RateLimiter::class)] // Checked third +public function postArticle(): Response +{ + // All three conditions must pass (return null) +} +``` + +## Class-Level vs Method-Level + +Attributes on the class apply to all methods. Method-level attributes are additive. Use `#[SkipCondition]` to exempt specific methods: + +```php +#[PreCondition(RequiresAuth::class)] +class SecureController extends Controller +{ + // RequiresAuth applies to all methods + + #[PreCondition(RequiresRole::class, ['admin'])] + public function getAdmin(): Response + { + // Both RequiresAuth AND RequiresRole apply + } + + #[SkipCondition(RequiresAuth::class)] + public function getPublic(): Response + { + // RequiresAuth is skipped, no conditions apply + } +} +``` diff --git a/docs/console.md b/docs/console.md new file mode 100644 index 0000000..e41de6d --- /dev/null +++ b/docs/console.md @@ -0,0 +1,272 @@ +--- +title: Console +layout: default +nav_order: 9 +--- + +# Console + +Cubex integrates with Symfony Console to provide CLI command support. It adds auto-configuration from INI files, DocBlock-driven argument/option definition, and DI integration. + +## CLI Entry Point + +```php +cli()); +``` + +```mermaid +sequenceDiagram + participant Entry as bin/console + participant Cubex + participant Console + participant Config as INI Config + participant Command + + rect rgb(240, 240, 255) + Note right of Entry: Setup + Entry->>Cubex: cli() + Cubex->>Console: getConsole() + Console->>Config: read [console] section + Config-->>Console: commands & patterns + Note over Console: Register commands + BuiltInWebServer + end + + rect rgb(240, 255, 240) + Note right of Entry: Execute + Cubex->>Console: run(input, output) + Console->>Command: find + execute() + Command-->>Console: exit code + Console-->>Cubex: exit code + end +``` + +## Configuration + +Commands are configured via INI files in your `conf/` directory under the `[console]` section: + +```ini +; conf/defaults.ini +[console] +commands[migrate] = "App\Commands\MigrateCommand" +commands[seed] = "App\Commands\SeedCommand" + +patterns[] = "App\Commands\%s" +patterns[] = "App\Console\%s" +``` + +### Commands + +The `commands` map registers named commands. Keys are command names, values are fully qualified class names: + +```ini +commands[db:migrate] = "App\Commands\Database\MigrateCommand" +commands[cache:clear] = "App\Commands\Cache\ClearCommand" +``` + +### Patterns + +Patterns enable auto-discovery of commands by name. When a command is not found by its registered name, the console tries each pattern with the class name derived from the command name. + +For example, with pattern `App\Commands\%s`, running `my.command` will try to resolve `App\Commands\My\Command`. + +## ConsoleCommand + +`ConsoleCommand` extends Symfony's `Command` with automatic argument/option configuration from method signatures and DocBlock annotations. + +### Defining Commands + +Create a command by extending `ConsoleCommand` and implementing one of three method signatures: + +```php +use Cubex\Console\ConsoleCommand; + +/** + * @name greet + * @description Greet a user by name + */ +class GreetCommand extends ConsoleCommand +{ + /** + * Short description for --uppercase option + * @short u + * @flag + */ + public bool $uppercase = false; + + public function executeCommand( + InputInterface $input, + OutputInterface $output, + string $name, + string $greeting = 'Hello' + ): int + { + $message = "{$greeting}, {$name}!"; + + if ($this->uppercase) + { + $message = strtoupper($message); + } + + $output->writeln($message); + return 0; + } +} +``` + +```bash +php bin/console greet Alice +# Hello, Alice! + +php bin/console greet Alice --uppercase -greeting "Good morning" +# GOOD MORNING, ALICE! +``` + +### Method Signatures + +`ConsoleCommand` dispatches to the first available method: + +| Method | Signature | Notes | +|--------|-----------|-------| +| `executeCommand` | `(InputInterface, OutputInterface, ...args)` | Full access to I/O; extra params become arguments | +| `process` | `(...args)` | Simplified; params become arguments | +| `_execute` | `(InputInterface, OutputInterface)` | Fallback; manually read input | + +Parameters after the first two in `executeCommand` (or all parameters in `process`) are automatically registered as console arguments. + +### Auto-Configured Arguments + +Method parameters are converted to console arguments: + +```php +public function process(string $name, int $count = 1): int +{ + // $name → required argument + // $count → optional argument (default: 1) + return 0; +} +``` + +### Auto-Configured Options from Properties + +Public properties are converted to console options. DocBlock annotations control behavior: + +| Annotation | Effect | Example | +|------------|--------|---------| +| `@short` | Single-letter shortcut | `@short v` → `-v` | +| `@description` | Option description in help | `@description Enable verbose` | +| `@flag` | Boolean flag (no value) | `@flag` → `--verbose` | +| `@valuerequired` | Value is required | `@valuerequired` | + +```php +/** + * The output format + * @short f + * @valuerequired + */ +public string $format = 'json'; + +/** + * Run in dry-run mode + * @short n + * @flag + */ +public bool $dryRun = false; +``` + +### DocBlock Command Metadata + +Use DocBlock annotations on the class to set the command name and description: + +```php +/** + * @name cache:clear + * @description Clear the application cache + */ +class ClearCacheCommand extends ConsoleCommand +{ + // ... +} +``` + +If `@name` is not specified, the command name defaults to the lowercase class basename. + +### Context and DI Access + +`ConsoleCommand` implements both `ContextAware` and `CubexAware`, so you have full access to the framework: + +```php +class MigrateCommand extends ConsoleCommand +{ + public function process(): int + { + $db = $this->getCubex()->retrieve(DbConnection::class); + $config = $this->getContext()->config(); + // ... + return 0; + } +} +``` + +## Built-In Web Server + +Cubex includes a `serve` command that starts PHP's built-in web server: + +```bash +php bin/console serve +# Starts server at 127.0.0.1:8888 + +php bin/console serve -p 3000 +# Custom port + +php bin/console serve --host 0.0.0.0 +# Bind to all interfaces + +php bin/console serve -d +# Enable xdebug + +php bin/console serve --useNextAvailablePort +# Auto-increment port if 8888 is in use +``` + +### serve Options + +| Option | Short | Description | +|--------|-------|-------------| +| `--host` | | Server hostname (default: `127.0.0.1`) | +| `--port` | `-p` | Server port (default: `8888`) | +| `--router` | | PHP router script (default: `public/index.php`) | +| `--workers` | `-w` | Number of PHP CLI server workers (default: `5`) | +| `--debug` | `-d` | Enable xdebug | +| `--debugIdeKey` | `-idekey` | IDE key for xdebug (default: `PHPSTORM`) | +| `--showCommand` | | Display the raw command being executed | +| `--showfig` | | Show ASCII figlet banner (default: `true`) | +| `--useNextAvailablePort` | | Auto-find next available port | +| `--cubexLocalSubDomain` | `-c` | Use `{value}.cubex-local.com` as host | +| `--comment` | | Extra output text | + +### Server Configuration via INI + +Host and port can also be configured in INI files: + +```ini +; conf/defaults.ini +[serve] +host = "0.0.0.0" +port = 9000 +``` + +## Registering Commands Programmatically + +Use the `ConsoleCreateEvent` to add commands at runtime: + +```php +use Cubex\Console\Events\ConsoleCreateEvent; + +$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) { + $e->getConsole()->add(new CustomCommand()); +}); +``` diff --git a/docs/controllers.md b/docs/controllers.md new file mode 100644 index 0000000..c77a7ec --- /dev/null +++ b/docs/controllers.md @@ -0,0 +1,175 @@ +--- +title: Controllers +layout: default +nav_order: 4 +--- + +# Controllers + +Controllers extend `RouteProcessor` and add HTTP verb-based method resolution, automatic response preparation, and integration with the DI container. + +## Controller Method Resolution + +When a route returns a string (e.g., `"login"`), the `Controller` resolves it to a method on the controller class by trying HTTP verb-prefixed method names: + +```mermaid +flowchart LR + Route["Route string
e.g. 'login'"] --> IsXHR{"AJAX?"} + + IsXHR -->|Yes| Ajax["ajaxLogin()"] + Ajax -->|Not found| AjaxVerb["ajaxGetLogin()"] + AjaxVerb -->|Not found| Verb + + IsXHR -->|No| Verb["getLogin() /
postLogin()"] + Verb -->|Not found| Process["processLogin()"] + Process -->|Not found| Error["No match"] + + Ajax -->|Found| Call["_prepareResponse()"] + AjaxVerb -->|Found| Call + Verb -->|Found| Call + Process -->|Found| Call +``` + +The resolution order (from `_getRouteMethods()`) for a route string `"login"` is: + +| Priority | XHR Request | Regular GET | Regular POST | +|----------|-------------|-------------|--------------| +| 1 | `ajaxLogin()` | `getLogin()` | `postLogin()` | +| 2 | `ajaxGetLogin()` | `processLogin()` | `processLogin()` | +| 3 | `getLogin()` / `postLogin()` | | | +| 4 | `processLogin()` | | | + +The `process` prefix acts as a catch-all that matches any HTTP verb. + +## Basic Controller + +```php +use Cubex\Controller\Controller; +use Packaged\Http\Response\TextResponse; + +class UserController extends Controller +{ + protected function _generateRoutes(): Generator + { + yield self::_route('/profile', 'profile'); + yield self::_route('/settings', 'settings'); + return 'index'; + } + + public function getIndex(): TextResponse + { + return new TextResponse('User index'); + } + + public function getProfile(): TextResponse + { + $userId = $this->routeData()->get('id'); + return new TextResponse("Profile for {$userId}"); + } + + public function getSettings(): string + { + return 'Settings page'; + } + + public function postSettings(): TextResponse + { + // Handle settings form submission + return new TextResponse('Settings saved'); + } +} +``` + +## Response Preparation + +`Controller::_prepareResponse()` automatically converts return values into `Response` objects: + +| Return Type | Conversion | +|-------------|------------| +| `Response` | Returned as-is | +| `ViewModel` | Creates a `View` via `createView()`, renders it | +| `Renderable` | Calls `render()` to get string content | +| `ISafeHtmlProducer` | Produces safe HTML content | +| `string` / stringable | Wrapped in a `CubexResponse` | +| `null` | Falls back to output buffer content | + +If the return value is `ContextAware` or `CubexAware`, the context and Cubex instance are set on it before processing. + +## Convenience Methods + +Controllers provide shortcuts for common context operations: + +```php +// Access the current request +$request = $this->request(); + +// Access route data (captured path variables) +$id = $this->routeData()->get('id'); +``` + +## DI-Aware Method Resolution + +When a `Cubex` instance is available, controller methods are resolved through the DI container using `resolveMethod()`. This enables: + +- **Constructor injection** of method parameters +- **Attribute-based conditions** via `ConditionProcessor` (see [Condition Processor]({% link condition-processor.md %})) + +```php +class ApiController extends Controller +{ + #[PreCondition(RequiresAuth::class)] + public function getSecure(UserService $users): Response + { + // $users is resolved via DI + // RequiresAuth condition is checked first + return new TextResponse('Secure content'); + } +} +``` + +## SingleRouteController + +For controllers that handle a single endpoint with verb-based dispatch only (no sub-routes): + +```php +use Cubex\Controller\SingleRouteController; + +class HealthCheckController extends SingleRouteController +{ + public function get(): TextResponse + { + return new TextResponse('OK'); + } + + public function post(): TextResponse + { + return new TextResponse('Received'); + } +} +``` + +`SingleRouteController` returns an empty string from `_generateRoutes()`, which the controller resolves to `get()`, `post()`, `ajax()`, or `process()` depending on the HTTP verb. + +## AuthedController (Deprecated) + +{: .warning } +`AuthedController` is deprecated. Use [Middleware]({% link middleware.md %}) or [Condition Processor]({% link condition-processor.md %}) attributes instead. + +`AuthedController` calls `canProcess()` before routing. If it returns `false`, the request is rejected with a 403 response: + +```php +use Cubex\Controller\AuthedController; + +class AdminController extends AuthedController +{ + public function canProcess(&$response): bool + { + return $this->getContext()->request()->has('admin_token'); + } + + public function getIndex(): string + { + return 'Admin panel'; + } +} +``` diff --git a/docs/dependency-injection.md b/docs/dependency-injection.md new file mode 100644 index 0000000..d8e73cb --- /dev/null +++ b/docs/dependency-injection.md @@ -0,0 +1,185 @@ +--- +title: Dependency Injection +layout: default +nav_order: 5 +--- + +# Dependency Injection + +The `Cubex` class is the DI container for the framework. It extends `DependencyInjector` from `packaged/di-container` and provides sharing, factories, auto-resolution, and method injection. + +## Container Basics + +The Cubex instance itself is the DI container — there is no separate container object: + +```php +$cubex = new Cubex(__DIR__, $loader); + +// Share a singleton +$cubex->share(LoggerInterface::class, new FileLogger('/var/log/app.log')); + +// Register a factory +$cubex->factory( + DbConnection::class, + fn() => new DbConnection($cubex->retrieve(Config::class)) +); + +// Retrieve an instance +$logger = $cubex->retrieve(LoggerInterface::class); +``` + +## Core Methods + +### share($abstract, $concrete) + +Registers a singleton binding. Subsequent calls to `retrieve()` return the same instance: + +```php +$cubex->share(CacheInterface::class, new RedisCache($config)); + +// Both calls return the same RedisCache instance +$cache1 = $cubex->retrieve(CacheInterface::class); +$cache2 = $cubex->retrieve(CacheInterface::class); +// $cache1 === $cache2 +``` + +### factory($abstract, callable $factory) + +Registers a factory that is called each time `retrieve()` is invoked: + +```php +$cubex->factory( + RequestContext::class, + fn() => new RequestContext(time()) +); + +// Each call creates a new instance +$ctx1 = $cubex->retrieve(RequestContext::class); +$ctx2 = $cubex->retrieve(RequestContext::class); +// $ctx1 !== $ctx2 +``` + +### retrieve($abstract, $parameters = [], $shared = true, $attemptNewAbstract = true) + +Resolves an abstract to a concrete instance. Resolution order: + +1. Check for a shared singleton +2. Check for a registered factory +3. If `$attemptNewAbstract` is true, attempt to build a new instance via constructor injection + +```php +// Resolves registered binding +$logger = $cubex->retrieve(LoggerInterface::class); + +// Auto-instantiation: if UserService has no binding, +// Cubex tries to construct it, injecting dependencies +$users = $cubex->retrieve(UserService::class); +``` + +### resolve($class, $parameters = []) + +Resolves a class with constructor injection. Dependencies are recursively resolved from the container: + +```php +class UserService +{ + public function __construct( + private DbConnection $db, + private CacheInterface $cache + ) {} +} + +// Both DbConnection and CacheInterface are resolved from the container +$service = $cubex->resolve(UserService::class); +``` + +### resolveMethod($object, $method, $parameters = []) + +Invokes a method on an object, injecting parameters from the container. This is used internally by `Controller` for DI-aware method dispatch: + +```php +class OrderController extends Controller +{ + public function getOrder(OrderService $orders): Response + { + // $orders is injected by the DI container + $id = $this->routeData()->get('id'); + return new JsonResponse($orders->find($id)); + } +} +``` + +## The CubexAware Pattern + +Components that need access to the DI container implement `CubexAware`: + +```php +use Cubex\CubexAware; +use Cubex\CubexAwareTrait; + +class MyService implements CubexAware +{ + use CubexAwareTrait; + + public function doWork(): void + { + $db = $this->getCubex()->retrieve(DbConnection::class); + // ... + } +} +``` + +The framework automatically sets the Cubex instance on `CubexAware` objects during handler preparation and response processing. + +### Interface Methods + +| Method | Description | +|--------|-------------| +| `setCubex(Cubex $cubex)` | Set the Cubex container reference | +| `getCubex(): ?Cubex` | Get the Cubex container | +| `hasCubex(): bool` | Check if a Cubex reference is available | + +## Auto-Wired Route Handlers + +When a route returns a class name string (e.g., `DashboardController::class`), the `RouteProcessor` resolves it through the DI container: + +```php +protected function _generateRoutes(): Generator +{ + // DashboardController is resolved via $cubex->retrieve() + // Its constructor dependencies are auto-injected + yield self::_route('/dashboard', DashboardController::class); +} +``` + +If the context does not have a Cubex reference, the class is instantiated directly with `new`. + +## Built-In Bindings + +Cubex automatically registers these bindings during construction: + +| Abstract | Concrete | Type | +|----------|----------|------| +| `ClassLoader` | Composer autoloader | Shared | +| `DependencyInjector` | The Cubex instance itself | Shared | +| `Context` | Factory from `Request::createFromGlobals()` | Factory | + +## Accessing the Container + +From any `CubexAware` component: + +```php +$cubex = $this->getCubex(); +``` + +From a `Context` (if it is a `CubexAware` Cubex context): + +```php +$cubex = Cubex::fromContext($context); +``` + +Or use the global singleton (if available): + +```php +$cubex = Cubex::instance(); +``` diff --git a/docs/events.md b/docs/events.md new file mode 100644 index 0000000..784a81e --- /dev/null +++ b/docs/events.md @@ -0,0 +1,230 @@ +--- +title: Events +layout: default +nav_order: 8 +--- + +# Events + +Cubex uses an event system based on `Channel` from `packaged/event`. Events are fired at key points in the HTTP and CLI lifecycles, allowing you to hook into framework behavior without modifying core code. + +## Event Channels + +There are two event channels: + +| Channel | Accessed Via | Purpose | +|---------|-------------|---------| +| Cubex channel | `$cubex->listen()` | Framework-level lifecycle events | +| Context channel | `$context->events()` | Context-specific events | + +## Listening for Events + +### On the Cubex Channel + +```php +use Cubex\Events\Handle\ResponsePrepareEvent; + +$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $event) { + $response = $event->getResponse(); + $response->headers->set('X-Powered-By', 'Cubex'); +}); +``` + +### On the Context Channel + +```php +use Cubex\Context\Events\ConsoleLaunchedEvent; + +$context->events()->listen( + ConsoleLaunchedEvent::class, + function (ConsoleLaunchedEvent $event) { + // Console is starting up + } +); +``` + +## Event Hierarchy + +```mermaid +classDiagram + class AbstractEvent { + +getType() string + } + class ShutdownEvent + class ContextEvent { + <> + +getContext() Context + } + class PreExecuteEvent { + +getHandler() + } + class HandlerEvent { + <> + +getHandler() Handler + } + class ResponseEvent { + <> + +getResponse() Response + } + class ResponsePrepareEvent + class ResponsePreparedEvent + class ResponsePreSendHeadersEvent + class ResponsePreSendContentEvent + class HandleCompleteEvent + class ConsoleEvent { + <> + +getConsole() Console + } + class ConsoleCreateEvent + class ConsolePrepareEvent { + +getInput() InputInterface + +getOutput() OutputInterface + } + + AbstractEvent <|-- ShutdownEvent + AbstractEvent <|-- ContextEvent + ContextEvent <|-- PreExecuteEvent + ContextEvent <|-- HandlerEvent + ContextEvent <|-- ConsoleEvent + HandlerEvent <|-- ResponseEvent + ResponseEvent <|-- ResponsePrepareEvent + ResponseEvent <|-- ResponsePreparedEvent + ResponseEvent <|-- ResponsePreSendHeadersEvent + ResponseEvent <|-- ResponsePreSendContentEvent + ResponseEvent <|-- HandleCompleteEvent + ConsoleEvent <|-- ConsoleCreateEvent + ConsoleEvent <|-- ConsolePrepareEvent +``` + +## HTTP Lifecycle Events + +These events fire on the **Cubex channel** during `Cubex::handle()`: + +| Event | When It Fires | Available Data | +|-------|--------------|----------------| +| `PreExecuteEvent` | Before the handler's `handle()` is called | Context, Handler | +| `ResponsePrepareEvent` | After handler returns, before cookies/prepare | Context, Handler, Response | +| `ResponsePreparedEvent` | After `$response->prepare()` is called | Context, Handler, Response | +| `ResponsePreSendHeadersEvent` | Before `$response->sendHeaders()` | Context, Handler, Response | +| `ResponsePreSendContentEvent` | Before `$response->sendContent()` | Context, Handler, Response | +| `HandleCompleteEvent` | After the full response has been sent | Context, Handler, Response | +| `ShutdownEvent` | During `$cubex->shutdown()` | — | + +### Event Flow + +```mermaid +sequenceDiagram + participant Cubex + participant Channel as Cubex Channel + participant Handler + + rect rgb(240, 240, 255) + Cubex->>Channel: PreExecuteEvent + Cubex->>Handler: handle(context) + Handler-->>Cubex: Response + end + + rect rgb(240, 255, 240) + Cubex->>Channel: ResponsePrepareEvent + Note over Cubex: Apply cookies, prepare + Cubex->>Channel: ResponsePreparedEvent + end + + rect rgb(255, 240, 240) + Cubex->>Channel: PreSendHeadersEvent + Cubex->>Channel: PreSendContentEvent + Cubex->>Channel: HandleCompleteEvent + end + + Cubex->>Channel: ShutdownEvent +``` + +{: .note } +`PreExecuteEvent` is also fired by `RouteProcessor::_processHandler()` when a sub-handler is executed during route resolution. + +## CLI Lifecycle Events + +CLI events fire on both channels: + +| Event | Channel | When It Fires | Available Data | +|-------|---------|--------------|----------------| +| `ConsoleLaunchedEvent` | Context | At the start of `Cubex::cli()` | Input, Output | +| `ConsoleCreatedEvent` | Context | When the Console object is first created | Console | +| `ConsoleCreateEvent` | Cubex | Same time as `ConsoleCreatedEvent` | Context, Console | +| `ConsolePrepareEvent` | Cubex | Just before `console->run()` | Context, Console, Input, Output | + +## Event Data Access + +All context events provide access to the context: + +```php +$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) { + $context = $e->getContext(); + $handler = $e->getHandler(); +}); +``` + +Response events add access to the handler and response: + +```php +$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $e) { + $context = $e->getContext(); + $handler = $e->getHandler(); + $response = $e->getResponse(); +}); +``` + +Console events provide access to the console application: + +```php +$cubex->listen(ConsolePrepareEvent::class, function (ConsolePrepareEvent $e) { + $console = $e->getConsole(); + $input = $e->getInput(); + $output = $e->getOutput(); +}); +``` + +## Common Use Cases + +### Adding Response Headers + +```php +$cubex->listen(ResponsePreparedEvent::class, function (ResponsePreparedEvent $e) { + $e->getResponse()->headers->set('X-Request-Id', uniqid()); +}); +``` + +### Logging Request Duration + +```php +$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) { + $e->getContext()->meta()->set('request_start', microtime(true)); +}); + +$cubex->listen(HandleCompleteEvent::class, function (HandleCompleteEvent $e) { + $start = $e->getContext()->meta()->get('request_start'); + $duration = microtime(true) - $start; + Cubex::log()->info('Request completed', ['duration_ms' => $duration * 1000]); +}); +``` + +### Registering Console Commands Dynamically + +```php +$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) { + $e->getConsole()->add(new MigrateCommand()); + $e->getConsole()->add(new SeedCommand()); +}); +``` + +## Server Timing + +The `Cubex\Context\Context` class automatically adds `Server-Timing` headers to responses via a listener on `ResponsePreSendHeadersEvent`. Use the context's timer API: + +```php +$timer = $context->newTimer('db-query', 'Database query'); +// ... perform query ... +$timer->stop(); + +// The Server-Timing header is added automatically before headers are sent +``` diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..1af349a --- /dev/null +++ b/docs/index.md @@ -0,0 +1,102 @@ +--- +title: Cubex Framework +layout: default +nav_order: 1 +--- + +# Cubex Framework + +Cubex is a PHP 8.2+ web application framework that provides routing, dependency injection, middleware, console commands, and a ViewModel layer. It is built on top of `packaged/*` libraries and Symfony components. + +## Requirements + +- PHP 8.2 or later +- Composer + +## Installation + +```bash +composer require cubex/framework +``` + +## Quick Start + +Create a basic HTTP application with a router: + +```php +onPath('/', new FuncHandler(fn() => new TextResponse('Hello, Cubex!'))) + ->onPath('/about', new FuncHandler(fn() => new TextResponse('About page'))); + +$response = $cubex->handle($router); +$cubex->shutdown(); +``` + +## Configuration + +Cubex loads INI configuration files from a `conf/` directory relative to your project root. Files are loaded in cascade order: + +1. `conf/defaults.ini` +2. `conf/defaults/config.ini` +3. `conf/{environment}.ini` +4. `conf/{environment}/config.ini` + +The environment is set via the `CUBEX_ENV` environment variable. + +## Core Concepts + +| Topic | Description | +|-------|-------------| +| [Request Lifecycle]({% link request-lifecycle.md %}) | How HTTP requests and CLI commands flow through the framework | +| [Routing]({% link routing.md %}) | Generator-based route matching with the Router fluent API | +| [Controllers]({% link controllers.md %}) | HTTP verb method resolution and response preparation | +| [Dependency Injection]({% link dependency-injection.md %}) | The DI container, sharing, factories, and auto-resolution | +| [Middleware]({% link middleware.md %}) | Onion-layer middleware chain for request/response processing | +| [ViewModels]({% link viewmodels.md %}) | ViewModel/View separation, templating, and JSON rendering | +| [Events]({% link events.md %}) | Framework lifecycle events and the Channel dispatcher | +| [Console]({% link console.md %}) | Symfony Console integration with auto-configured commands | +| [Condition Processor]({% link condition-processor.md %}) | PHP 8 attribute-based pre-conditions and skip-conditions | + +## Architecture Overview + +```mermaid +flowchart TD + subgraph HTTP["HTTP Request"] + direction TB + Entry["public/index.php"] --> CubexBoot["Bootstrap"] + CubexBoot --> CtxInit["Context Init"] + CtxInit --> Handle["Cubex::handle()"] + Handle --> Router["Router / Controller"] + Router --> MW["Middleware"] + MW --> Handler["Handler"] + Handler --> Response["Response"] + end + + subgraph CLI["CLI Command"] + direction TB + CLIEntry["bin/console"] --> CLIBoot["Bootstrap"] + CLIBoot --> CLICtx["Context Init"] + CLICtx --> CLICli["Cubex::cli()"] + CLICli --> Console["Console"] + Console --> Command["ConsoleCommand"] + end + + subgraph Core["Core Services"] + DI["DI Container"] ~~~ Config["INI Config"] + Context["Context"] ~~~ Events["Event Channel"] + end + + HTTP -.-> Core + CLI -.-> Core +``` diff --git a/docs/middleware.md b/docs/middleware.md new file mode 100644 index 0000000..86a1ec4 --- /dev/null +++ b/docs/middleware.md @@ -0,0 +1,209 @@ +--- +title: Middleware +layout: default +nav_order: 6 +--- + +# Middleware + +Cubex provides an onion-layer middleware system that wraps handlers. Each middleware can process the request before and after the inner handler executes. + +## Middleware Chain + +```mermaid +sequenceDiagram + participant Client + participant MH as MiddlewareHandler + participant MW1 as Middleware 1 + participant MW2 as Middleware 2 + participant Handler as Inner Handler + + rect rgb(240, 240, 255) + Note right of Client: Request + Client->>MH: handle(context) + MH->>MW1: handle(context) + MW1->>MW2: next(context) + MW2->>Handler: next(context) + end + + rect rgb(240, 255, 240) + Note right of Client: Response + Handler-->>MW2: Response + MW2-->>MW1: Response + MW1-->>MH: Response + MH-->>Client: Response + end +``` + +Middleware executes in an onion pattern: +1. The outermost middleware receives the request first +2. Each middleware can run logic before calling `next()` to pass to the next layer +3. The innermost layer is the actual handler +4. Responses bubble back through each middleware in reverse order + +## Implementing Middleware + +Extend the abstract `Middleware` base class: + +```php +use Cubex\Middleware\Middleware; +use Packaged\Context\Context; +use Symfony\Component\HttpFoundation\Response; + +class TimingMiddleware extends Middleware +{ + public function handle(Context $c): Response + { + $start = microtime(true); + + // Call the next handler in the chain + $response = $this->next($c); + + $duration = microtime(true) - $start; + $response->headers->set('X-Response-Time', round($duration * 1000) . 'ms'); + + return $response; + } +} +``` + +The key parts: +- Extend `Middleware` (or implement `MiddlewareInterface` directly) +- Call `$this->next($c)` to pass control to the next middleware or the inner handler +- You can modify the request (context) before calling `next()` and modify the response after + +## MiddlewareInterface + +For full control, implement the interface directly: + +```php +use Cubex\Middleware\MiddlewareInterface; +use Packaged\Context\Context; +use Packaged\Routing\Handler\Handler; +use Symfony\Component\HttpFoundation\Response; + +class AuthMiddleware implements MiddlewareInterface +{ + private Handler $_next; + + public function setNext(Handler $handler): Handler + { + $this->_next = $handler; + return $this; + } + + public function handle(Context $c): Response + { + if (!$c->request()->headers->has('Authorization')) + { + return new Response('Unauthorized', 401); + } + + return $this->_next->handle($c); + } +} +``` + +## Using MiddlewareHandler + +`MiddlewareHandler` wraps a handler with a chain of middleware: + +```php +use Cubex\Middleware\MiddlewareHandler; + +$handler = new MiddlewareHandler($router); +$handler->append(new TimingMiddleware()); +$handler->append(new AuthMiddleware()); +$handler->append(new CorsMiddleware()); + +$response = $cubex->handle($handler); +``` + +### MiddlewareHandler Methods + +| Method | Description | +|--------|-------------| +| `__construct(Handler $handler)` | Create a middleware handler wrapping an inner handler | +| `append(MiddlewareInterface $mw)` | Add middleware to the end of the chain (outermost) | +| `prepend(MiddlewareInterface $mw)` | Add middleware to the front of the chain (innermost) | +| `add(MiddlewareInterface $mw, ?int $mode)` | Add with explicit mode (`PREPEND` or `APPEND`) | +| `remove(MiddlewareInterface\|string $mw)` | Remove the first middleware matching the instance or class name | +| `replace(MiddlewareInterface\|string $old, MiddlewareInterface $new)` | Replace the first matching middleware | + +### Execution Order + +Middleware added with `append()` wraps further out, while `prepend()` wraps closer to the inner handler: + +```php +$handler = new MiddlewareHandler($router); +$handler->append(new A()); // Outermost +$handler->append(new B()); // Even more outer +$handler->prepend(new C()); // Innermost (closest to router) + +// Execution order: B → A → C → Router → C → A → B +``` + +## Common Middleware Patterns + +### Short-Circuit Middleware + +Return a response directly without calling `next()` to stop the chain: + +```php +class MaintenanceMiddleware extends Middleware +{ + public function handle(Context $c): Response + { + if ($this->isMaintenanceMode()) + { + return new Response('Service unavailable', 503); + } + + return $this->next($c); + } +} +``` + +### Request Modification + +Modify the context before passing it along: + +```php +class JsonBodyMiddleware extends Middleware +{ + public function handle(Context $c): Response + { + $request = $c->request(); + if ($request->getContentTypeFormat() === 'json') + { + $data = json_decode($request->getContent(), true); + $request->request->replace($data ?? []); + } + + return $this->next($c); + } +} +``` + +### Response Modification + +Transform the response on the way back: + +```php +class CompressionMiddleware extends Middleware +{ + public function handle(Context $c): Response + { + $response = $this->next($c); + + if (str_contains($c->request()->headers->get('Accept-Encoding', ''), 'gzip')) + { + $compressed = gzencode($response->getContent()); + $response->setContent($compressed); + $response->headers->set('Content-Encoding', 'gzip'); + } + + return $response; + } +} +``` diff --git a/docs/request-lifecycle.md b/docs/request-lifecycle.md new file mode 100644 index 0000000..2ae0867 --- /dev/null +++ b/docs/request-lifecycle.md @@ -0,0 +1,157 @@ +--- +title: Request Lifecycle +layout: default +nav_order: 2 +--- + +# Request Lifecycle + +Cubex handles both HTTP requests and CLI commands through distinct but related lifecycles. Both begin with bootstrapping a `Cubex` instance and creating a `Context`. + +## HTTP Lifecycle + +The HTTP lifecycle is driven by `Cubex::handle(Handler $handler)`. Here is the full flow: + +```mermaid +sequenceDiagram + participant Entry as index.php + participant Cubex + participant Ctx as Context + participant Channel as Event Channel + participant Handler + participant Response + + rect rgb(240, 240, 255) + Note right of Entry: Setup + Entry->>Cubex: new Cubex($root, $loader) + Entry->>Cubex: handle($handler) + Cubex->>Ctx: getContext() + Cubex->>Ctx: initialize() + Cubex->>Handler: setContext($ctx) + end + + rect rgb(240, 255, 240) + Note right of Entry: Execute + Cubex->>Channel: PreExecuteEvent + Cubex->>Handler: handle($ctx) + Handler-->>Cubex: Response + end + + rect rgb(255, 240, 240) + Note right of Entry: Send Response + Cubex->>Channel: ResponsePrepareEvent + Cubex->>Response: apply cookies, prepare() + Cubex->>Channel: ResponsePreparedEvent + Cubex->>Channel: PreSendHeadersEvent + Cubex->>Response: sendHeaders() + Cubex->>Channel: PreSendContentEvent + Cubex->>Response: sendContent() + Cubex->>Channel: HandleCompleteEvent + end + + Entry->>Cubex: shutdown() + Cubex->>Channel: ShutdownEvent +``` + +### Bootstrap + +```php +$loader = require __DIR__ . '/../vendor/autoload.php'; +$cubex = new Cubex(__DIR__ . '/..', $loader); +``` + +The constructor: +1. Sets the project root path +2. Creates an event `Channel` named `'cubex'` +3. Shares the `ClassLoader` and `DependencyInjector` (itself) in the DI container +4. Registers a `Context` factory that creates contexts from `Request::createFromGlobals()` + +### Context Preparation + +When `handle()` is called, it retrieves the shared `Context` from the DI container. The context is prepared with: +- **Environment** from the `CUBEX_ENV` environment variable +- **Project root** path +- **Configuration** loaded from INI files in cascade order +- **Cubex reference** set on the context (if `CubexAware`) + +### Handler Execution + +The handler (typically a `Router`, `Application`, or `Controller`) receives the context and produces a `Response`. If the handler is `ContextAware`, its context is set before execution. + +### Response Processing + +After the handler returns a response, Cubex: +1. Fires `ResponsePrepareEvent` (listeners can modify the response) +2. Applies cookies from the context's cookie jar +3. Calls `$response->prepare($request)` to finalize headers +4. Fires `ResponsePreparedEvent` +5. Sends headers, flushes, then sends content +6. Calls `fastcgi_finish_request()` if running under PHP-FPM +7. Fires `HandleCompleteEvent` + +### Exception Handling + +By default, Cubex catches exceptions in production environments and re-throws them in `local` and `dev` environments. This behavior is controlled by `setThrowEnvironments()`: + +```php +$cubex->setThrowEnvironments([Context::ENV_LOCAL, Context::ENV_DEV]); +``` + +## CLI Lifecycle + +The CLI lifecycle is driven by `Cubex::cli()`: + +```mermaid +sequenceDiagram + participant Entry as bin/console + participant Cubex + participant Ctx as Context + participant Channel as Event Channel + participant Console + participant Command + + rect rgb(240, 240, 255) + Note right of Entry: Bootstrap + Entry->>Cubex: new Cubex($root, $loader) + Entry->>Cubex: cli($input, $output) + Cubex->>Ctx: getContext() + end + + rect rgb(240, 255, 240) + Note right of Entry: Console Setup + Cubex->>Ctx: trigger(ConsoleLaunchedEvent) + Cubex->>Console: create Console + Cubex->>Ctx: trigger(ConsoleCreatedEvent) + Cubex->>Channel: ConsoleCreateEvent + Note over Console: Registers commands from config + end + + rect rgb(255, 240, 240) + Note right of Entry: Execute + Cubex->>Channel: ConsolePrepareEvent + Cubex->>Console: run($input, $output) + Console->>Command: execute() + Command-->>Console: exit code + Console-->>Cubex: exit code + end +``` + +### CLI Bootstrap + +```php +$loader = require __DIR__ . '/../vendor/autoload.php'; +$cubex = new Cubex(__DIR__ . '/..', $loader); +exit($cubex->cli()); +``` + +`Cubex::cli()` creates default `ArgvInput` and `ConsoleOutput` if none are provided, then: +1. Fires `ConsoleLaunchedEvent` on the context event channel +2. Creates the `Console` application (lazy, cached) +3. Fires `ConsoleCreatedEvent` (context channel) and `ConsoleCreateEvent` (cubex channel) +4. Fires `ConsolePrepareEvent` on the cubex channel +5. Runs the console application +6. Returns the exit code (capped at 255) + +### Shutdown + +Call `$cubex->shutdown()` after handling completes. This fires the `ShutdownEvent` exactly once (guarded against double-shutdown). If shutdown is not called explicitly, the destructor will attempt it and log a warning. diff --git a/docs/routing.md b/docs/routing.md new file mode 100644 index 0000000..e287a24 --- /dev/null +++ b/docs/routing.md @@ -0,0 +1,145 @@ +--- +title: Routing +layout: default +nav_order: 3 +--- + +# Routing + +Cubex uses a generator-based routing system built on `packaged/routing`. Routes are defined by yielding conditions from `_generateRoutes()`, and the framework traverses them to find a matching handler. + +## How Route Resolution Works + +```mermaid +flowchart TD + Start["handle()"] --> GetHandler["_getHandler(context)"] + GetHandler --> GenRoutes["_generateRoutes()"] + GenRoutes --> Check{"Next condition?"} + Check -->|Yes| Eval{"Matches?"} + Check -->|No| Default["Default handler"] + Eval -->|No| Check + Eval -->|Yes| IsRoute{"Traversable?"} + IsRoute -->|Yes| Traverse["Traverse sub-handler"] --> Check + IsRoute -->|No| Handler["Matched handler"] + Handler --> Prepare["_prepareHandler()"] + Default --> Prepare + Prepare --> Process["_processHandler()"] + Process --> PrepResp["_prepareResponse()"] +``` + +The `RouteSelector` base class (from `packaged/routing`) calls `_generateRoutes()` and iterates through the yielded `ConditionHandler` pairs. For each: + +1. The condition is evaluated against the current context +2. If the handler is a `Route` (traversable), it recurses into the sub-handler +3. Otherwise, the matched handler is returned + +The result passes through `_prepareHandler()` (string-to-class resolution, redirect handling) and then `_processHandler()` (execution). + +## The Router Class + +`Router` provides a fluent API for defining routes without subclassing: + +```php +use Cubex\Routing\Router; +use Packaged\Http\Response\TextResponse; +use Packaged\Routing\Handler\FuncHandler; + +$router = Router::i() + ->onPath('/hello', new FuncHandler( + fn() => new TextResponse('Hello, World!') + )) + ->onPathFunc('/greet/{name}', function ($ctx) { + $name = $ctx->routeData()->get('name'); + return new TextResponse("Hello, {$name}!"); + }) + ->setDefaultHandler(new FuncHandler( + fn() => new TextResponse('Not Found', 404) + )); +``` + +### Router Methods + +| Method | Description | +|--------|-------------| +| `Router::i()` | Static factory for a new Router instance | +| `onPath($path, $handler)` | Add a route matching the given path pattern | +| `onPathFunc($path, callable $func)` | Add a route with a callable (wrapped in `FuncHandler`) | +| `setDefaultHandler(Handler $handler)` | Set the fallback handler when no route matches | +| `addCondition(ConditionHandler $cond)` | Add a custom condition/handler pair | +| `getHandler(Context $ctx)` | Resolve the matching handler for a context | + +### Path Patterns + +Path matching uses `RequestCondition` from `packaged/routing`. Patterns support: + +| Syntax | Description | Example | +|--------|-------------|---------| +| `/literal` | Exact path segment | `/users` | +| `/{name}` | Named path variable | `/users/{id}` | +| `/{name@constraint}` | Constrained variable | `/{id@num}` | +| Prefix matching | Routes match path prefixes by default | `/api` matches `/api/users` | + +Route data (captured variables) is available via `$context->routeData()`. + +## Generator-Based Routes + +For custom route processors, override `_generateRoutes()` to yield route conditions: + +```php +use Cubex\Routing\RouteProcessor; +use Packaged\Routing\ConditionHandler; +use Packaged\Routing\Handler\FuncHandler; +use Packaged\Routing\RequestCondition; + +class MyRouter extends RouteProcessor +{ + protected function _generateRoutes(): Generator + { + yield self::_route('/dashboard', DashboardController::class); + yield self::_route('/api', ApiRouter::class); + yield self::_route('/health', new FuncHandler( + fn() => new TextResponse('OK') + )); + // Default handler returned (not yielded) + return new FuncHandler(fn() => new TextResponse('Not Found', 404)); + } +} +``` + +The `_route()` helper (from `RouteSelector`) creates `ConditionHandler` pairs from a path and handler. + +## Redirect Shorthand + +String handlers beginning with `@` are treated as redirects: + +``` +@301!/new-url → 301 redirect to /new-url +@302!/other → 302 redirect to /other +``` + +This is handled in `RouteProcessor::_prepareHandler()`. + +## Handler Resolution Chain + +When `_prepareHandler()` processes a handler, it follows this chain: + +1. **String containing `\`**: Treated as a class name — resolved via DI container (if Cubex is available) or instantiated directly +2. **String starting with `@`**: Parsed as a redirect (`@{code}!{url}`) +3. **Callable**: Invoked directly, result processed recursively +4. **Handler instance**: `handle()` is called with the context +5. **String (in Controller)**: Resolved to controller methods via HTTP verb prefixes (see [Controllers]({% link controllers.md %})) + +## Nested Routing + +Routes can be nested by returning other `RouteProcessor` instances (routers, applications, or controllers) as handlers: + +```php +protected function _generateRoutes(): Generator +{ + // ApiRouter is itself a RouteProcessor with its own _generateRoutes() + yield self::_route('/api', ApiRouter::class); + yield self::_route('/admin', AdminController::class); +} +``` + +The path is consumed segment by segment as the route traverses into nested handlers. diff --git a/docs/viewmodels.md b/docs/viewmodels.md new file mode 100644 index 0000000..13420d3 --- /dev/null +++ b/docs/viewmodels.md @@ -0,0 +1,268 @@ +--- +title: ViewModels +layout: default +nav_order: 7 +--- + +# ViewModels + +Cubex separates data (Models/ViewModels) from presentation (Views). This pattern keeps business logic out of templates and makes models independently testable and JSON-serializable. + +## Class Hierarchy + +```mermaid +classDiagram + class Model { + <> + +jsonSerialize() mixed + } + class View { + <> + +setModel(Model data) + +render() string + } + class ViewModel { + +setView(string viewClass) self + +createView() View + +lock() self + } + class AbstractView { + <> + +setModel(Model data) + +render() string + } + class TemplatedViewModel { + +render() string + +addVariant(string variant) self + } + class JsonView { + +setFlags(int flags) self + +render() string + } + class ArrayModel { + +set(array data) self + +addItem(value, key) self + } + + Model <|.. ViewModel + View <|.. AbstractView + ViewModel <|-- TemplatedViewModel + View <|.. TemplatedViewModel + AbstractView <|-- JsonView + ViewModel <|-- ArrayModel +``` + +## ViewModel + +The primary data container. Holds data as public properties, supports JSON serialization, and can create a corresponding View: + +```php +use Cubex\ViewModel\ViewModel; + +class UserProfileModel extends ViewModel +{ + protected string $_defaultView = UserProfileView::class; + + public string $name; + public string $email; + public int $age; +} +``` + +### Creating and Using + +```php +$model = new UserProfileModel(); +$model->name = 'Alice'; +$model->email = 'alice@example.com'; +$model->age = 30; + +// Create the associated view and render +$view = $model->createView(); +$html = $view->render(); + +// Or serialize to JSON +$json = json_encode($model); +// {"name":"Alice","email":"alice@example.com","age":30} +``` + +### Locking (Immutability) + +Call `lock()` to freeze the model's state. After locking, property values are captured and the model becomes read-only: + +```php +$model->lock(); + +// Properties are still readable +echo $model->name; // "Alice" + +// But setting throws an exception +$model->name = 'Bob'; // Throws: "Cannot set property 'name' ... is immutable" +``` + +Locked models serialize from their frozen snapshot rather than live properties. + +### Custom View Override + +Override the view class at creation time: + +```php +$view = $model->createView(MobileUserProfileView::class); +``` + +## View + +Views receive a model and render it to a string. Implement the `View` interface: + +```php +use Cubex\ViewModel\View; +use Cubex\ViewModel\Model; + +class UserProfileView implements View +{ + private Model $_model; + + public function setModel(Model $data): void + { + $this->_model = $data; + } + + public function render(): string + { + return "
" + . "

{$this->_model->name}

" + . "

{$this->_model->email}

" + . "
"; + } +} +``` + +### AbstractView + +A convenient base class that stores the model and provides a `_render()` hook: + +```php +use Cubex\ViewModel\AbstractView; + +class UserCardView extends AbstractView +{ + protected function _render(): ?ISafeHtmlProducer + { + // Access the model via $this->_model + return new SafeHtml("
{$this->_model->name}
"); + } +} +``` + +## TemplatedViewModel + +Combines ViewModel and View into a single class. Renders using `.phtml` template files located alongside the class file: + +```php +use Cubex\ViewModel\TemplatedViewModel; + +class DashboardPage extends TemplatedViewModel +{ + public int $userCount; + public int $orderCount; + public array $recentOrders; +} +``` + +With a template at `DashboardPage.phtml` in the same directory: + +```php + +
+

Dashboard

+

Users: userCount ?>

+

Orders: orderCount ?>

+
    + recentOrders as $order): ?> +
  • :
  • + +
+
+``` + +### Template Variants + +Add variant templates that take priority over the default. Useful for device-specific or A/B test rendering: + +```php +$page = new DashboardPage(); +$page->addVariant('mobile'); +// Looks for DashboardPage.mobile.phtml first, +// falls back to DashboardPage.phtml +echo $page->render(); +``` + +### Self-Rendering + +`TemplatedViewModel` acts as its own view. Calling `createView()` without an override returns `$this`: + +```php +$page = new DashboardPage(); +$view = $page->createView(); // Returns $page itself +echo $view->render(); // Renders the template +``` + +## JsonView + +Renders any `Model` as JSON: + +```php +use Cubex\ViewModel\JsonView; + +$model = new UserProfileModel(); +$model->name = 'Alice'; +$model->email = 'alice@example.com'; + +$view = new JsonView(); +$view->setModel($model); +$view->setFlags(JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); +echo $view->render(); +``` + +## ArrayModel + +A ViewModel backed by a simple array instead of typed properties: + +```php +use Cubex\ViewModel\ArrayModel; + +$model = new ArrayModel(); +$model->addItem('Alice', 'name'); +$model->addItem('alice@example.com', 'email'); +$model->set(['tags' => ['admin', 'user']]); + +echo json_encode($model); +// {"name":"Alice","email":"alice@example.com","tags":["admin","user"]} +``` + +## ViewModel Flow in Controllers + +When a controller method returns a `ViewModel`, the framework handles view creation and rendering automatically: + +```mermaid +flowchart LR + Controller["Controller returns
ViewModel"] --> SetCtx["Set context/cubex"] + SetCtx --> CreateView["createView()"] + CreateView --> SetModel["setModel()"] + SetModel --> Render["render()"] + Render --> Response["CubexResponse"] +``` + +```php +class ProfileController extends Controller +{ + public function getIndex(): UserProfileModel + { + $model = new UserProfileModel(); + $model->name = 'Alice'; + $model->email = 'alice@example.com'; + // Controller::_prepareResponse() handles the rest + return $model; + } +} +``` From e376b4a4c2756e6989c92bc3b7e29449143c67a9 Mon Sep 17 00:00:00 2001 From: Michael Sievenpiper Date: Tue, 10 Feb 2026 12:43:27 +0000 Subject: [PATCH 2/3] - update references from bin to cubex file --- docs/_site/assets/js/search-data.json | 10 +++++----- docs/_site/console.html | 23 +++++++++++------------ docs/_site/index.html | 2 +- docs/_site/request-lifecycle.html | 2 +- docs/console.md | 23 +++++++++++------------ docs/index.md | 2 +- docs/request-lifecycle.md | 2 +- 7 files changed, 31 insertions(+), 33 deletions(-) diff --git a/docs/_site/assets/js/search-data.json b/docs/_site/assets/js/search-data.json index aca1906..81ca330 100644 --- a/docs/_site/assets/js/search-data.json +++ b/docs/_site/assets/js/search-data.json @@ -64,7 +64,7 @@ },"9": { "doc": "Console", "title": "CLI Entry Point", - "content": "<?php // bin/console $loader = require __DIR__ . '/../vendor/autoload.php'; $cubex = new \\Cubex\\Cubex(__DIR__ . '/..', $loader); exit($cubex->cli()); . sequenceDiagram participant Entry as bin/console participant Cubex participant Console participant Config as INI Config participant Command rect rgb(240, 240, 255) Note right of Entry: Setup Entry->>Cubex: cli() Cubex->>Console: getConsole() Console->>Config: read [console] section Config-->>Console: commands & patterns Note over Console: Register commands + BuiltInWebServer end rect rgb(240, 255, 240) Note right of Entry: Execute Cubex->>Console: run(input, output) Console->>Command: find + execute() Command-->>Console: exit code Console-->>Cubex: exit code end . ", + "content": "<?php // cubex $loader = require_once('vendor/autoload.php'); exit((new \\Cubex\\Cubex(__DIR__, $loader))->cli()); . sequenceDiagram participant Entry as cubex participant Cubex participant Console participant Config as INI Config participant Command rect rgb(240, 240, 255) Note right of Entry: Setup Entry->>Cubex: cli() Cubex->>Console: getConsole() Console->>Config: read [console] section Config-->>Console: commands & patterns Note over Console: Register commands + BuiltInWebServer end rect rgb(240, 255, 240) Note right of Entry: Execute Cubex->>Console: run(input, output) Console->>Command: find + execute() Command-->>Console: exit code Console-->>Cubex: exit code end . ", "url": "/framework/console.html#cli-entry-point", "relUrl": "/console.html#cli-entry-point" @@ -78,14 +78,14 @@ },"11": { "doc": "Console", "title": "ConsoleCommand", - "content": "ConsoleCommand extends Symfony’s Command with automatic argument/option configuration from method signatures and DocBlock annotations. Defining Commands . Create a command by extending ConsoleCommand and implementing one of three method signatures: . use Cubex\\Console\\ConsoleCommand; /** * @name greet * @description Greet a user by name */ class GreetCommand extends ConsoleCommand { /** * Short description for --uppercase option * @short u * @flag */ public bool $uppercase = false; public function executeCommand( InputInterface $input, OutputInterface $output, string $name, string $greeting = 'Hello' ): int { $message = \"{$greeting}, {$name}!\"; if ($this->uppercase) { $message = strtoupper($message); } $output->writeln($message); return 0; } } . php bin/console greet Alice # Hello, Alice! php bin/console greet Alice --uppercase -greeting \"Good morning\" # GOOD MORNING, ALICE! . Method Signatures . ConsoleCommand dispatches to the first available method: . | Method | Signature | Notes | . | executeCommand | (InputInterface, OutputInterface, ...args) | Full access to I/O; extra params become arguments | . | process | (...args) | Simplified; params become arguments | . | _execute | (InputInterface, OutputInterface) | Fallback; manually read input | . Parameters after the first two in executeCommand (or all parameters in process) are automatically registered as console arguments. Auto-Configured Arguments . Method parameters are converted to console arguments: . public function process(string $name, int $count = 1): int { // $name → required argument // $count → optional argument (default: 1) return 0; } . Auto-Configured Options from Properties . Public properties are converted to console options. DocBlock annotations control behavior: . | Annotation | Effect | Example | . | @short | Single-letter shortcut | @short v → -v | . | @description | Option description in help | @description Enable verbose | . | @flag | Boolean flag (no value) | @flag → --verbose | . | @valuerequired | Value is required | @valuerequired | . /** * The output format * @short f * @valuerequired */ public string $format = 'json'; /** * Run in dry-run mode * @short n * @flag */ public bool $dryRun = false; . DocBlock Command Metadata . Use DocBlock annotations on the class to set the command name and description: . /** * @name cache:clear * @description Clear the application cache */ class ClearCacheCommand extends ConsoleCommand { // ... } . If @name is not specified, the command name defaults to the lowercase class basename. Context and DI Access . ConsoleCommand implements both ContextAware and CubexAware, so you have full access to the framework: . class MigrateCommand extends ConsoleCommand { public function process(): int { $db = $this->getCubex()->retrieve(DbConnection::class); $config = $this->getContext()->config(); // ... return 0; } } . ", + "content": "ConsoleCommand extends Symfony’s Command with automatic argument/option configuration from method signatures and DocBlock annotations. Defining Commands . Create a command by extending ConsoleCommand and implementing one of three method signatures: . use Cubex\\Console\\ConsoleCommand; /** * @name greet * @description Greet a user by name */ class GreetCommand extends ConsoleCommand { /** * Short description for --uppercase option * @short u * @flag */ public bool $uppercase = false; public function executeCommand( InputInterface $input, OutputInterface $output, string $name, string $greeting = 'Hello' ): int { $message = \"{$greeting}, {$name}!\"; if ($this->uppercase) { $message = strtoupper($message); } $output->writeln($message); return 0; } } . php cubex greet Alice # Hello, Alice! php cubex greet Alice --uppercase -greeting \"Good morning\" # GOOD MORNING, ALICE! . Method Signatures . ConsoleCommand dispatches to the first available method: . | Method | Signature | Notes | . | executeCommand | (InputInterface, OutputInterface, ...args) | Full access to I/O; extra params become arguments | . | process | (...args) | Simplified; params become arguments | . | _execute | (InputInterface, OutputInterface) | Fallback; manually read input | . Parameters after the first two in executeCommand (or all parameters in process) are automatically registered as console arguments. Auto-Configured Arguments . Method parameters are converted to console arguments: . public function process(string $name, int $count = 1): int { // $name → required argument // $count → optional argument (default: 1) return 0; } . Auto-Configured Options from Properties . Public properties are converted to console options. DocBlock annotations control behavior: . | Annotation | Effect | Example | . | @short | Single-letter shortcut | @short v → -v | . | @description | Option description in help | @description Enable verbose | . | @flag | Boolean flag (no value) | @flag → --verbose | . | @valuerequired | Value is required | @valuerequired | . /** * The output format * @short f * @valuerequired */ public string $format = 'json'; /** * Run in dry-run mode * @short n * @flag */ public bool $dryRun = false; . DocBlock Command Metadata . Use DocBlock annotations on the class to set the command name and description: . /** * @name cache:clear * @description Clear the application cache */ class ClearCacheCommand extends ConsoleCommand { // ... } . If @name is not specified, the command name defaults to the lowercase class basename. Context and DI Access . ConsoleCommand implements both ContextAware and CubexAware, so you have full access to the framework: . class MigrateCommand extends ConsoleCommand { public function process(): int { $db = $this->getCubex()->retrieve(DbConnection::class); $config = $this->getContext()->config(); // ... return 0; } } . ", "url": "/framework/console.html#consolecommand", "relUrl": "/console.html#consolecommand" },"12": { "doc": "Console", "title": "Built-In Web Server", - "content": "Cubex includes a serve command that starts PHP’s built-in web server: . php bin/console serve # Starts server at 127.0.0.1:8888 php bin/console serve -p 3000 # Custom port php bin/console serve --host 0.0.0.0 # Bind to all interfaces php bin/console serve -d # Enable xdebug php bin/console serve --useNextAvailablePort # Auto-increment port if 8888 is in use . serve Options . | Option | Short | Description | . | --host |   | Server hostname (default: 127.0.0.1) | . | --port | -p | Server port (default: 8888) | . | --router |   | PHP router script (default: public/index.php) | . | --workers | -w | Number of PHP CLI server workers (default: 5) | . | --debug | -d | Enable xdebug | . | --debugIdeKey | -idekey | IDE key for xdebug (default: PHPSTORM) | . | --showCommand |   | Display the raw command being executed | . | --showfig |   | Show ASCII figlet banner (default: true) | . | --useNextAvailablePort |   | Auto-find next available port | . | --cubexLocalSubDomain | -c | Use {value}.cubex-local.com as host | . | --comment |   | Extra output text | . Server Configuration via INI . Host and port can also be configured in INI files: . ; conf/defaults.ini [serve] host = \"0.0.0.0\" port = 9000 . ", + "content": "Cubex includes a serve command that starts PHP’s built-in web server: . php cubex serve # Starts server at 127.0.0.1:8888 php cubex serve -p 3000 # Custom port php cubex serve --host 0.0.0.0 # Bind to all interfaces php cubex serve -d # Enable xdebug php cubex serve --useNextAvailablePort # Auto-increment port if 8888 is in use . serve Options . | Option | Short | Description | . | --host |   | Server hostname (default: 127.0.0.1) | . | --port | -p | Server port (default: 8888) | . | --router |   | PHP router script (default: public/index.php) | . | --workers | -w | Number of PHP CLI server workers (default: 5) | . | --debug | -d | Enable xdebug | . | --debugIdeKey | -idekey | IDE key for xdebug (default: PHPSTORM) | . | --showCommand |   | Display the raw command being executed | . | --showfig |   | Show ASCII figlet banner (default: true) | . | --useNextAvailablePort |   | Auto-find next available port | . | --cubexLocalSubDomain | -c | Use {value}.cubex-local.com as host | . | --comment |   | Extra output text | . Server Configuration via INI . Host and port can also be configured in INI files: . ; conf/defaults.ini [serve] host = \"0.0.0.0\" port = 9000 . ", "url": "/framework/console.html#built-in-web-server", "relUrl": "/console.html#built-in-web-server" @@ -309,7 +309,7 @@ },"44": { "doc": "Cubex Framework", "title": "Architecture Overview", - "content": "flowchart TD subgraph HTTP[\"HTTP Request\"] direction TB Entry[\"public/index.php\"] --> CubexBoot[\"Bootstrap\"] CubexBoot --> CtxInit[\"Context Init\"] CtxInit --> Handle[\"Cubex::handle()\"] Handle --> Router[\"Router / Controller\"] Router --> MW[\"Middleware\"] MW --> Handler[\"Handler\"] Handler --> Response[\"Response\"] end subgraph CLI[\"CLI Command\"] direction TB CLIEntry[\"bin/console\"] --> CLIBoot[\"Bootstrap\"] CLIBoot --> CLICtx[\"Context Init\"] CLICtx --> CLICli[\"Cubex::cli()\"] CLICli --> Console[\"Console\"] Console --> Command[\"ConsoleCommand\"] end subgraph Core[\"Core Services\"] DI[\"DI Container\"] ~~~ Config[\"INI Config\"] Context[\"Context\"] ~~~ Events[\"Event Channel\"] end HTTP -.-> Core CLI -.-> Core . ", + "content": "flowchart TD subgraph HTTP[\"HTTP Request\"] direction TB Entry[\"public/index.php\"] --> CubexBoot[\"Bootstrap\"] CubexBoot --> CtxInit[\"Context Init\"] CtxInit --> Handle[\"Cubex::handle()\"] Handle --> Router[\"Router / Controller\"] Router --> MW[\"Middleware\"] MW --> Handler[\"Handler\"] Handler --> Response[\"Response\"] end subgraph CLI[\"CLI Command\"] direction TB CLIEntry[\"cubex\"] --> CLIBoot[\"Bootstrap\"] CLIBoot --> CLICtx[\"Context Init\"] CLICtx --> CLICli[\"Cubex::cli()\"] CLICli --> Console[\"Console\"] Console --> Command[\"ConsoleCommand\"] end subgraph Core[\"Core Services\"] DI[\"DI Container\"] ~~~ Config[\"INI Config\"] Context[\"Context\"] ~~~ Events[\"Event Channel\"] end HTTP -.-> Core CLI -.-> Core . ", "url": "/framework/#architecture-overview", "relUrl": "/#architecture-overview" @@ -372,7 +372,7 @@ },"53": { "doc": "Request Lifecycle", "title": "CLI Lifecycle", - "content": "The CLI lifecycle is driven by Cubex::cli(): . sequenceDiagram participant Entry as bin/console participant Cubex participant Ctx as Context participant Channel as Event Channel participant Console participant Command rect rgb(240, 240, 255) Note right of Entry: Bootstrap Entry->>Cubex: new Cubex($root, $loader) Entry->>Cubex: cli($input, $output) Cubex->>Ctx: getContext() end rect rgb(240, 255, 240) Note right of Entry: Console Setup Cubex->>Ctx: trigger(ConsoleLaunchedEvent) Cubex->>Console: create Console Cubex->>Ctx: trigger(ConsoleCreatedEvent) Cubex->>Channel: ConsoleCreateEvent Note over Console: Registers commands from config end rect rgb(255, 240, 240) Note right of Entry: Execute Cubex->>Channel: ConsolePrepareEvent Cubex->>Console: run($input, $output) Console->>Command: execute() Command-->>Console: exit code Console-->>Cubex: exit code end . CLI Bootstrap . $loader = require __DIR__ . '/../vendor/autoload.php'; $cubex = new Cubex(__DIR__ . '/..', $loader); exit($cubex->cli()); . Cubex::cli() creates default ArgvInput and ConsoleOutput if none are provided, then: . | Fires ConsoleLaunchedEvent on the context event channel | Creates the Console application (lazy, cached) | Fires ConsoleCreatedEvent (context channel) and ConsoleCreateEvent (cubex channel) | Fires ConsolePrepareEvent on the cubex channel | Runs the console application | Returns the exit code (capped at 255) | . Shutdown . Call $cubex->shutdown() after handling completes. This fires the ShutdownEvent exactly once (guarded against double-shutdown). If shutdown is not called explicitly, the destructor will attempt it and log a warning. ", + "content": "The CLI lifecycle is driven by Cubex::cli(): . sequenceDiagram participant Entry as cubex participant Cubex participant Ctx as Context participant Channel as Event Channel participant Console participant Command rect rgb(240, 240, 255) Note right of Entry: Bootstrap Entry->>Cubex: new Cubex($root, $loader) Entry->>Cubex: cli($input, $output) Cubex->>Ctx: getContext() end rect rgb(240, 255, 240) Note right of Entry: Console Setup Cubex->>Ctx: trigger(ConsoleLaunchedEvent) Cubex->>Console: create Console Cubex->>Ctx: trigger(ConsoleCreatedEvent) Cubex->>Channel: ConsoleCreateEvent Note over Console: Registers commands from config end rect rgb(255, 240, 240) Note right of Entry: Execute Cubex->>Channel: ConsolePrepareEvent Cubex->>Console: run($input, $output) Console->>Command: execute() Command-->>Console: exit code Console-->>Cubex: exit code end . CLI Bootstrap . $loader = require __DIR__ . '/../vendor/autoload.php'; $cubex = new Cubex(__DIR__ . '/..', $loader); exit($cubex->cli()); . Cubex::cli() creates default ArgvInput and ConsoleOutput if none are provided, then: . | Fires ConsoleLaunchedEvent on the context event channel | Creates the Console application (lazy, cached) | Fires ConsoleCreatedEvent (context channel) and ConsoleCreateEvent (cubex channel) | Fires ConsolePrepareEvent on the cubex channel | Runs the console application | Returns the exit code (capped at 255) | . Shutdown . Call $cubex->shutdown() after handling completes. This fires the ShutdownEvent exactly once (guarded against double-shutdown). If shutdown is not called explicitly, the destructor will attempt it and log a warning. ", "url": "/framework/request-lifecycle.html#cli-lifecycle", "relUrl": "/request-lifecycle.html#cli-lifecycle" diff --git a/docs/_site/console.html b/docs/_site/console.html index e49de80..3f45521 100644 --- a/docs/_site/console.html +++ b/docs/_site/console.html @@ -1,10 +1,9 @@ Console | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Console

Cubex integrates with Symfony Console to provide CLI command support. It adds auto-configuration from INI files, DocBlock-driven argument/option definition, and DI integration.

CLI Entry Point

<?php
-// bin/console
-$loader = require __DIR__ . '/../vendor/autoload.php';
-$cubex = new \Cubex\Cubex(__DIR__ . '/..', $loader);
-exit($cubex->cli());
+// cubex
+$loader = require_once('vendor/autoload.php');
+exit((new \Cubex\Cubex(__DIR__, $loader))->cli());
 
sequenceDiagram
-    participant Entry as bin/console
+    participant Entry as cubex
     participant Cubex
     participant Console
     participant Config as INI Config
@@ -68,10 +67,10 @@
     return 0;
   }
 }
-
php bin/console greet Alice
+
php cubex greet Alice
 # Hello, Alice!
 
-php bin/console greet Alice --uppercase -greeting "Good morning"
+php cubex greet Alice --uppercase -greeting "Good morning"
 # GOOD MORNING, ALICE!
 

Method Signatures

ConsoleCommand dispatches to the first available method:

Method Signature Notes
executeCommand (InputInterface, OutputInterface, ...args) Full access to I/O; extra params become arguments
process (...args) Simplified; params become arguments
_execute (InputInterface, OutputInterface) Fallback; manually read input

Parameters after the first two in executeCommand (or all parameters in process) are automatically registered as console arguments.

Auto-Configured Arguments

Method parameters are converted to console arguments:

public function process(string $name, int $count = 1): int
 {
@@ -110,19 +109,19 @@
     return 0;
   }
 }
-

Built-In Web Server

Cubex includes a serve command that starts PHP’s built-in web server:

php bin/console serve
+

Built-In Web Server

Cubex includes a serve command that starts PHP’s built-in web server:

php cubex serve
 # Starts server at 127.0.0.1:8888
 
-php bin/console serve -p 3000
+php cubex serve -p 3000
 # Custom port
 
-php bin/console serve --host 0.0.0.0
+php cubex serve --host 0.0.0.0
 # Bind to all interfaces
 
-php bin/console serve -d
+php cubex serve -d
 # Enable xdebug
 
-php bin/console serve --useNextAvailablePort
+php cubex serve --useNextAvailablePort
 # Auto-increment port if 8888 is in use
 

serve Options

Option Short Description
--host   Server hostname (default: 127.0.0.1)
--port -p Server port (default: 8888)
--router   PHP router script (default: public/index.php)
--workers -w Number of PHP CLI server workers (default: 5)
--debug -d Enable xdebug
--debugIdeKey -idekey IDE key for xdebug (default: PHPSTORM)
--showCommand   Display the raw command being executed
--showfig   Show ASCII figlet banner (default: true)
--useNextAvailablePort   Auto-find next available port
--cubexLocalSubDomain -c Use {value}.cubex-local.com as host
--comment   Extra output text

Server Configuration via INI

Host and port can also be configured in INI files:

; conf/defaults.ini
 [serve]
diff --git a/docs/_site/index.html b/docs/_site/index.html
index 5369c8e..8f85051 100644
--- a/docs/_site/index.html
+++ b/docs/_site/index.html
@@ -30,7 +30,7 @@
 
   subgraph CLI["CLI Command"]
     direction TB
-    CLIEntry["bin/console"] --> CLIBoot["Bootstrap"]
+    CLIEntry["cubex"] --> CLIBoot["Bootstrap"]
     CLIBoot --> CLICtx["Context Init"]
     CLICtx --> CLICli["Cubex::cli()"]
     CLICli --> Console["Console"]
diff --git a/docs/_site/request-lifecycle.html b/docs/_site/request-lifecycle.html
index c0640a2..e4fe5f7 100644
--- a/docs/_site/request-lifecycle.html
+++ b/docs/_site/request-lifecycle.html
@@ -40,7 +40,7 @@
 $cubex = new Cubex(__DIR__ . '/..', $loader);
 

The constructor:

  1. Sets the project root path
  2. Creates an event Channel named 'cubex'
  3. Shares the ClassLoader and DependencyInjector (itself) in the DI container
  4. Registers a Context factory that creates contexts from Request::createFromGlobals()

Context Preparation

When handle() is called, it retrieves the shared Context from the DI container. The context is prepared with:

  • Environment from the CUBEX_ENV environment variable
  • Project root path
  • Configuration loaded from INI files in cascade order
  • Cubex reference set on the context (if CubexAware)

Handler Execution

The handler (typically a Router, Application, or Controller) receives the context and produces a Response. If the handler is ContextAware, its context is set before execution.

Response Processing

After the handler returns a response, Cubex:

  1. Fires ResponsePrepareEvent (listeners can modify the response)
  2. Applies cookies from the context’s cookie jar
  3. Calls $response->prepare($request) to finalize headers
  4. Fires ResponsePreparedEvent
  5. Sends headers, flushes, then sends content
  6. Calls fastcgi_finish_request() if running under PHP-FPM
  7. Fires HandleCompleteEvent

Exception Handling

By default, Cubex catches exceptions in production environments and re-throws them in local and dev environments. This behavior is controlled by setThrowEnvironments():

$cubex->setThrowEnvironments([Context::ENV_LOCAL, Context::ENV_DEV]);
 

CLI Lifecycle

The CLI lifecycle is driven by Cubex::cli():

sequenceDiagram
-    participant Entry as bin/console
+    participant Entry as cubex
     participant Cubex
     participant Ctx as Context
     participant Channel as Event Channel
diff --git a/docs/console.md b/docs/console.md
index e41de6d..b8f78e1 100644
--- a/docs/console.md
+++ b/docs/console.md
@@ -12,15 +12,14 @@ Cubex integrates with Symfony Console to provide CLI command support. It adds au
 
 ```php
 cli());
+// cubex
+$loader = require_once('vendor/autoload.php');
+exit((new \Cubex\Cubex(__DIR__, $loader))->cli());
 ```
 
 ```mermaid
 sequenceDiagram
-    participant Entry as bin/console
+    participant Entry as cubex
     participant Cubex
     participant Console
     participant Config as INI Config
@@ -118,10 +117,10 @@ class GreetCommand extends ConsoleCommand
 ```
 
 ```bash
-php bin/console greet Alice
+php cubex greet Alice
 # Hello, Alice!
 
-php bin/console greet Alice --uppercase -greeting "Good morning"
+php cubex greet Alice --uppercase -greeting "Good morning"
 # GOOD MORNING, ALICE!
 ```
 
@@ -216,19 +215,19 @@ class MigrateCommand extends ConsoleCommand
 Cubex includes a `serve` command that starts PHP's built-in web server:
 
 ```bash
-php bin/console serve
+php cubex serve
 # Starts server at 127.0.0.1:8888
 
-php bin/console serve -p 3000
+php cubex serve -p 3000
 # Custom port
 
-php bin/console serve --host 0.0.0.0
+php cubex serve --host 0.0.0.0
 # Bind to all interfaces
 
-php bin/console serve -d
+php cubex serve -d
 # Enable xdebug
 
-php bin/console serve --useNextAvailablePort
+php cubex serve --useNextAvailablePort
 # Auto-increment port if 8888 is in use
 ```
 
diff --git a/docs/index.md b/docs/index.md
index 1af349a..5f4ada6 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -85,7 +85,7 @@ flowchart TD
 
   subgraph CLI["CLI Command"]
     direction TB
-    CLIEntry["bin/console"] --> CLIBoot["Bootstrap"]
+    CLIEntry["cubex"] --> CLIBoot["Bootstrap"]
     CLIBoot --> CLICtx["Context Init"]
     CLICtx --> CLICli["Cubex::cli()"]
     CLICli --> Console["Console"]
diff --git a/docs/request-lifecycle.md b/docs/request-lifecycle.md
index 2ae0867..c3684a8 100644
--- a/docs/request-lifecycle.md
+++ b/docs/request-lifecycle.md
@@ -103,7 +103,7 @@ The CLI lifecycle is driven by `Cubex::cli()`:
 
 ```mermaid
 sequenceDiagram
-    participant Entry as bin/console
+    participant Entry as cubex
     participant Cubex
     participant Ctx as Context
     participant Channel as Event Channel

From 5c1df5d70f9dc068700f5291ffa1b9f8903e54cd Mon Sep 17 00:00:00 2001
From: Michael Sievenpiper 
Date: Tue, 10 Feb 2026 12:49:08 +0000
Subject: [PATCH 3/3]  - remove local build files

---
 docs/_site/assets/css/just-the-docs-dark.css  | 7792 -----------------
 .../assets/css/just-the-docs-dark.css.map     |    1 -
 .../assets/css/just-the-docs-default.css      | 7511 ----------------
 .../assets/css/just-the-docs-default.css.map  |    1 -
 .../assets/css/just-the-docs-head-nav.css     |    3 -
 docs/_site/assets/css/just-the-docs-light.css | 7511 ----------------
 .../assets/css/just-the-docs-light.css.map    |    1 -
 docs/_site/assets/js/just-the-docs.js         |  603 --
 docs/_site/assets/js/search-data.json         |  485 -
 docs/_site/assets/js/vendor/lunr.min.js       |   61 -
 docs/_site/condition-processor.html           |  123 -
 docs/_site/console.html                       |  135 -
 docs/_site/controllers.html                   |   93 -
 docs/_site/dependency-injection.html          |   76 -
 docs/_site/events.html                        |  122 -
 docs/_site/index.html                         |   47 -
 docs/_site/middleware.html                    |  123 -
 docs/_site/request-lifecycle.html             |   77 -
 docs/_site/routing.html                       |   56 -
 docs/_site/viewmodels.html                    |  163 -
 20 files changed, 24984 deletions(-)
 delete mode 100644 docs/_site/assets/css/just-the-docs-dark.css
 delete mode 100644 docs/_site/assets/css/just-the-docs-dark.css.map
 delete mode 100644 docs/_site/assets/css/just-the-docs-default.css
 delete mode 100644 docs/_site/assets/css/just-the-docs-default.css.map
 delete mode 100644 docs/_site/assets/css/just-the-docs-head-nav.css
 delete mode 100644 docs/_site/assets/css/just-the-docs-light.css
 delete mode 100644 docs/_site/assets/css/just-the-docs-light.css.map
 delete mode 100644 docs/_site/assets/js/just-the-docs.js
 delete mode 100644 docs/_site/assets/js/search-data.json
 delete mode 100644 docs/_site/assets/js/vendor/lunr.min.js
 delete mode 100644 docs/_site/condition-processor.html
 delete mode 100644 docs/_site/console.html
 delete mode 100644 docs/_site/controllers.html
 delete mode 100644 docs/_site/dependency-injection.html
 delete mode 100644 docs/_site/events.html
 delete mode 100644 docs/_site/index.html
 delete mode 100644 docs/_site/middleware.html
 delete mode 100644 docs/_site/request-lifecycle.html
 delete mode 100644 docs/_site/routing.html
 delete mode 100644 docs/_site/viewmodels.html

diff --git a/docs/_site/assets/css/just-the-docs-dark.css b/docs/_site/assets/css/just-the-docs-dark.css
deleted file mode 100644
index 665e2a7..0000000
--- a/docs/_site/assets/css/just-the-docs-dark.css
+++ /dev/null
@@ -1,7792 +0,0 @@
-@charset "UTF-8";
-/*
-generated by accessible-pygments 
-Copyright (c) 2022, Quansight Labs
-Licensed under the BSD license, see LICENSE for details.
---
-generated by Pygments 
-Copyright 2006-2025 by the Pygments team.
-Licensed under the BSD license, see LICENSE for details.
-*/
-.highlight .hll {
-  background-color: rgba(9, 105, 218, 0.2901960784);
-}
-
-.highlight .c {
-  color: #6E7781;
-} /* Comment */
-.highlight .err {
-  color: #CF222E;
-} /* Error */
-.highlight .k {
-  color: #CF222E;
-} /* Keyword */
-.highlight .l {
-  color: #953800;
-} /* Literal */
-.highlight .n {
-  color: #8250DF;
-} /* Name */
-.highlight .o {
-  color: #116329;
-} /* Operator */
-.highlight .p {
-  color: #24292F;
-} /* Punctuation */
-.highlight .ch {
-  color: #6E7781;
-} /* Comment.Hashbang */
-.highlight .cm {
-  color: #6E7781;
-} /* Comment.Multiline */
-.highlight .cp {
-  color: #6E7781;
-} /* Comment.Preproc */
-.highlight .cpf {
-  color: #6E7781;
-} /* Comment.PreprocFile */
-.highlight .c1 {
-  color: #6E7781;
-} /* Comment.Single */
-.highlight .cs {
-  color: #6E7781;
-} /* Comment.Special */
-.highlight .gd {
-  color: #0550AE;
-} /* Generic.Deleted */
-.highlight .ge {
-  font-style: italic;
-} /* Generic.Emph */
-.highlight .gr {
-  color: #CF222E;
-} /* Generic.Error */
-.highlight .gh {
-  color: #0550AE;
-} /* Generic.Heading */
-.highlight .gs {
-  font-weight: bold;
-} /* Generic.Strong */
-.highlight .gu {
-  color: #0550AE;
-} /* Generic.Subheading */
-.highlight .kc {
-  color: #0550AE;
-} /* Keyword.Constant */
-.highlight .kd {
-  color: #CF222E;
-} /* Keyword.Declaration */
-.highlight .kn {
-  color: #CF222E;
-} /* Keyword.Namespace */
-.highlight .kp {
-  color: #CF222E;
-} /* Keyword.Pseudo */
-.highlight .kr {
-  color: #CF222E;
-} /* Keyword.Reserved */
-.highlight .kt {
-  color: #CF222E;
-} /* Keyword.Type */
-.highlight .ld {
-  color: #953800;
-} /* Literal.Date */
-.highlight .m {
-  color: #953800;
-} /* Literal.Number */
-.highlight .s {
-  color: #0550AE;
-} /* Literal.String */
-.highlight .na {
-  color: #953800;
-} /* Name.Attribute */
-.highlight .nb {
-  color: #953800;
-} /* Name.Builtin */
-.highlight .nc {
-  color: #0550AE;
-} /* Name.Class */
-.highlight .no {
-  color: #0550AE;
-} /* Name.Constant */
-.highlight .nd {
-  color: #953800;
-} /* Name.Decorator */
-.highlight .ni {
-  color: #116329;
-} /* Name.Entity */
-.highlight .ne {
-  color: #8250DF;
-} /* Name.Exception */
-.highlight .nf {
-  color: #0550AE;
-} /* Name.Function */
-.highlight .nl {
-  color: #953800;
-} /* Name.Label */
-.highlight .nn {
-  color: #24292F;
-} /* Name.Namespace */
-.highlight .nx {
-  color: #8250DF;
-} /* Name.Other */
-.highlight .py {
-  color: #0550AE;
-} /* Name.Property */
-.highlight .nt {
-  color: #116329;
-} /* Name.Tag */
-.highlight .nv {
-  color: #953800;
-} /* Name.Variable */
-.highlight .ow {
-  color: #8250DF;
-} /* Operator.Word */
-.highlight .pm {
-  color: #24292F;
-} /* Punctuation.Marker */
-.highlight .w {
-  color: #24292F;
-} /* Text.Whitespace */
-.highlight .mb {
-  color: #953800;
-} /* Literal.Number.Bin */
-.highlight .mf {
-  color: #953800;
-} /* Literal.Number.Float */
-.highlight .mh {
-  color: #953800;
-} /* Literal.Number.Hex */
-.highlight .mi {
-  color: #953800;
-} /* Literal.Number.Integer */
-.highlight .mo {
-  color: #953800;
-} /* Literal.Number.Oct */
-.highlight .sa {
-  color: #0550AE;
-} /* Literal.String.Affix */
-.highlight .sb {
-  color: #0550AE;
-} /* Literal.String.Backtick */
-.highlight .sc {
-  color: #0550AE;
-} /* Literal.String.Char */
-.highlight .dl {
-  color: #0550AE;
-} /* Literal.String.Delimiter */
-.highlight .sd {
-  color: #0550AE;
-} /* Literal.String.Doc */
-.highlight .s2 {
-  color: #0550AE;
-} /* Literal.String.Double */
-.highlight .se {
-  color: #0550AE;
-} /* Literal.String.Escape */
-.highlight .sh {
-  color: #0550AE;
-} /* Literal.String.Heredoc */
-.highlight .si {
-  color: #0550AE;
-} /* Literal.String.Interpol */
-.highlight .sx {
-  color: #0550AE;
-} /* Literal.String.Other */
-.highlight .sr {
-  color: #0550AE;
-} /* Literal.String.Regex */
-.highlight .s1 {
-  color: #0550AE;
-} /* Literal.String.Single */
-.highlight .ss {
-  color: #0550AE;
-} /* Literal.String.Symbol */
-.highlight .bp {
-  color: #953800;
-} /* Name.Builtin.Pseudo */
-.highlight .fm {
-  color: #0550AE;
-} /* Name.Function.Magic */
-.highlight .vc {
-  color: #953800;
-} /* Name.Variable.Class */
-.highlight .vg {
-  color: #953800;
-} /* Name.Variable.Global */
-.highlight .vi {
-  color: #953800;
-} /* Name.Variable.Instance */
-.highlight .vm {
-  color: #953800;
-} /* Name.Variable.Magic */
-.highlight .il {
-  color: #953800;
-} /* Literal.Number.Integer.Long */
-/*
-generated by accessible-pygments 
-Copyright (c) 2022, Quansight Labs
-Licensed under the BSD license, see LICENSE for details.
---
-generated by Pygments 
-Copyright 2006-2025 by the Pygments team.
-Licensed under the BSD license, see LICENSE for details.
-*/
-.highlight .hll {
-  background-color: #6e7681;
-}
-
-.highlight {
-  background: #0d1117;
-  color: #E6EDF3;
-}
-
-.highlight .c {
-  color: #8B949E;
-  font-style: italic;
-} /* Comment */
-.highlight .err {
-  color: #F85149;
-} /* Error */
-.highlight .esc {
-  color: #E6EDF3;
-} /* Escape */
-.highlight .g {
-  color: #E6EDF3;
-} /* Generic */
-.highlight .k {
-  color: #FF7B72;
-} /* Keyword */
-.highlight .l {
-  color: #A5D6FF;
-} /* Literal */
-.highlight .n {
-  color: #E6EDF3;
-} /* Name */
-.highlight .o {
-  color: #FF7B72;
-  font-weight: bold;
-} /* Operator */
-.highlight .x {
-  color: #E6EDF3;
-} /* Other */
-.highlight .p {
-  color: #E6EDF3;
-} /* Punctuation */
-.highlight .ch {
-  color: #8B949E;
-  font-style: italic;
-} /* Comment.Hashbang */
-.highlight .cm {
-  color: #8B949E;
-  font-style: italic;
-} /* Comment.Multiline */
-.highlight .cp {
-  color: #8B949E;
-  font-weight: bold;
-  font-style: italic;
-} /* Comment.Preproc */
-.highlight .cpf {
-  color: #8B949E;
-  font-style: italic;
-} /* Comment.PreprocFile */
-.highlight .c1 {
-  color: #8B949E;
-  font-style: italic;
-} /* Comment.Single */
-.highlight .cs {
-  color: #8B949E;
-  font-weight: bold;
-  font-style: italic;
-} /* Comment.Special */
-.highlight .gd {
-  color: #FFA198;
-  background-color: #490202;
-} /* Generic.Deleted */
-.highlight .ge {
-  color: #E6EDF3;
-  font-style: italic;
-} /* Generic.Emph */
-.highlight .ges {
-  color: #E6EDF3;
-  font-weight: bold;
-  font-style: italic;
-} /* Generic.EmphStrong */
-.highlight .gr {
-  color: #FFA198;
-} /* Generic.Error */
-.highlight .gh {
-  color: #79C0FF;
-  font-weight: bold;
-} /* Generic.Heading */
-.highlight .gi {
-  color: #56D364;
-  background-color: #0F5323;
-} /* Generic.Inserted */
-.highlight .go {
-  color: #8B949E;
-} /* Generic.Output */
-.highlight .gp {
-  color: #8B949E;
-} /* Generic.Prompt */
-.highlight .gs {
-  color: #E6EDF3;
-  font-weight: bold;
-} /* Generic.Strong */
-.highlight .gu {
-  color: #79C0FF;
-} /* Generic.Subheading */
-.highlight .gt {
-  color: #FF7B72;
-} /* Generic.Traceback */
-.highlight .g-Underline {
-  color: #E6EDF3;
-  text-decoration: underline;
-} /* Generic.Underline */
-.highlight .kc {
-  color: #79C0FF;
-} /* Keyword.Constant */
-.highlight .kd {
-  color: #FF7B72;
-} /* Keyword.Declaration */
-.highlight .kn {
-  color: #FF7B72;
-} /* Keyword.Namespace */
-.highlight .kp {
-  color: #79C0FF;
-} /* Keyword.Pseudo */
-.highlight .kr {
-  color: #FF7B72;
-} /* Keyword.Reserved */
-.highlight .kt {
-  color: #FF7B72;
-} /* Keyword.Type */
-.highlight .ld {
-  color: #79C0FF;
-} /* Literal.Date */
-.highlight .m {
-  color: #A5D6FF;
-} /* Literal.Number */
-.highlight .s {
-  color: #A5D6FF;
-} /* Literal.String */
-.highlight .na {
-  color: #E6EDF3;
-} /* Name.Attribute */
-.highlight .nb {
-  color: #E6EDF3;
-} /* Name.Builtin */
-.highlight .nc {
-  color: #F0883E;
-  font-weight: bold;
-} /* Name.Class */
-.highlight .no {
-  color: #79C0FF;
-  font-weight: bold;
-} /* Name.Constant */
-.highlight .nd {
-  color: #D2A8FF;
-  font-weight: bold;
-} /* Name.Decorator */
-.highlight .ni {
-  color: #FFA657;
-} /* Name.Entity */
-.highlight .ne {
-  color: #F0883E;
-  font-weight: bold;
-} /* Name.Exception */
-.highlight .nf {
-  color: #D2A8FF;
-  font-weight: bold;
-} /* Name.Function */
-.highlight .nl {
-  color: #79C0FF;
-  font-weight: bold;
-} /* Name.Label */
-.highlight .nn {
-  color: #FF7B72;
-} /* Name.Namespace */
-.highlight .nx {
-  color: #E6EDF3;
-} /* Name.Other */
-.highlight .py {
-  color: #79C0FF;
-} /* Name.Property */
-.highlight .nt {
-  color: #7EE787;
-} /* Name.Tag */
-.highlight .nv {
-  color: #79C0FF;
-} /* Name.Variable */
-.highlight .ow {
-  color: #FF7B72;
-  font-weight: bold;
-} /* Operator.Word */
-.highlight .pm {
-  color: #E6EDF3;
-} /* Punctuation.Marker */
-.highlight .w {
-  color: #6E7681;
-} /* Text.Whitespace */
-.highlight .mb {
-  color: #A5D6FF;
-} /* Literal.Number.Bin */
-.highlight .mf {
-  color: #A5D6FF;
-} /* Literal.Number.Float */
-.highlight .mh {
-  color: #A5D6FF;
-} /* Literal.Number.Hex */
-.highlight .mi {
-  color: #A5D6FF;
-} /* Literal.Number.Integer */
-.highlight .mo {
-  color: #A5D6FF;
-} /* Literal.Number.Oct */
-.highlight .sa {
-  color: #79C0FF;
-} /* Literal.String.Affix */
-.highlight .sb {
-  color: #A5D6FF;
-} /* Literal.String.Backtick */
-.highlight .sc {
-  color: #A5D6FF;
-} /* Literal.String.Char */
-.highlight .dl {
-  color: #79C0FF;
-} /* Literal.String.Delimiter */
-.highlight .sd {
-  color: #A5D6FF;
-} /* Literal.String.Doc */
-.highlight .s2 {
-  color: #A5D6FF;
-} /* Literal.String.Double */
-.highlight .se {
-  color: #79C0FF;
-} /* Literal.String.Escape */
-.highlight .sh {
-  color: #79C0FF;
-} /* Literal.String.Heredoc */
-.highlight .si {
-  color: #A5D6FF;
-} /* Literal.String.Interpol */
-.highlight .sx {
-  color: #A5D6FF;
-} /* Literal.String.Other */
-.highlight .sr {
-  color: #79C0FF;
-} /* Literal.String.Regex */
-.highlight .s1 {
-  color: #A5D6FF;
-} /* Literal.String.Single */
-.highlight .ss {
-  color: #A5D6FF;
-} /* Literal.String.Symbol */
-.highlight .bp {
-  color: #E6EDF3;
-} /* Name.Builtin.Pseudo */
-.highlight .fm {
-  color: #D2A8FF;
-  font-weight: bold;
-} /* Name.Function.Magic */
-.highlight .vc {
-  color: #79C0FF;
-} /* Name.Variable.Class */
-.highlight .vg {
-  color: #79C0FF;
-} /* Name.Variable.Global */
-.highlight .vi {
-  color: #79C0FF;
-} /* Name.Variable.Instance */
-.highlight .vm {
-  color: #79C0FF;
-} /* Name.Variable.Magic */
-.highlight .il {
-  color: #A5D6FF;
-} /* Literal.Number.Integer.Long */
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-/* Document
-   ========================================================================== */
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-html {
-  line-height: 1.15; /* 1 */
-  text-size-adjust: 100%; /* 2 */
-}
-
-/* Sections
-   ========================================================================== */
-/**
- * Remove the margin in all browsers.
- */
-body {
-  margin: 0;
-}
-
-/**
- * Render the `main` element consistently in IE.
- */
-main {
-  display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/* Grouping content
-   ========================================================================== */
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
-  box-sizing: content-box; /* 1 */
-  height: 0; /* 1 */
-  overflow: visible; /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/* Text-level semantics
-   ========================================================================== */
-/**
- * Remove the gray background on active links in IE 10.
- */
-a {
-  background-color: transparent;
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57-
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-abbr[title] {
-  border-bottom: none; /* 1 */
-  text-decoration: underline; /* 2 */
-  text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
-  font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-/* Embedded content
-   ========================================================================== */
-/**
- * Remove the border on images inside links in IE 10.
- */
-img {
-  border-style: none;
-}
-
-/* Forms
-   ========================================================================== */
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-button,
-input,
-optgroup,
-select,
-textarea {
-  font-family: inherit; /* 1 */
-  font-size: 100%; /* 1 */
-  line-height: 1.15; /* 1 */
-  margin: 0; /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-button,
-input {
-  /* 1 */
-  overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button,
-select {
-  /* 1 */
-  text-transform: none;
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-[type=button],
-[type=reset],
-[type=submit] {
-  appearance: auto;
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-button::-moz-focus-inner,
-[type=button]::-moz-focus-inner,
-[type=reset]::-moz-focus-inner,
-[type=submit]::-moz-focus-inner {
-  border-style: none;
-  padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-button:-moz-focusring,
-[type=button]:-moz-focusring,
-[type=reset]:-moz-focusring,
-[type=submit]:-moz-focusring {
-  outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
-  padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- *    `fieldset` elements in all browsers.
- */
-legend {
-  box-sizing: border-box; /* 1 */
-  color: inherit; /* 2 */
-  display: table; /* 1 */
-  max-width: 100%; /* 1 */
-  padding: 0; /* 3 */
-  white-space: normal; /* 1 */
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
-  vertical-align: baseline;
-}
-
-/**
- * Remove the default vertical scrollbar in IE 10+.
- */
-textarea {
-  overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10.
- * 2. Remove the padding in IE 10.
- */
-[type=checkbox],
-[type=radio] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-[type=number]::-webkit-inner-spin-button,
-[type=number]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type=search] {
-  appearance: textfield; /* 1 */
-  outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-[type=search]::-webkit-search-decoration {
-  appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
-  appearance: auto; /* 1 */
-  font: inherit; /* 2 */
-}
-
-/* Interactive
-   ========================================================================== */
-/*
- * Add the correct display in Edge, IE 10+, and Firefox.
- */
-details {
-  display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
-  display: list-item;
-}
-
-/* Misc
-   ========================================================================== */
-/**
- * Add the correct display in IE 10+.
- */
-template {
-  display: none;
-}
-
-/**
- * Add the correct display in IE 10.
- */
-[hidden] {
-  display: none;
-}
-
-:root {
-  color-scheme: dark;
-}
-
-* {
-  box-sizing: border-box;
-}
-
-html {
-  scroll-behavior: smooth;
-}
-html {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  html {
-    font-size: 1rem !important;
-  }
-}
-
-body {
-  font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji";
-  font-size: inherit;
-  line-height: 1.4;
-  color: #e6e1e8;
-  background-color: #27262b;
-  overflow-wrap: break-word;
-}
-
-ol,
-ul,
-dl,
-pre,
-address,
-blockquote,
-table,
-div,
-hr,
-form,
-fieldset,
-noscript .table-wrapper {
-  margin-top: 0;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-#toctitle {
-  margin-top: 0;
-  margin-bottom: 1em;
-  font-weight: 500;
-  line-height: 1.25;
-  color: #f5f6fa;
-}
-
-p {
-  margin-top: 1em;
-  margin-bottom: 1em;
-}
-
-a {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  text-decoration: none;
-}
-
-a:not([class]) {
-  text-decoration: underline;
-  text-decoration-color: #44434d;
-  text-underline-offset: 2px;
-}
-a:not([class]):hover {
-  text-decoration-color: rgba(93.8194444444, 161.0416666667, 251.1805555556, 0.45);
-}
-
-code {
-  font-family: "SFMono-Regular", menlo, consolas, monospace;
-  font-size: 0.75em;
-  line-height: 1.4;
-}
-
-figure,
-pre {
-  margin: 0;
-}
-
-li {
-  margin: 0.25em 0;
-}
-
-img {
-  max-width: 100%;
-  height: auto;
-}
-
-hr {
-  height: 1px;
-  padding: 0;
-  margin: 2rem 0;
-  background-color: #44434d;
-  border: 0;
-}
-
-blockquote {
-  margin: 10px 0;
-  margin-block-start: 0;
-  margin-inline-start: 0;
-  padding-left: 1rem;
-  border-left: 3px solid #44434d;
-}
-
-.side-bar {
-  z-index: 0;
-  display: flex;
-  flex-wrap: wrap;
-  background-color: #27262b;
-}
-@media (min-width: 50rem) {
-  .side-bar {
-    flex-flow: column nowrap;
-    position: fixed;
-    width: 15.5rem;
-    height: 100%;
-    border-right: 1px solid #44434d;
-    align-items: flex-end;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar {
-    width: calc((100% - 66.5rem) / 2 + 16.5rem);
-    min-width: 16.5rem;
-  }
-}
-@media (min-width: 50rem) {
-  .side-bar + .main {
-    margin-left: 15.5rem;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar + .main {
-    margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem);
-  }
-}
-.side-bar + .main .main-header {
-  display: none;
-  background-color: #27262b;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header {
-    display: flex;
-    background-color: #27262b;
-  }
-}
-.side-bar + .main .main-header.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header.nav-open {
-    display: flex;
-  }
-}
-
-.main {
-  margin: auto;
-}
-@media (min-width: 50rem) {
-  .main {
-    position: relative;
-    max-width: 50rem;
-  }
-}
-
-.main-content-wrap {
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-top: 2rem;
-    padding-bottom: 2rem;
-  }
-}
-
-.main-header {
-  z-index: 0;
-  border-bottom: 1px solid #44434d;
-}
-@media (min-width: 50rem) {
-  .main-header {
-    display: flex;
-    justify-content: space-between;
-    height: 3.75rem;
-  }
-}
-
-.site-nav,
-.site-header,
-.site-footer {
-  width: 100%;
-}
-@media (min-width: 66.5rem) {
-  .site-nav,
-  .site-header,
-  .site-footer {
-    width: 16.5rem;
-  }
-}
-
-.site-nav {
-  display: none;
-}
-.site-nav.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .site-nav {
-    display: block;
-    padding-top: 3rem;
-    padding-bottom: 1rem;
-    overflow-y: auto;
-    flex: 1 1 auto;
-  }
-}
-
-.site-header {
-  display: flex;
-  min-height: 3.75rem;
-  align-items: center;
-}
-@media (min-width: 50rem) {
-  .site-header {
-    height: 3.75rem;
-    max-height: 3.75rem;
-    border-bottom: 1px solid #44434d;
-  }
-}
-
-.site-title {
-  flex-grow: 1;
-  display: flex;
-  height: 100%;
-  align-items: center;
-  padding-top: 0.75rem;
-  padding-bottom: 0.75rem;
-  color: #f5f6fa;
-  outline-offset: -1px;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-title {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-title {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-top: 0.5rem;
-    padding-bottom: 0.5rem;
-  }
-}
-
-.site-button {
-  display: flex;
-  height: 100%;
-  padding: 1rem;
-  align-items: center;
-  outline-offset: -1px;
-}
-
-@media (min-width: 50rem) {
-  .site-header .site-button {
-    display: none;
-  }
-}
-.site-title:hover {
-  background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 80%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0) 100%);
-}
-
-.site-button:hover {
-  background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 100%);
-}
-
-.site-footer {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-footer {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-footer {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    position: static;
-    justify-self: end;
-  }
-}
-
-.icon {
-  width: 1.5rem;
-  height: 1.5rem;
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-}
-
-.main-content {
-  line-height: 1.6;
-}
-.main-content ol,
-.main-content ul,
-.main-content dl,
-.main-content pre,
-.main-content address,
-.main-content blockquote,
-.main-content .table-wrapper {
-  margin-top: 0.5em;
-}
-.main-content a {
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-.main-content ul,
-.main-content ol {
-  padding-left: 1.5em;
-}
-.main-content li .highlight {
-  margin-top: 0.25rem;
-}
-.main-content ol {
-  list-style-type: none;
-  counter-reset: step-counter;
-}
-.main-content ol > li {
-  position: relative;
-}
-.main-content ol > li::before {
-  position: absolute;
-  top: 0.2em;
-  left: -1.6em;
-  color: #959396;
-  content: counter(step-counter);
-  counter-increment: step-counter;
-}
-.main-content ol > li::before {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    top: 0.11em;
-  }
-}
-.main-content ol > li ol {
-  counter-reset: sub-counter;
-}
-.main-content ol > li ol > li::before {
-  content: counter(sub-counter, lower-alpha);
-  counter-increment: sub-counter;
-}
-.main-content ul {
-  list-style: none;
-}
-.main-content ul > li::before {
-  position: absolute;
-  margin-left: -1.4em;
-  color: #959396;
-  content: "•";
-}
-.main-content .task-list-item::before {
-  content: "";
-}
-.main-content .task-list-item-checkbox {
-  margin-right: 0.6em;
-  margin-left: -1.4em;
-}
-.main-content hr + * {
-  margin-top: 0;
-}
-.main-content h1:first-of-type {
-  margin-top: 0.5em;
-}
-.main-content dl {
-  display: grid;
-  grid-template: auto/10em 1fr;
-}
-.main-content dt,
-.main-content dd {
-  margin: 0.25em 0;
-}
-.main-content dt {
-  grid-column: 1;
-  font-weight: 500;
-  text-align: right;
-}
-.main-content dt::after {
-  content: ":";
-}
-.main-content dd {
-  grid-column: 2;
-  margin-bottom: 0;
-  margin-left: 1em;
-}
-.main-content dd blockquote:first-child,
-.main-content dd div:first-child,
-.main-content dd dl:first-child,
-.main-content dd dt:first-child,
-.main-content dd h1:first-child,
-.main-content dd h2:first-child,
-.main-content dd h3:first-child,
-.main-content dd h4:first-child,
-.main-content dd h5:first-child,
-.main-content dd h6:first-child,
-.main-content dd li:first-child,
-.main-content dd ol:first-child,
-.main-content dd p:first-child,
-.main-content dd pre:first-child,
-.main-content dd table:first-child,
-.main-content dd ul:first-child,
-.main-content dd .table-wrapper:first-child {
-  margin-top: 0;
-}
-.main-content dd dl:first-child dt:first-child,
-.main-content dd dl:first-child dd:nth-child(2),
-.main-content ol dl:first-child dt:first-child,
-.main-content ol dl:first-child dd:nth-child(2),
-.main-content ul dl:first-child dt:first-child,
-.main-content ul dl:first-child dd:nth-child(2) {
-  margin-top: 0;
-}
-.main-content .anchor-heading {
-  position: absolute;
-  right: -1rem;
-  width: 1.5rem;
-  height: 100%;
-  padding-right: 0.25rem;
-  padding-left: 0.25rem;
-  overflow: visible;
-}
-@media (min-width: 50rem) {
-  .main-content .anchor-heading {
-    right: auto;
-    left: -1.5rem;
-  }
-}
-.main-content .anchor-heading svg {
-  display: inline-block;
-  width: 100%;
-  height: 100%;
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  visibility: hidden;
-}
-.main-content .anchor-heading:hover svg,
-.main-content .anchor-heading:focus svg,
-.main-content h1:hover > .anchor-heading svg,
-.main-content h2:hover > .anchor-heading svg,
-.main-content h3:hover > .anchor-heading svg,
-.main-content h4:hover > .anchor-heading svg,
-.main-content h5:hover > .anchor-heading svg,
-.main-content h6:hover > .anchor-heading svg {
-  visibility: visible;
-}
-.main-content summary {
-  cursor: pointer;
-}
-.main-content h1,
-.main-content h2,
-.main-content h3,
-.main-content h4,
-.main-content h5,
-.main-content h6,
-.main-content #toctitle {
-  position: relative;
-  margin-top: 1.5em;
-  margin-bottom: 0.25em;
-}
-.main-content h1 + table,
-.main-content h1 + .table-wrapper,
-.main-content h1 + .code-example,
-.main-content h1 + .highlighter-rouge,
-.main-content h1 + .sectionbody .listingblock,
-.main-content h2 + table,
-.main-content h2 + .table-wrapper,
-.main-content h2 + .code-example,
-.main-content h2 + .highlighter-rouge,
-.main-content h2 + .sectionbody .listingblock,
-.main-content h3 + table,
-.main-content h3 + .table-wrapper,
-.main-content h3 + .code-example,
-.main-content h3 + .highlighter-rouge,
-.main-content h3 + .sectionbody .listingblock,
-.main-content h4 + table,
-.main-content h4 + .table-wrapper,
-.main-content h4 + .code-example,
-.main-content h4 + .highlighter-rouge,
-.main-content h4 + .sectionbody .listingblock,
-.main-content h5 + table,
-.main-content h5 + .table-wrapper,
-.main-content h5 + .code-example,
-.main-content h5 + .highlighter-rouge,
-.main-content h5 + .sectionbody .listingblock,
-.main-content h6 + table,
-.main-content h6 + .table-wrapper,
-.main-content h6 + .code-example,
-.main-content h6 + .highlighter-rouge,
-.main-content h6 + .sectionbody .listingblock,
-.main-content #toctitle + table,
-.main-content #toctitle + .table-wrapper,
-.main-content #toctitle + .code-example,
-.main-content #toctitle + .highlighter-rouge,
-.main-content #toctitle + .sectionbody .listingblock {
-  margin-top: 1em;
-}
-.main-content h1 + p:not(.label),
-.main-content h2 + p:not(.label),
-.main-content h3 + p:not(.label),
-.main-content h4 + p:not(.label),
-.main-content h5 + p:not(.label),
-.main-content h6 + p:not(.label),
-.main-content #toctitle + p:not(.label) {
-  margin-top: 0;
-}
-.main-content > h1:first-child,
-.main-content > h2:first-child,
-.main-content > h3:first-child,
-.main-content > h4:first-child,
-.main-content > h5:first-child,
-.main-content > h6:first-child,
-.main-content > .sect1:first-child > h2,
-.main-content > .sect2:first-child > h3,
-.main-content > .sect3:first-child > h4,
-.main-content > .sect4:first-child > h5,
-.main-content > .sect5:first-child > h6 {
-  margin-top: 0.5rem;
-}
-
-.nav-list {
-  padding: 0;
-  margin-top: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-.nav-list .nav-list-item {
-  position: relative;
-  margin: 0;
-}
-.nav-list .nav-list-item {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.875rem !important;
-  }
-}
-.nav-list .nav-list-item .nav-list-link {
-  display: block;
-  min-height: 3rem;
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-  line-height: 2.5rem;
-  outline-offset: -1px;
-  padding-right: 3rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-link {
-    min-height: 2rem;
-    line-height: 1.5rem;
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-link.external > svg {
-  width: 1rem;
-  height: 1rem;
-  vertical-align: text-bottom;
-}
-.nav-list .nav-list-item .nav-list-link.active {
-  font-weight: 600;
-  text-decoration: none;
-}
-.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active {
-  color: rgb(68.9097222222, 146.5208333333, 250.5902777778);
-  background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 80%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander {
-  position: absolute;
-  right: 0;
-  width: 3rem;
-  height: 3rem;
-  padding: 0.75rem;
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  outline-offset: -1px;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-expander {
-    width: 2rem;
-    height: 2rem;
-    padding: 0.5rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-expander:hover {
-  background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander svg {
-  transform: rotate(90deg);
-}
-.nav-list .nav-list-item > .nav-list {
-  display: none;
-  padding-left: 0.75rem;
-  list-style: none;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item {
-  position: relative;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link {
-  color: #959396;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander {
-  color: #959396;
-}
-.nav-list .nav-list-item.active > .nav-list-expander svg {
-  transform: rotate(-90deg);
-}
-.nav-list .nav-list-item.active > .nav-list {
-  display: block;
-}
-
-.nav-category {
-  padding: 0.5rem 1rem;
-  font-weight: 600;
-  text-align: start;
-  text-transform: uppercase;
-  border-bottom: 1px solid #44434d;
-}
-.nav-category {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-category {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-category {
-    padding: 0.5rem 2rem;
-    margin-top: 1rem;
-    text-align: start;
-  }
-  .nav-category:first-child {
-    margin-top: 0;
-  }
-}
-
-.nav-list.nav-category-list > .nav-list-item {
-  margin: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list {
-  padding: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-}
-
-.aux-nav {
-  height: 100%;
-  overflow-x: auto;
-}
-.aux-nav {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .aux-nav {
-    font-size: 0.75rem !important;
-  }
-}
-.aux-nav .aux-nav-list {
-  display: flex;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-  list-style: none;
-}
-.aux-nav .aux-nav-list-item {
-  display: inline-block;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-}
-@media (min-width: 50rem) {
-  .aux-nav {
-    padding-right: 1rem;
-  }
-}
-
-@media (min-width: 50rem) {
-  .breadcrumb-nav {
-    margin-top: -1rem;
-  }
-}
-
-.breadcrumb-nav-list {
-  padding-left: 0;
-  margin-bottom: 0.75rem;
-  list-style: none;
-}
-
-.breadcrumb-nav-list-item {
-  display: table-cell;
-}
-.breadcrumb-nav-list-item {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .breadcrumb-nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-.breadcrumb-nav-list-item::before {
-  display: none;
-}
-.breadcrumb-nav-list-item::after {
-  display: inline-block;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #959396;
-  content: "/";
-}
-.breadcrumb-nav-list-item:last-child::after {
-  content: "";
-}
-
-h1,
-.text-alpha {
-  font-weight: 300;
-}
-h1,
-.text-alpha {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  h1,
-  .text-alpha {
-    font-size: 2.25rem !important;
-  }
-}
-
-h2,
-.text-beta,
-#toctitle {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  h2,
-  .text-beta,
-  #toctitle {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-h3,
-.text-gamma {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  h3,
-  .text-gamma {
-    font-size: 1.125rem !important;
-  }
-}
-
-h4,
-.text-delta {
-  font-weight: 400;
-  text-transform: uppercase;
-  letter-spacing: 0.1em;
-}
-h4,
-.text-delta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h4,
-  .text-delta {
-    font-size: 0.75rem !important;
-  }
-}
-
-h4 code {
-  text-transform: none;
-}
-
-h5,
-.text-epsilon {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  h5,
-  .text-epsilon {
-    font-size: 0.875rem !important;
-  }
-}
-
-h6,
-.text-zeta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h6,
-  .text-zeta {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-small {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .text-small {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-mono {
-  font-family: "SFMono-Regular", menlo, consolas, monospace !important;
-}
-
-.text-left {
-  text-align: left !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-.text-right {
-  text-align: right !important;
-}
-
-.label:not(g),
-.label-blue:not(g) {
-  display: inline-block;
-  padding: 0.16em 0.56em;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #fff;
-  text-transform: uppercase;
-  vertical-align: middle;
-  background-color: #2869e6;
-  border-radius: 12px;
-}
-.label:not(g),
-.label-blue:not(g) {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .label:not(g),
-  .label-blue:not(g) {
-    font-size: 0.75rem !important;
-  }
-}
-
-.label-green:not(g) {
-  background-color: #026e57;
-}
-
-.label-purple:not(g) {
-  background-color: #5e41d0;
-}
-
-.label-red:not(g) {
-  background-color: #dd2e2e;
-}
-
-.label-yellow:not(g) {
-  color: #44434d;
-  background-color: #f7d12e;
-}
-
-.btn {
-  display: inline-block;
-  box-sizing: border-box;
-  padding: 0.3em 1em;
-  margin: 0;
-  font-family: inherit;
-  font-size: inherit;
-  font-weight: 500;
-  line-height: 1.5;
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  text-decoration: none;
-  vertical-align: baseline;
-  cursor: pointer;
-  background-color: #302d36;
-  border-width: 0;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  appearance: none;
-}
-.btn:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:focus:hover, .btn.selected:focus {
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:hover, .btn.zeroclipboard-is-hover {
-  color: rgb(83.8555555556, 155.2333333333, 250.9444444444);
-}
-.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active {
-  text-decoration: none;
-  background-color: rgb(45.5272727273, 42.6818181818, 51.2181818182);
-}
-.btn:active, .btn.selected, .btn.zeroclipboard-is-active {
-  background-color: rgb(40.5818181818, 38.0454545455, 45.6545454545);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn.selected:hover {
-  background-color: rgb(207.25, 207.25, 207.25);
-}
-.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover {
-  color: rgba(102, 102, 102, 0.5);
-  cursor: default;
-  background-color: rgba(229, 229, 229, 0.5);
-  background-image: none;
-  box-shadow: none;
-}
-
-.btn-outline {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  background: transparent;
-  box-shadow: inset 0 0 0 2px #e6e1e8;
-}
-.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active {
-  color: rgb(73.8916666667, 149.425, 250.7083333333);
-  text-decoration: none;
-  background-color: transparent;
-  box-shadow: inset 0 0 0 3px #e6e1e8;
-}
-.btn-outline:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn-outline:focus:hover, .btn-outline.selected:focus {
-  box-shadow: inset 0 0 0 2px #5c5962;
-}
-
-.btn-primary {
-  color: #fff;
-  background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099);
-  background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-primary:hover, .btn-primary.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197);
-  background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197));
-}
-.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active {
-  background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-primary.selected:hover {
-  background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493);
-}
-
-.btn-purple {
-  color: #fff;
-  background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899);
-  background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-purple:hover, .btn-purple.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139);
-  background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139));
-}
-.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active {
-  background-color: rgb(79.3670886076, 49.082278481, 198.417721519);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-purple.selected:hover {
-  background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443);
-}
-
-.btn-blue {
-  color: #fff;
-  background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099);
-  background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-blue:hover, .btn-blue.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197);
-  background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197));
-}
-.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active {
-  background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-blue.selected:hover {
-  background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493);
-}
-
-.btn-green {
-  color: #fff;
-  background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143);
-  background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-green:hover, .btn-green.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286);
-  background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286));
-}
-.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active {
-  background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-green.selected:hover {
-  background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714);
-}
-
-.btn-reset {
-  background: none;
-  border: none;
-  margin: 0;
-  text-align: inherit;
-  font: inherit;
-  border-radius: 0;
-  appearance: none;
-}
-
-.search {
-  position: relative;
-  z-index: 2;
-  flex-grow: 1;
-  height: 4rem;
-  padding: 0.5rem;
-  transition: padding linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search {
-    position: relative !important;
-    width: auto !important;
-    height: 100% !important;
-    padding: 0;
-    transition: none;
-  }
-}
-
-.search-input-wrap {
-  position: relative;
-  z-index: 1;
-  height: 3rem;
-  overflow: hidden;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  transition: height linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search-input-wrap {
-    position: absolute;
-    width: 100%;
-    max-width: 33.5rem;
-    height: 100% !important;
-    border-radius: 0;
-    box-shadow: none;
-    transition: width ease 400ms;
-  }
-}
-
-.search-input {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  padding: 0.5rem 1rem 0.5rem 2.5rem;
-  font-size: 1rem;
-  color: #e6e1e8;
-  background-color: #302d36;
-  border-top: 0;
-  border-right: 0;
-  border-bottom: 0;
-  border-left: 0;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-input {
-    padding: 0.5rem 1rem 0.5rem 3.5rem;
-    font-size: 0.875rem;
-    background-color: #27262b;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-input:focus {
-  outline-offset: -1px;
-}
-.search-input:focus + .search-label .search-icon {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-}
-
-.search-label {
-  position: absolute;
-  display: flex;
-  height: 100%;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .search-label {
-    padding-left: 2rem;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-label .search-icon {
-  width: 1.2rem;
-  height: 1.2rem;
-  align-self: center;
-  color: #959396;
-}
-
-.search-results {
-  position: absolute;
-  left: 0;
-  display: none;
-  width: 100%;
-  max-height: calc(100% - 4rem);
-  overflow-y: auto;
-  background-color: #302d36;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-@media (min-width: 50rem) {
-  .search-results {
-    top: 100%;
-    width: 33.5rem;
-    max-height: calc(100vh - 200%) !important;
-  }
-}
-
-.search-results-list {
-  padding-left: 0;
-  margin-bottom: 0.25rem;
-  list-style: none;
-}
-.search-results-list {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-results-list {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-results-list-item {
-  padding: 0;
-  margin: 0;
-}
-
-.search-result {
-  display: block;
-  padding: 0.25rem 0.75rem;
-  outline-offset: -1px;
-}
-.search-result:hover, .search-result.active {
-  background-color: rgb(31.6333333333, 30.8222222222, 34.8777777778);
-}
-
-.search-result-title {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-@media (min-width: 31.25rem) {
-  .search-result-title {
-    display: inline-block;
-    width: 40%;
-    padding-right: 0.5rem;
-    vertical-align: top;
-  }
-}
-
-.search-result-doc {
-  display: flex;
-  align-items: center;
-  overflow-wrap: break-word;
-}
-.search-result-doc.search-result-doc-parent {
-  opacity: 0.5;
-}
-.search-result-doc.search-result-doc-parent {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.6875rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.75rem !important;
-  }
-}
-.search-result-doc .search-result-icon {
-  width: 1rem;
-  height: 1rem;
-  margin-right: 0.5rem;
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  flex-shrink: 0;
-}
-.search-result-doc .search-result-doc-title {
-  overflow: auto;
-}
-
-.search-result-section {
-  margin-left: 1.5rem;
-  overflow-wrap: break-word;
-}
-
-.search-result-rel-url {
-  display: block;
-  margin-left: 1.5rem;
-  overflow: hidden;
-  color: #e6e1e8;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.search-result-rel-url {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-rel-url {
-    font-size: 0.625rem !important;
-  }
-}
-
-.search-result-previews {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  padding-left: 1rem;
-  margin-left: 0.5rem;
-  color: #e6e1e8;
-  overflow-wrap: break-word;
-  border-left: 1px solid;
-  border-left-color: #44434d;
-}
-.search-result-previews {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    display: inline-block;
-    width: 60%;
-    padding-left: 0.5rem;
-    margin-left: 0;
-    vertical-align: top;
-  }
-}
-
-.search-result-preview + .search-result-preview {
-  margin-top: 0.25rem;
-}
-
-.search-result-highlight {
-  font-weight: bold;
-}
-
-.search-no-result {
-  padding: 0.5rem 0.75rem;
-}
-.search-no-result {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-no-result {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-button {
-  position: fixed;
-  right: 1rem;
-  bottom: 1rem;
-  display: flex;
-  width: 3.5rem;
-  height: 3.5rem;
-  background-color: #302d36;
-  border: 1px solid rgba(93.8194444444, 161.0416666667, 251.1805555556, 0.3);
-  border-radius: 1.75rem;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  align-items: center;
-  justify-content: center;
-}
-
-.search-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1;
-  width: 0;
-  height: 0;
-  background-color: rgba(0, 0, 0, 0.3);
-  opacity: 0;
-  transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms;
-}
-
-.search-active .search {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  padding: 0;
-}
-.search-active .search-input-wrap {
-  height: 4rem;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input-wrap {
-    width: 33.5rem;
-    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  }
-}
-.search-active .search-input {
-  background-color: #302d36;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input {
-    padding-left: 2.3rem;
-  }
-}
-@media (min-width: 50rem) {
-  .search-active .search-label {
-    padding-left: 0.6rem;
-  }
-}
-.search-active .search-results {
-  display: block;
-}
-.search-active .search-overlay {
-  width: 100%;
-  height: 100%;
-  opacity: 1;
-  transition: opacity ease 400ms, width 0s, height 0s;
-}
-@media (min-width: 50rem) {
-  .search-active .main {
-    position: fixed;
-    right: 0;
-    left: 0;
-  }
-}
-.search-active .main-header {
-  padding-top: 4rem;
-}
-@media (min-width: 50rem) {
-  .search-active .main-header {
-    padding-top: 0;
-  }
-}
-
-.table-wrapper {
-  display: block;
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 1.5rem;
-  overflow-x: auto;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-
-table {
-  display: table;
-  min-width: 100%;
-  border-collapse: separate;
-}
-
-th,
-td {
-  min-width: 7.5rem;
-  padding: 0.5rem 0.75rem;
-  background-color: #302d36;
-  border-bottom: 1px solid rgba(68, 67, 77, 0.5);
-  border-left: 1px solid #44434d;
-}
-th,
-td {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  th,
-  td {
-    font-size: 0.875rem !important;
-  }
-}
-th:first-of-type,
-td:first-of-type {
-  border-left: 0;
-}
-
-tbody tr:last-of-type th,
-tbody tr:last-of-type td {
-  border-bottom: 0;
-}
-tbody tr:last-of-type td {
-  padding-bottom: 0.75rem;
-}
-
-thead th {
-  border-bottom: 1px solid #44434d;
-}
-
-:not(pre, figure) > code {
-  padding: 0.2em 0.15em;
-  font-weight: 400;
-  background-color: #0d1117;
-  border: 1px solid #44434d;
-  border-radius: 4px;
-}
-
-a:visited code {
-  border-color: #44434d;
-}
-
-div.highlighter-rouge,
-div.listingblock > div.content,
-figure.highlight {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-  background-color: #0d1117;
-  border-radius: 4px;
-  box-shadow: none;
-  -webkit-overflow-scrolling: touch;
-  position: relative;
-  padding: 0;
-}
-div.highlighter-rouge > button,
-div.listingblock > div.content > button,
-figure.highlight > button {
-  width: 0.75rem;
-  opacity: 0;
-  position: absolute;
-  top: 0;
-  right: 0;
-  padding: 0.75rem;
-  border: none;
-  background: none;
-  color: #e6e1e8;
-  box-sizing: content-box;
-}
-div.highlighter-rouge > button svg,
-div.listingblock > div.content > button svg,
-figure.highlight > button svg {
-  fill: #e6e1e8;
-}
-div.highlighter-rouge > button:active,
-div.listingblock > div.content > button:active,
-figure.highlight > button:active {
-  text-decoration: none;
-  outline: none;
-  opacity: 1;
-}
-div.highlighter-rouge > button:focus,
-div.listingblock > div.content > button:focus,
-figure.highlight > button:focus {
-  opacity: 1;
-  outline: 2px solid rgb(93.8194444444, 161.0416666667, 251.1805555556);
-}
-div.highlighter-rouge:hover > button,
-div.listingblock > div.content:hover > button,
-figure.highlight:hover > button {
-  cursor: copy;
-  opacity: 1;
-}
-
-div.highlighter-rouge div.highlight {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #e6e1e8;
-  border-radius: 4px;
-}
-div.highlighter-rouge pre.highlight,
-div.highlighter-rouge code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-div.listingblock {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-}
-div.listingblock div.content {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #e6e1e8;
-  border-radius: 4px;
-}
-div.listingblock div.content > pre,
-div.listingblock code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-figure.highlight pre,
-figure.highlight :not(pre) > code {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #e6e1e8;
-  border-radius: 4px;
-}
-
-.highlight .table-wrapper {
-  padding: 0.75rem 0;
-  margin: 0;
-  border: 0;
-  box-shadow: none;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  min-width: 0;
-  padding: 0;
-  background-color: #0d1117;
-  border: 0;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .highlight .table-wrapper td,
-  .highlight .table-wrapper pre {
-    font-size: 0.75rem !important;
-  }
-}
-.highlight .table-wrapper td.gl {
-  width: 1em;
-  padding-right: 0.75rem;
-  padding-left: 0.75rem;
-}
-.highlight .table-wrapper pre {
-  margin: 0;
-  line-height: 2;
-}
-
-.code-example,
-.listingblock > .title {
-  padding: 0.75rem;
-  margin-bottom: 0.75rem;
-  overflow: auto;
-  border: 1px solid #44434d;
-  border-radius: 4px;
-}
-.code-example + .highlighter-rouge,
-.code-example + .sectionbody .listingblock,
-.code-example + .content,
-.code-example + figure.highlight,
-.listingblock > .title + .highlighter-rouge,
-.listingblock > .title + .sectionbody .listingblock,
-.listingblock > .title + .content,
-.listingblock > .title + figure.highlight {
-  position: relative;
-  margin-top: -1rem;
-  border-right: 1px solid #44434d;
-  border-bottom: 1px solid #44434d;
-  border-left: 1px solid #44434d;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-
-code.language-mermaid {
-  padding: 0;
-  background-color: inherit;
-  border: 0;
-}
-
-.highlight,
-pre.highlight {
-  background: #0d1117;
-  color: #e6edf3;
-}
-
-.highlight pre {
-  background: #0d1117;
-}
-
-.text-grey-dk-000 {
-  color: #959396 !important;
-}
-
-.text-grey-dk-100 {
-  color: #5c5962 !important;
-}
-
-.text-grey-dk-200 {
-  color: #44434d !important;
-}
-
-.text-grey-dk-250 {
-  color: #302d36 !important;
-}
-
-.text-grey-dk-300 {
-  color: #27262b !important;
-}
-
-.text-grey-lt-000 {
-  color: #f5f6fa !important;
-}
-
-.text-grey-lt-100 {
-  color: #eeebee !important;
-}
-
-.text-grey-lt-200 {
-  color: #ecebed !important;
-}
-
-.text-grey-lt-300 {
-  color: #e6e1e8 !important;
-}
-
-.text-blue-000 {
-  color: #2c84fa !important;
-}
-
-.text-blue-100 {
-  color: #2869e6 !important;
-}
-
-.text-blue-200 {
-  color: #264caf !important;
-}
-
-.text-blue-300 {
-  color: #183385 !important;
-}
-
-.text-green-000 {
-  color: #41d693 !important;
-}
-
-.text-green-100 {
-  color: #11b584 !important;
-}
-
-.text-green-200 {
-  color: #009c7b !important;
-}
-
-.text-green-300 {
-  color: #026e57 !important;
-}
-
-.text-purple-000 {
-  color: #7253ed !important;
-}
-
-.text-purple-100 {
-  color: #5e41d0 !important;
-}
-
-.text-purple-200 {
-  color: #4e26af !important;
-}
-
-.text-purple-300 {
-  color: #381885 !important;
-}
-
-.text-yellow-000 {
-  color: #ffeb82 !important;
-}
-
-.text-yellow-100 {
-  color: #fadf50 !important;
-}
-
-.text-yellow-200 {
-  color: #f7d12e !important;
-}
-
-.text-yellow-300 {
-  color: #e7af06 !important;
-}
-
-.text-red-000 {
-  color: #f77e7e !important;
-}
-
-.text-red-100 {
-  color: #f96e65 !important;
-}
-
-.text-red-200 {
-  color: #e94c4c !important;
-}
-
-.text-red-300 {
-  color: #dd2e2e !important;
-}
-
-.bg-grey-dk-000 {
-  background-color: #959396 !important;
-}
-
-.bg-grey-dk-100 {
-  background-color: #5c5962 !important;
-}
-
-.bg-grey-dk-200 {
-  background-color: #44434d !important;
-}
-
-.bg-grey-dk-250 {
-  background-color: #302d36 !important;
-}
-
-.bg-grey-dk-300 {
-  background-color: #27262b !important;
-}
-
-.bg-grey-lt-000 {
-  background-color: #f5f6fa !important;
-}
-
-.bg-grey-lt-100 {
-  background-color: #eeebee !important;
-}
-
-.bg-grey-lt-200 {
-  background-color: #ecebed !important;
-}
-
-.bg-grey-lt-300 {
-  background-color: #e6e1e8 !important;
-}
-
-.bg-blue-000 {
-  background-color: #2c84fa !important;
-}
-
-.bg-blue-100 {
-  background-color: #2869e6 !important;
-}
-
-.bg-blue-200 {
-  background-color: #264caf !important;
-}
-
-.bg-blue-300 {
-  background-color: #183385 !important;
-}
-
-.bg-green-000 {
-  background-color: #41d693 !important;
-}
-
-.bg-green-100 {
-  background-color: #11b584 !important;
-}
-
-.bg-green-200 {
-  background-color: #009c7b !important;
-}
-
-.bg-green-300 {
-  background-color: #026e57 !important;
-}
-
-.bg-purple-000 {
-  background-color: #7253ed !important;
-}
-
-.bg-purple-100 {
-  background-color: #5e41d0 !important;
-}
-
-.bg-purple-200 {
-  background-color: #4e26af !important;
-}
-
-.bg-purple-300 {
-  background-color: #381885 !important;
-}
-
-.bg-yellow-000 {
-  background-color: #ffeb82 !important;
-}
-
-.bg-yellow-100 {
-  background-color: #fadf50 !important;
-}
-
-.bg-yellow-200 {
-  background-color: #f7d12e !important;
-}
-
-.bg-yellow-300 {
-  background-color: #e7af06 !important;
-}
-
-.bg-red-000 {
-  background-color: #f77e7e !important;
-}
-
-.bg-red-100 {
-  background-color: #f96e65 !important;
-}
-
-.bg-red-200 {
-  background-color: #e94c4c !important;
-}
-
-.bg-red-300 {
-  background-color: #dd2e2e !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip-path: inset(50%);
-  white-space: nowrap;
-  border-width: 0;
-}
-
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-.float-left {
-  float: left !important;
-}
-
-.float-right {
-  float: right !important;
-}
-
-.flex-justify-start {
-  justify-content: flex-start !important;
-}
-
-.flex-justify-end {
-  justify-content: flex-end !important;
-}
-
-.flex-justify-between {
-  justify-content: space-between !important;
-}
-
-.flex-justify-around {
-  justify-content: space-around !important;
-}
-
-.v-align-baseline {
-  vertical-align: baseline !important;
-}
-
-.v-align-bottom {
-  vertical-align: bottom !important;
-}
-
-.v-align-middle {
-  vertical-align: middle !important;
-}
-
-.v-align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.v-align-text-top {
-  vertical-align: text-top !important;
-}
-
-.v-align-top {
-  vertical-align: top !important;
-}
-
-.fs-1 {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-1 {
-    font-size: 0.625rem !important;
-  }
-}
-
-.fs-2 {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-2 {
-    font-size: 0.75rem !important;
-  }
-}
-
-.fs-3 {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-3 {
-    font-size: 0.875rem !important;
-  }
-}
-
-.fs-4 {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-4 {
-    font-size: 1rem !important;
-  }
-}
-
-.fs-5 {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-5 {
-    font-size: 1.125rem !important;
-  }
-}
-
-.fs-6 {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-6 {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-.fs-7 {
-  font-size: 1.5rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-7 {
-    font-size: 2rem !important;
-  }
-}
-
-.fs-8 {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-8 {
-    font-size: 2.25rem !important;
-  }
-}
-
-.fs-9 {
-  font-size: 2.25rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-9 {
-    font-size: 2.625rem !important;
-  }
-}
-
-.fs-10 {
-  font-size: 2.625rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-10 {
-    font-size: 3rem !important;
-  }
-}
-
-.fw-300 {
-  font-weight: 300 !important;
-}
-
-.fw-400 {
-  font-weight: 400 !important;
-}
-
-.fw-500 {
-  font-weight: 500 !important;
-}
-
-.fw-700 {
-  font-weight: 700 !important;
-}
-
-.lh-0 {
-  line-height: 0 !important;
-}
-
-.lh-default {
-  line-height: 1.4;
-}
-
-.lh-tight {
-  line-height: 1.25;
-}
-
-.ls-5 {
-  letter-spacing: 0.05em !important;
-}
-
-.ls-10 {
-  letter-spacing: 0.1em !important;
-}
-
-.ls-0 {
-  letter-spacing: 0 !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.list-style-none {
-  padding: 0 !important;
-  margin: 0 !important;
-  list-style: none !important;
-}
-.list-style-none li::before {
-  display: none !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mr-0 {
-  margin-right: 0 !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.ml-0 {
-  margin-left: 0 !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.mxn-0 {
-  margin-right: -0 !important;
-  margin-left: -0 !important;
-}
-
-.mx-0-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mr-1 {
-  margin-right: 0.25rem !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.ml-1 {
-  margin-left: 0.25rem !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.mxn-1 {
-  margin-right: -0.25rem !important;
-  margin-left: -0.25rem !important;
-}
-
-.mx-1-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mr-2 {
-  margin-right: 0.5rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.ml-2 {
-  margin-left: 0.5rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.mxn-2 {
-  margin-right: -0.5rem !important;
-  margin-left: -0.5rem !important;
-}
-
-.mx-2-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-3 {
-  margin: 0.75rem !important;
-}
-
-.mt-3 {
-  margin-top: 0.75rem !important;
-}
-
-.mr-3 {
-  margin-right: 0.75rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 0.75rem !important;
-}
-
-.ml-3 {
-  margin-left: 0.75rem !important;
-}
-
-.mx-3 {
-  margin-right: 0.75rem !important;
-  margin-left: 0.75rem !important;
-}
-
-.my-3 {
-  margin-top: 0.75rem !important;
-  margin-bottom: 0.75rem !important;
-}
-
-.mxn-3 {
-  margin-right: -0.75rem !important;
-  margin-left: -0.75rem !important;
-}
-
-.mx-3-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-4 {
-  margin: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1rem !important;
-}
-
-.mr-4 {
-  margin-right: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1rem !important;
-}
-
-.ml-4 {
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.mxn-4 {
-  margin-right: -1rem !important;
-  margin-left: -1rem !important;
-}
-
-.mx-4-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-5 {
-  margin: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 1.5rem !important;
-}
-
-.mr-5 {
-  margin-right: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 1.5rem !important;
-}
-
-.ml-5 {
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.mxn-5 {
-  margin-right: -1.5rem !important;
-  margin-left: -1.5rem !important;
-}
-
-.mx-5-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-6 {
-  margin: 2rem !important;
-}
-
-.mt-6 {
-  margin-top: 2rem !important;
-}
-
-.mr-6 {
-  margin-right: 2rem !important;
-}
-
-.mb-6 {
-  margin-bottom: 2rem !important;
-}
-
-.ml-6 {
-  margin-left: 2rem !important;
-}
-
-.mx-6 {
-  margin-right: 2rem !important;
-  margin-left: 2rem !important;
-}
-
-.my-6 {
-  margin-top: 2rem !important;
-  margin-bottom: 2rem !important;
-}
-
-.mxn-6 {
-  margin-right: -2rem !important;
-  margin-left: -2rem !important;
-}
-
-.mx-6-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-7 {
-  margin: 2.5rem !important;
-}
-
-.mt-7 {
-  margin-top: 2.5rem !important;
-}
-
-.mr-7 {
-  margin-right: 2.5rem !important;
-}
-
-.mb-7 {
-  margin-bottom: 2.5rem !important;
-}
-
-.ml-7 {
-  margin-left: 2.5rem !important;
-}
-
-.mx-7 {
-  margin-right: 2.5rem !important;
-  margin-left: 2.5rem !important;
-}
-
-.my-7 {
-  margin-top: 2.5rem !important;
-  margin-bottom: 2.5rem !important;
-}
-
-.mxn-7 {
-  margin-right: -2.5rem !important;
-  margin-left: -2.5rem !important;
-}
-
-.mx-7-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-8 {
-  margin: 3rem !important;
-}
-
-.mt-8 {
-  margin-top: 3rem !important;
-}
-
-.mr-8 {
-  margin-right: 3rem !important;
-}
-
-.mb-8 {
-  margin-bottom: 3rem !important;
-}
-
-.ml-8 {
-  margin-left: 3rem !important;
-}
-
-.mx-8 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.my-8 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.mxn-8 {
-  margin-right: -3rem !important;
-  margin-left: -3rem !important;
-}
-
-.mx-8-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-9 {
-  margin: 3.5rem !important;
-}
-
-.mt-9 {
-  margin-top: 3.5rem !important;
-}
-
-.mr-9 {
-  margin-right: 3.5rem !important;
-}
-
-.mb-9 {
-  margin-bottom: 3.5rem !important;
-}
-
-.ml-9 {
-  margin-left: 3.5rem !important;
-}
-
-.mx-9 {
-  margin-right: 3.5rem !important;
-  margin-left: 3.5rem !important;
-}
-
-.my-9 {
-  margin-top: 3.5rem !important;
-  margin-bottom: 3.5rem !important;
-}
-
-.mxn-9 {
-  margin-right: -3.5rem !important;
-  margin-left: -3.5rem !important;
-}
-
-.mx-9-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-10 {
-  margin: 4rem !important;
-}
-
-.mt-10 {
-  margin-top: 4rem !important;
-}
-
-.mr-10 {
-  margin-right: 4rem !important;
-}
-
-.mb-10 {
-  margin-bottom: 4rem !important;
-}
-
-.ml-10 {
-  margin-left: 4rem !important;
-}
-
-.mx-10 {
-  margin-right: 4rem !important;
-  margin-left: 4rem !important;
-}
-
-.my-10 {
-  margin-top: 4rem !important;
-  margin-bottom: 4rem !important;
-}
-
-.mxn-10 {
-  margin-right: -4rem !important;
-  margin-left: -4rem !important;
-}
-
-.mx-10-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-@media (min-width: 20rem) {
-  .m-xs-0 {
-    margin: 0 !important;
-  }
-  .mt-xs-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xs-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xs-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xs-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xs-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xs-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xs-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xs-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xs-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xs-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xs-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xs-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xs-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xs-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xs-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xs-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xs-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xs-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xs-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xs-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xs-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xs-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xs-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xs-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xs-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xs-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xs-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xs-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-4 {
-    margin: 1rem !important;
-  }
-  .mt-xs-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xs-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xs-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xs-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xs-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xs-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xs-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xs-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xs-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xs-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xs-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xs-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xs-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xs-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-6 {
-    margin: 2rem !important;
-  }
-  .mt-xs-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xs-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xs-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xs-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xs-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xs-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xs-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xs-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xs-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xs-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xs-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xs-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xs-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xs-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-8 {
-    margin: 3rem !important;
-  }
-  .mt-xs-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xs-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xs-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xs-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xs-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xs-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xs-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xs-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xs-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xs-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xs-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xs-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xs-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xs-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-10 {
-    margin: 4rem !important;
-  }
-  .mt-xs-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xs-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xs-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xs-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xs-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xs-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xs-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mr-sm-0 {
-    margin-right: 0 !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-sm-0 {
-    margin-left: 0 !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-sm-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-sm-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-sm-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-sm-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-sm-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-sm-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-4 {
-    margin: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-sm-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-sm-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-sm-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-sm-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-sm-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-sm-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-6 {
-    margin: 2rem !important;
-  }
-  .mt-sm-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-sm-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-sm-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-sm-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-sm-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-sm-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-sm-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-sm-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-sm-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-sm-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-sm-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-sm-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-sm-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-sm-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-8 {
-    margin: 3rem !important;
-  }
-  .mt-sm-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-sm-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-sm-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-sm-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-sm-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-sm-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-sm-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-sm-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-sm-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-sm-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-sm-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-sm-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-sm-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-sm-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-10 {
-    margin: 4rem !important;
-  }
-  .mt-sm-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-sm-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-sm-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-sm-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-sm-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-sm-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-sm-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .mt-md-0 {
-    margin-top: 0 !important;
-  }
-  .mr-md-0 {
-    margin-right: 0 !important;
-  }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-md-0 {
-    margin-left: 0 !important;
-  }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-md-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-md-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-md-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-md-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-md-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-md-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-md-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-md-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-md-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-md-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-4 {
-    margin: 1rem !important;
-  }
-  .mt-md-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-md-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-md-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-md-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-md-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-md-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-md-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-md-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-md-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-md-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-md-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-md-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-md-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-md-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-6 {
-    margin: 2rem !important;
-  }
-  .mt-md-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-md-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-md-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-md-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-md-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-md-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-md-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-md-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-md-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-md-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-md-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-md-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-md-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-md-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-8 {
-    margin: 3rem !important;
-  }
-  .mt-md-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-md-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-md-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-md-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-md-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-md-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-md-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-md-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-md-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-md-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-md-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-md-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-md-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-md-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-10 {
-    margin: 4rem !important;
-  }
-  .mt-md-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-md-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-md-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-md-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-md-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-md-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-md-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .mt-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mr-lg-0 {
-    margin-right: 0 !important;
-  }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-lg-0 {
-    margin-left: 0 !important;
-  }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-lg-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-lg-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-lg-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-lg-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-lg-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-lg-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-lg-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-lg-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-lg-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-lg-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-4 {
-    margin: 1rem !important;
-  }
-  .mt-lg-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-lg-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-lg-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-lg-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-lg-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-lg-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-lg-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-lg-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-lg-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-lg-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-lg-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-lg-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-lg-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-lg-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-6 {
-    margin: 2rem !important;
-  }
-  .mt-lg-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-lg-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-lg-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-lg-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-lg-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-lg-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-lg-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-lg-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-lg-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-lg-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-lg-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-lg-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-lg-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-lg-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-8 {
-    margin: 3rem !important;
-  }
-  .mt-lg-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-lg-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-lg-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-lg-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-lg-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-lg-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-lg-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-lg-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-lg-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-lg-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-lg-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-lg-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-lg-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-lg-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-10 {
-    margin: 4rem !important;
-  }
-  .mt-lg-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-lg-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-lg-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-lg-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-lg-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-lg-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-lg-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .mt-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xl-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xl-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xl-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xl-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xl-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xl-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xl-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xl-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xl-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xl-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xl-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xl-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xl-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xl-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-4 {
-    margin: 1rem !important;
-  }
-  .mt-xl-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xl-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xl-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xl-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xl-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xl-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xl-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xl-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xl-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xl-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xl-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xl-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xl-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xl-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-6 {
-    margin: 2rem !important;
-  }
-  .mt-xl-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xl-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xl-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xl-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xl-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xl-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xl-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xl-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xl-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xl-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xl-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xl-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xl-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xl-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-8 {
-    margin: 3rem !important;
-  }
-  .mt-xl-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xl-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xl-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xl-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xl-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xl-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xl-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xl-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xl-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xl-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xl-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xl-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xl-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xl-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-10 {
-    margin: 4rem !important;
-  }
-  .mt-xl-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xl-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xl-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xl-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xl-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xl-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xl-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-.p-0 {
-  padding: 0 !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pr-0 {
-  padding-right: 0 !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pl-0 {
-  padding-left: 0 !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pr-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pl-1 {
-  padding-left: 0.25rem !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pr-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pl-2 {
-  padding-left: 0.5rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 0.75rem !important;
-}
-
-.pt-3 {
-  padding-top: 0.75rem !important;
-}
-
-.pr-3 {
-  padding-right: 0.75rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 0.75rem !important;
-}
-
-.pl-3 {
-  padding-left: 0.75rem !important;
-}
-
-.px-3 {
-  padding-right: 0.75rem !important;
-  padding-left: 0.75rem !important;
-}
-
-.py-3 {
-  padding-top: 0.75rem !important;
-  padding-bottom: 0.75rem !important;
-}
-
-.p-4 {
-  padding: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1rem !important;
-}
-
-.pr-4 {
-  padding-right: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1rem !important;
-}
-
-.pl-4 {
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.p-5 {
-  padding: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 1.5rem !important;
-}
-
-.pr-5 {
-  padding-right: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pl-5 {
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.p-6 {
-  padding: 2rem !important;
-}
-
-.pt-6 {
-  padding-top: 2rem !important;
-}
-
-.pr-6 {
-  padding-right: 2rem !important;
-}
-
-.pb-6 {
-  padding-bottom: 2rem !important;
-}
-
-.pl-6 {
-  padding-left: 2rem !important;
-}
-
-.px-6 {
-  padding-right: 2rem !important;
-  padding-left: 2rem !important;
-}
-
-.py-6 {
-  padding-top: 2rem !important;
-  padding-bottom: 2rem !important;
-}
-
-.p-7 {
-  padding: 2.5rem !important;
-}
-
-.pt-7 {
-  padding-top: 2.5rem !important;
-}
-
-.pr-7 {
-  padding-right: 2.5rem !important;
-}
-
-.pb-7 {
-  padding-bottom: 2.5rem !important;
-}
-
-.pl-7 {
-  padding-left: 2.5rem !important;
-}
-
-.px-7 {
-  padding-right: 2.5rem !important;
-  padding-left: 2.5rem !important;
-}
-
-.py-7 {
-  padding-top: 2.5rem !important;
-  padding-bottom: 2.5rem !important;
-}
-
-.p-8 {
-  padding: 3rem !important;
-}
-
-.pt-8 {
-  padding-top: 3rem !important;
-}
-
-.pr-8 {
-  padding-right: 3rem !important;
-}
-
-.pb-8 {
-  padding-bottom: 3rem !important;
-}
-
-.pl-8 {
-  padding-left: 3rem !important;
-}
-
-.px-8 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-8 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.p-9 {
-  padding: 3.5rem !important;
-}
-
-.pt-9 {
-  padding-top: 3.5rem !important;
-}
-
-.pr-9 {
-  padding-right: 3.5rem !important;
-}
-
-.pb-9 {
-  padding-bottom: 3.5rem !important;
-}
-
-.pl-9 {
-  padding-left: 3.5rem !important;
-}
-
-.px-9 {
-  padding-right: 3.5rem !important;
-  padding-left: 3.5rem !important;
-}
-
-.py-9 {
-  padding-top: 3.5rem !important;
-  padding-bottom: 3.5rem !important;
-}
-
-.p-10 {
-  padding: 4rem !important;
-}
-
-.pt-10 {
-  padding-top: 4rem !important;
-}
-
-.pr-10 {
-  padding-right: 4rem !important;
-}
-
-.pb-10 {
-  padding-bottom: 4rem !important;
-}
-
-.pl-10 {
-  padding-left: 4rem !important;
-}
-
-.px-10 {
-  padding-right: 4rem !important;
-  padding-left: 4rem !important;
-}
-
-.py-10 {
-  padding-top: 4rem !important;
-  padding-bottom: 4rem !important;
-}
-
-@media (min-width: 20rem) {
-  .p-xs-0 {
-    padding: 0 !important;
-  }
-  .pt-xs-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xs-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xs-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xs-0 {
-    padding-left: 0 !important;
-  }
-  .px-xs-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xs-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xs-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xs-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xs-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xs-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xs-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xs-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xs-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xs-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xs-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xs-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xs-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xs-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xs-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xs-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xs-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xs-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xs-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xs-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xs-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xs-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xs-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xs-4 {
-    padding: 1rem !important;
-  }
-  .pt-xs-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xs-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xs-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xs-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xs-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xs-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xs-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xs-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xs-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xs-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xs-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xs-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xs-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xs-6 {
-    padding: 2rem !important;
-  }
-  .pt-xs-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xs-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xs-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xs-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xs-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xs-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xs-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xs-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xs-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xs-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xs-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xs-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xs-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xs-8 {
-    padding: 3rem !important;
-  }
-  .pt-xs-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xs-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xs-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xs-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xs-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xs-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xs-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xs-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xs-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xs-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xs-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xs-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xs-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xs-10 {
-    padding: 4rem !important;
-  }
-  .pt-xs-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xs-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xs-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xs-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xs-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xs-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pr-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-sm-0 {
-    padding-left: 0 !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-sm-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-sm-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-sm-4 {
-    padding: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-sm-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-sm-4 {
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-sm-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-sm-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-sm-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-sm-6 {
-    padding: 2rem !important;
-  }
-  .pt-sm-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-sm-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-sm-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-sm-6 {
-    padding-left: 2rem !important;
-  }
-  .px-sm-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-sm-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-sm-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-sm-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-sm-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-sm-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-sm-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-sm-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-sm-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-sm-8 {
-    padding: 3rem !important;
-  }
-  .pt-sm-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-sm-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-sm-8 {
-    padding-left: 3rem !important;
-  }
-  .px-sm-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-sm-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-sm-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-sm-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-sm-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-sm-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-sm-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-sm-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-sm-10 {
-    padding: 4rem !important;
-  }
-  .pt-sm-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-sm-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-sm-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-sm-10 {
-    padding-left: 4rem !important;
-  }
-  .px-sm-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-sm-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .pt-md-0 {
-    padding-top: 0 !important;
-  }
-  .pr-md-0 {
-    padding-right: 0 !important;
-  }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-md-0 {
-    padding-left: 0 !important;
-  }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-md-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-md-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-md-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-md-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-md-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-md-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-md-4 {
-    padding: 1rem !important;
-  }
-  .pt-md-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-md-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-md-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-md-4 {
-    padding-left: 1rem !important;
-  }
-  .px-md-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-md-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-md-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-md-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-md-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-md-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-md-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-md-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-md-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-md-6 {
-    padding: 2rem !important;
-  }
-  .pt-md-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-md-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-md-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-md-6 {
-    padding-left: 2rem !important;
-  }
-  .px-md-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-md-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-md-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-md-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-md-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-md-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-md-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-md-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-md-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-md-8 {
-    padding: 3rem !important;
-  }
-  .pt-md-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-md-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-md-8 {
-    padding-left: 3rem !important;
-  }
-  .px-md-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-md-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-md-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-md-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-md-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-md-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-md-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-md-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-md-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-md-10 {
-    padding: 4rem !important;
-  }
-  .pt-md-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-md-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-md-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-md-10 {
-    padding-left: 4rem !important;
-  }
-  .px-md-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-md-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .pt-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pr-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-lg-0 {
-    padding-left: 0 !important;
-  }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-lg-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-lg-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-lg-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-lg-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-lg-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-lg-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-lg-4 {
-    padding: 1rem !important;
-  }
-  .pt-lg-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-lg-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-lg-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-lg-4 {
-    padding-left: 1rem !important;
-  }
-  .px-lg-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-lg-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-lg-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-lg-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-lg-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-lg-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-lg-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-lg-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-lg-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-lg-6 {
-    padding: 2rem !important;
-  }
-  .pt-lg-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-lg-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-lg-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-lg-6 {
-    padding-left: 2rem !important;
-  }
-  .px-lg-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-lg-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-lg-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-lg-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-lg-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-lg-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-lg-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-lg-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-lg-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-lg-8 {
-    padding: 3rem !important;
-  }
-  .pt-lg-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-lg-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-lg-8 {
-    padding-left: 3rem !important;
-  }
-  .px-lg-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-lg-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-lg-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-lg-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-lg-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-lg-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-lg-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-lg-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-lg-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-lg-10 {
-    padding: 4rem !important;
-  }
-  .pt-lg-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-lg-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-lg-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-lg-10 {
-    padding-left: 4rem !important;
-  }
-  .px-lg-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-lg-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .p-xl-0 {
-    padding: 0 !important;
-  }
-  .pt-xl-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xl-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xl-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xl-0 {
-    padding-left: 0 !important;
-  }
-  .px-xl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xl-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xl-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xl-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xl-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xl-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xl-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xl-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xl-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xl-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xl-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xl-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xl-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xl-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xl-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xl-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xl-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xl-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xl-4 {
-    padding: 1rem !important;
-  }
-  .pt-xl-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xl-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xl-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xl-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xl-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xl-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xl-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xl-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xl-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xl-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xl-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xl-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xl-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xl-6 {
-    padding: 2rem !important;
-  }
-  .pt-xl-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xl-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xl-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xl-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xl-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xl-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xl-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xl-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xl-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xl-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xl-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xl-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xl-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xl-8 {
-    padding: 3rem !important;
-  }
-  .pt-xl-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xl-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xl-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xl-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xl-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xl-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xl-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xl-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xl-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xl-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xl-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xl-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xl-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xl-10 {
-    padding: 4rem !important;
-  }
-  .pt-xl-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xl-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xl-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xl-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xl-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xl-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media print {
-  .site-footer,
-  .site-button,
-  #edit-this-page,
-  #back-to-top,
-  .site-nav,
-  .main-header {
-    display: none !important;
-  }
-  hr {
-    margin-top: 1rem;
-    margin-bottom: 1rem;
-  }
-  .side-bar {
-    width: 100%;
-    height: auto;
-    border-right: 0 !important;
-    /* Disable display: flex and position: fixed from non-print styles */
-    position: static;
-    display: block;
-  }
-  .site-header {
-    border-bottom: 1px solid #44434d;
-  }
-  .site-title {
-    font-size: 1rem !important;
-    font-weight: 700 !important;
-  }
-  .text-small {
-    font-size: 8pt !important;
-  }
-  pre.highlight {
-    border: 1px solid #44434d;
-  }
-  .main {
-    max-width: none;
-    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */
-  }
-}
-a.skip-to-main {
-  left: -999px;
-  position: absolute;
-  top: auto;
-  width: 1px;
-  height: 1px;
-  overflow: hidden;
-  z-index: -999;
-}
-
-a.skip-to-main:focus,
-a.skip-to-main:active {
-  color: rgb(93.8194444444, 161.0416666667, 251.1805555556);
-  background-color: #27262b;
-  left: auto;
-  top: auto;
-  width: 30%;
-  height: auto;
-  overflow: auto;
-  margin: 10px 35%;
-  padding: 5px;
-  border-radius: 15px;
-  border: 4px solid #264caf;
-  text-align: center;
-  font-size: 1.2em;
-  z-index: 999;
-}
-
-div.opaque {
-  background-color: #27262b;
-}
-
-p.note, blockquote.note {
-  border: 1px #183385 solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note::before, blockquote.note::before {
-  color: #183385;
-  content: "Note";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.note > .note-title, blockquote.note > .note-title {
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.note-title, blockquote.note-title {
-  border: 1px #183385 solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note-title > p:first-child, blockquote.note-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.note {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note > p:first-child {
-  margin-top: 0;
-}
-blockquote.note > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.note-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.note-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.warning, blockquote.warning {
-  border: 1px #dd2e2e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning::before, blockquote.warning::before {
-  color: #dd2e2e;
-  content: "Warning";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.warning > .warning-title, blockquote.warning > .warning-title {
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.warning-title, blockquote.warning-title {
-  border: 1px #dd2e2e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning-title > p:first-child, blockquote.warning-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.warning {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning > p:first-child {
-  margin-top: 0;
-}
-blockquote.warning > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.warning-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.warning-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.tip, blockquote.tip {
-  border: 1px #026e57 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip::before, blockquote.tip::before {
-  color: #026e57;
-  content: "Tip";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.tip > .tip-title, blockquote.tip > .tip-title {
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.tip-title, blockquote.tip-title {
-  border: 1px #026e57 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip-title > p:first-child, blockquote.tip-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.tip {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip > p:first-child {
-  margin-top: 0;
-}
-blockquote.tip > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.tip-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.tip-title > p:last-child {
-  margin-bottom: 0;
-}
-
-/*# sourceMappingURL=just-the-docs-dark.css.map */
\ No newline at end of file
diff --git a/docs/_site/assets/css/just-the-docs-dark.css.map b/docs/_site/assets/css/just-the-docs-dark.css.map
deleted file mode 100644
index 4d06243..0000000
--- a/docs/_site/assets/css/just-the-docs-dark.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-dark.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/dark.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-dark.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAa;EAAqB;;;AAClC;EAAgB;EAAgB;EAAqB;AACrD;EAAkB;EAAiB;AACnC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAgB;EAAoB;AACpD;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAkB;EAAgB;EAAqB;AACvD;EAAiB;EAAgB;EAAqB;AACtD;EAAiB;EAAgB;EAAmB;EAAqB;AACzE;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAgB;EAAqB;AACtD;EAAkB;EAAgB;EAAmB;EAAqB;AAC1E;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAA4B;AAC7D;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAA0B;EAAgB;EAA6B;AACvE;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAgB;EAAoB;AACrD;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AC1FlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIiBY;EJhBZ,kBIYY;EJXZ;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIjBY;;;AJoBd;EACE;EACA;;;AAGF;EACE,OCzDW;ED0DX;;;AAGF;EACE;EACA,uBInCY;EJoCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBInEY;EJoEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD4BY;;ADpBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDLQ;;ADpBV;EEuBA;IAKI;IACA,kBDTM;;;ACYR;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODnGY;ECoGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OJ7MW;;;AKCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OL/KO;EKgLP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,ON3EO;EM4EP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHlFI;;AGqFN;EACE,OHtFI;;AG4FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,ONjKG;;AMoKL;EACE,ONrKG;;;AM8Kb;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OTRW;ESSX;EACA;EACA;EACA,kBNiBY;EMhBZ;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,OTtEW;ESuEX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORTY;EQUZ,kBRfY;EQgBZ;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBRxBU;IQyBV;;;AAGF;EACE;;AAEA;EACE,OX9DO;;;AWmEb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRhEY;EQiEZ,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX3Ha;;;AW+HjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,OXrKS;EWsKT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,ORrJY;EQsJZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORjKY;EQkKZ;EACA,aR/GO;EQgHP,mBR1KY;;AFhBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBRzMY;EQ0MZ;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBRzPU;;ADnBV;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTQY;ESPZ;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBbDoB;EaEpB;EACA,eV+EY;;;AU1EhB;EACE,cVcY;;;AUqCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBbjEsB;EakEtB,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OVtDU;EUuDV;;AAEA;AAAA;AAAA;EACE,MV1DQ;;AU6DV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBb/KoB;EagLpB;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YblOsB;EaqOpB,ObpOoB;;;Aa2OxB;EACE,Yb7OsB;;;AcLxB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OpBXW;EoBYX,kBjBkBY;EiBjBZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE,kBlByBY;;;AkBtBd;EACI;EACA;EACA,elB4EY;EkB3EZ;EACA;;AAEA;EACI,OlB0BG;EkBzBH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBgBK;EkBfL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBiDY;EkBhDZ;EACA;;AACA;EACE;EACA;EACA,OlBFK;EkBGL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBGY;EkBFZ;EACA;;AAEA;EACI,OlBnCE;EkBoCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB7CI;EkB8CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBxBY;EkByBZ;EACA;;AACA;EACE;EACA;EACA,OlB/DI;EkBgEJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBtEY;EkBuEZ;EACA;;AAEA;EACI,OlBpHI;EkBqHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB9HM;EkB+HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBjGY;EkBkGZ;EACA;;AACA;EACE;EACA;EACA,OlBhJM;EkBiJN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #6e7681 }\n.highlight { background: #0d1117; color: #E6EDF3 }\n.highlight .c { color: #8B949E; font-style: italic } /* Comment */\n.highlight .err { color: #F85149 } /* Error */\n.highlight .esc { color: #E6EDF3 } /* Escape */\n.highlight .g { color: #E6EDF3 } /* Generic */\n.highlight .k { color: #FF7B72 } /* Keyword */\n.highlight .l { color: #A5D6FF } /* Literal */\n.highlight .n { color: #E6EDF3 } /* Name */\n.highlight .o { color: #FF7B72; font-weight: bold } /* Operator */\n.highlight .x { color: #E6EDF3 } /* Other */\n.highlight .p { color: #E6EDF3 } /* Punctuation */\n.highlight .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */\n.highlight .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #8B949E; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */\n.highlight .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */\n.highlight .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n.highlight .gr { color: #FFA198 } /* Generic.Error */\n.highlight .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */\n.highlight .go { color: #8B949E } /* Generic.Output */\n.highlight .gp { color: #8B949E } /* Generic.Prompt */\n.highlight .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #79C0FF } /* Generic.Subheading */\n.highlight .gt { color: #FF7B72 } /* Generic.Traceback */\n.highlight .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */\n.highlight .kc { color: #79C0FF } /* Keyword.Constant */\n.highlight .kd { color: #FF7B72 } /* Keyword.Declaration */\n.highlight .kn { color: #FF7B72 } /* Keyword.Namespace */\n.highlight .kp { color: #79C0FF } /* Keyword.Pseudo */\n.highlight .kr { color: #FF7B72 } /* Keyword.Reserved */\n.highlight .kt { color: #FF7B72 } /* Keyword.Type */\n.highlight .ld { color: #79C0FF } /* Literal.Date */\n.highlight .m { color: #A5D6FF } /* Literal.Number */\n.highlight .s { color: #A5D6FF } /* Literal.String */\n.highlight .na { color: #E6EDF3 } /* Name.Attribute */\n.highlight .nb { color: #E6EDF3 } /* Name.Builtin */\n.highlight .nc { color: #F0883E; font-weight: bold } /* Name.Class */\n.highlight .no { color: #79C0FF; font-weight: bold } /* Name.Constant */\n.highlight .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */\n.highlight .ni { color: #FFA657 } /* Name.Entity */\n.highlight .ne { color: #F0883E; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */\n.highlight .nl { color: #79C0FF; font-weight: bold } /* Name.Label */\n.highlight .nn { color: #FF7B72 } /* Name.Namespace */\n.highlight .nx { color: #E6EDF3 } /* Name.Other */\n.highlight .py { color: #79C0FF } /* Name.Property */\n.highlight .nt { color: #7EE787 } /* Name.Tag */\n.highlight .nv { color: #79C0FF } /* Name.Variable */\n.highlight .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */\n.highlight .pm { color: #E6EDF3 } /* Punctuation.Marker */\n.highlight .w { color: #6E7681 } /* Text.Whitespace */\n.highlight .mb { color: #A5D6FF } /* Literal.Number.Bin */\n.highlight .mf { color: #A5D6FF } /* Literal.Number.Float */\n.highlight .mh { color: #A5D6FF } /* Literal.Number.Hex */\n.highlight .mi { color: #A5D6FF } /* Literal.Number.Integer */\n.highlight .mo { color: #A5D6FF } /* Literal.Number.Oct */\n.highlight .sa { color: #79C0FF } /* Literal.String.Affix */\n.highlight .sb { color: #A5D6FF } /* Literal.String.Backtick */\n.highlight .sc { color: #A5D6FF } /* Literal.String.Char */\n.highlight .dl { color: #79C0FF } /* Literal.String.Delimiter */\n.highlight .sd { color: #A5D6FF } /* Literal.String.Doc */\n.highlight .s2 { color: #A5D6FF } /* Literal.String.Double */\n.highlight .se { color: #79C0FF } /* Literal.String.Escape */\n.highlight .sh { color: #79C0FF } /* Literal.String.Heredoc */\n.highlight .si { color: #A5D6FF } /* Literal.String.Interpol */\n.highlight .sx { color: #A5D6FF } /* Literal.String.Other */\n.highlight .sr { color: #79C0FF } /* Literal.String.Regex */\n.highlight .s1 { color: #A5D6FF } /* Literal.String.Single */\n.highlight .ss { color: #A5D6FF } /* Literal.String.Symbol */\n.highlight .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */\n.highlight .vc { color: #79C0FF } /* Name.Variable.Class */\n.highlight .vg { color: #79C0FF } /* Name.Variable.Global */\n.highlight .vi { color: #79C0FF } /* Name.Variable.Instance */\n.highlight .vm { color: #79C0FF } /* Name.Variable.Magic */\n.highlight .il { color: #A5D6FF } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n   ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n  line-height: 1.15; /* 1 */\n  text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n  /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n  /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n  appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  appearance: auto; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n  display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n  color-scheme: $color-scheme;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nhtml {\n  scroll-behavior: smooth;\n\n  @include fs-4;\n}\n\nbody {\n  font-family: $body-font-family;\n  font-size: inherit;\n  line-height: $body-line-height;\n  color: $body-text-color;\n  background-color: $body-background-color;\n  overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n  margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n  margin-top: 0;\n  margin-bottom: 1em;\n  font-weight: 500;\n  line-height: $body-heading-line-height;\n  color: $body-heading-color;\n}\n\np {\n  margin-top: 1em;\n  margin-bottom: 1em;\n}\n\na {\n  color: $link-color;\n  text-decoration: none;\n}\n\na:not([class]) {\n  text-decoration: underline;\n  text-decoration-color: $border-color;\n  text-underline-offset: 2px;\n\n  &:hover {\n    text-decoration-color: rgba($link-color, 0.45);\n  }\n}\n\ncode {\n  font-family: $mono-font-family;\n  font-size: 0.75em;\n  line-height: $body-line-height;\n}\n\nfigure,\npre {\n  margin: 0;\n}\n\nli {\n  margin: 0.25em 0;\n}\n\nimg {\n  max-width: 100%;\n  height: auto;\n}\n\nhr {\n  height: 1px;\n  padding: 0;\n  margin: $sp-6 0;\n  background-color: $border-color;\n  border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n  margin: 10px 0;\n\n  // resets user-agent stylesheets for blockquotes\n  margin-block-start: 0;\n  margin-inline-start: 0;\n  padding-left: 1rem;\n  border-left: 3px solid $border-color;\n}\n","$color-scheme: dark;\n$body-background-color: $grey-dk-300;\n$body-heading-color: $grey-lt-000;\n$body-text-color: $grey-lt-300;\n$link-color: lighten($blue-000, 10%);\n$nav-child-link-color: $grey-dk-000;\n$sidebar-color: $grey-dk-300;\n$base-button-color: $grey-dk-250;\n$btn-primary-color: $blue-200;\n$code-background-color: #0d1117; // github-dark bg color\n$code-linenumber-color: #e6edf3; // github-dark line number color\n$feedback-color: darken($sidebar-color, 3%);\n$table-background-color: $grey-dk-250;\n$search-background-color: $grey-dk-250;\n$search-result-preview-color: $grey-lt-300;\n$border-color: $grey-dk-200;\n\n@import \"./vendor/accessible-pygments/github-dark\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n  & {\n    font-size: $font-size-1 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-1-sm !important;\n  }\n}\n\n@mixin fs-2 {\n  & {\n    font-size: $font-size-2 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-3 !important;\n  }\n}\n\n@mixin fs-3 {\n  & {\n    font-size: $font-size-3 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-4 !important;\n  }\n}\n\n@mixin fs-4 {\n  & {\n    font-size: $font-size-4 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-5 !important;\n  }\n}\n\n@mixin fs-5 {\n  & {\n    font-size: $font-size-5 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-6 !important;\n  }\n}\n\n@mixin fs-6 {\n  & {\n    font-size: $font-size-6 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n}\n\n@mixin fs-7 {\n  & {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-8 !important;\n  }\n}\n\n@mixin fs-8 {\n  & {\n    font-size: $font-size-8 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-9 !important;\n  }\n}\n\n@mixin fs-9 {\n  & {\n    font-size: $font-size-9 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10 !important;\n  }\n}\n\n@mixin fs-10 {\n  & {\n    font-size: $font-size-10 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10-sm !important;\n  }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n//   ..medium and up styles\n// }\n@mixin mq($name) {\n  // Retrieves the value from the key\n  $value: map-get($media-queries, $name);\n\n  // If the key exists in the map\n  @if $value {\n    // Prints a media query based on the value\n    @media (min-width: $value) {\n      @content;\n    }\n  } @else {\n    @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n  }\n}\n\n// Responsive container\n\n@mixin container {\n  padding-right: $gutter-spacing-sm;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-right: $gutter-spacing;\n    padding-left: $gutter-spacing;\n  }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n  roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n  sp-0: 0,\n  sp-1: $spacing-unit * 0.25,\n  sp-2: $spacing-unit * 0.5,\n  sp-3: $spacing-unit * 0.75,\n  sp-4: $spacing-unit,\n  sp-5: $spacing-unit * 1.5,\n  sp-6: $spacing-unit * 2,\n  sp-7: $spacing-unit * 2.5,\n  sp-8: $spacing-unit * 3,\n  sp-9: $spacing-unit * 3.5,\n  sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5  rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1    rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5  rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2    rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5  rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3    rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5  rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4  rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n  xs: 20rem,\n  sm: 31.25rem,\n  md: $content-width,\n  lg: $content-width + $nav-width,\n  xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n  z-index: 0;\n  display: flex;\n  flex-wrap: wrap;\n  background-color: $sidebar-color;\n\n  @include mq(md) {\n    flex-flow: column nowrap;\n    position: fixed;\n    width: $nav-width-md;\n    height: 100%;\n    border-right: $border $border-color;\n    align-items: flex-end;\n  }\n\n  @include mq(lg) {\n    width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n    min-width: $nav-width;\n  }\n\n  & + .main {\n    @include mq(md) {\n      margin-left: $nav-width-md;\n    }\n\n    @include mq(lg) {\n      // stylelint-disable function-name-case\n      // disable for Max(), we want to use the CSS max() function\n      margin-left: Max(\n        #{$nav-width},\n        calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n      );\n      // stylelint-enable function-name-case\n    }\n\n    .main-header {\n      display: none;\n      background-color: $sidebar-color;\n\n      @include mq(md) {\n        display: flex;\n        background-color: $body-background-color;\n      }\n\n      &.nav-open {\n        display: block;\n\n        @include mq(md) {\n          display: flex;\n        }\n      }\n    }\n  }\n}\n\n.main {\n  margin: auto;\n\n  @include mq(md) {\n    position: relative;\n    max-width: $content-width;\n  }\n}\n\n.main-content-wrap {\n  padding-top: $gutter-spacing-sm;\n  padding-bottom: $gutter-spacing-sm;\n\n  @include container;\n\n  @include mq(md) {\n    padding-top: $gutter-spacing;\n    padding-bottom: $gutter-spacing;\n  }\n}\n\n.main-header {\n  z-index: 0;\n  border-bottom: $border $border-color;\n\n  @include mq(md) {\n    display: flex;\n    justify-content: space-between;\n    height: $header-height;\n  }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n  width: 100%;\n\n  @include mq(lg) {\n    width: $nav-width;\n  }\n}\n\n.site-nav {\n  display: none;\n\n  &.nav-open {\n    display: block;\n  }\n\n  @include mq(md) {\n    display: block;\n    padding-top: $sp-8;\n    padding-bottom: $gutter-spacing-sm;\n    overflow-y: auto;\n    flex: 1 1 auto;\n  }\n}\n\n.site-header {\n  display: flex;\n  min-height: $header-height;\n  align-items: center;\n\n  @include mq(md) {\n    height: $header-height;\n    max-height: $header-height;\n    border-bottom: $border $border-color;\n  }\n}\n\n.site-title {\n  flex-grow: 1;\n  display: flex;\n  height: 100%;\n  align-items: center;\n  padding-top: $sp-3;\n  padding-bottom: $sp-3;\n  color: $body-heading-color;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n  @include container;\n\n  @include fs-6;\n\n  @include mq(md) {\n    padding-top: $sp-2;\n    padding-bottom: $sp-2;\n  }\n}\n\n@if variable-exists(logo) {\n  .site-logo {\n    width: 100%;\n    height: 100%;\n    background-image: url($logo);\n    background-repeat: no-repeat;\n    background-position: left center;\n    background-size: contain;\n  }\n}\n\n.site-button {\n  display: flex;\n  height: 100%;\n  padding: $gutter-spacing-sm;\n  align-items: center;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n  .site-header .site-button {\n    display: none;\n  }\n}\n\n.site-title:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 80%,\n    rgba($feedback-color, 0) 100%\n  );\n}\n\n.site-button:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 100%\n  );\n}\n\n.site-footer {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  padding-top: $sp-4;\n  padding-bottom: $sp-4;\n\n  @include container;\n\n  @include fs-2;\n\n  @include mq(md) {\n    position: static;\n    justify-self: end;\n  }\n}\n\n.icon {\n  width: $sp-5;\n  height: $sp-5;\n  color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n  line-height: $content-line-height;\n\n  ol,\n  ul,\n  dl,\n  pre,\n  address,\n  blockquote,\n  .table-wrapper {\n    margin-top: 0.5em;\n  }\n\n  a {\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  ul,\n  ol {\n    padding-left: 1.5em;\n  }\n\n  li {\n    .highlight {\n      margin-top: $sp-1;\n    }\n  }\n\n  ol {\n    list-style-type: none;\n    counter-reset: step-counter;\n\n    > li {\n      position: relative;\n\n      &::before {\n        position: absolute;\n        top: 0.2em;\n        left: -1.6em;\n        color: $grey-dk-000;\n        content: counter(step-counter);\n        counter-increment: step-counter;\n        @include fs-3;\n\n        @include mq(sm) {\n          top: 0.11em;\n        }\n      }\n\n      ol {\n        counter-reset: sub-counter;\n\n        > li {\n          &::before {\n            content: counter(sub-counter, lower-alpha);\n            counter-increment: sub-counter;\n          }\n        }\n      }\n    }\n  }\n\n  ul {\n    list-style: none;\n\n    > li {\n      &::before {\n        position: absolute;\n        margin-left: -1.4em;\n        color: $grey-dk-000;\n        content: \"•\";\n      }\n    }\n  }\n\n  .task-list-item {\n    &::before {\n      content: \"\";\n    }\n  }\n\n  .task-list-item-checkbox {\n    margin-right: 0.6em;\n    margin-left: -1.4em;\n\n    // The same margin-left is used above for ul > li::before\n  }\n\n  hr + * {\n    margin-top: 0;\n  }\n\n  h1:first-of-type {\n    margin-top: 0.5em;\n  }\n\n  dl {\n    display: grid;\n    grid-template: auto / 10em 1fr;\n  }\n\n  dt,\n  dd {\n    margin: 0.25em 0;\n  }\n\n  dt {\n    grid-column: 1;\n    font-weight: 500;\n    text-align: right;\n\n    &::after {\n      content: \":\";\n    }\n  }\n\n  dd {\n    grid-column: 2;\n    margin-bottom: 0;\n    margin-left: 1em;\n\n    blockquote,\n    div,\n    dl,\n    dt,\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6,\n    li,\n    ol,\n    p,\n    pre,\n    table,\n    ul,\n    .table-wrapper {\n      &:first-child {\n        margin-top: 0;\n      }\n    }\n  }\n\n  dd,\n  ol,\n  ul {\n    dl:first-child {\n      dt:first-child,\n      dd:nth-child(2) {\n        margin-top: 0;\n      }\n    }\n  }\n\n  .anchor-heading {\n    position: absolute;\n    right: -$sp-4;\n    width: $sp-5;\n    height: 100%;\n    padding-right: $sp-1;\n    padding-left: $sp-1;\n    overflow: visible;\n\n    @include mq(md) {\n      right: auto;\n      left: -$sp-5;\n    }\n\n    svg {\n      display: inline-block;\n      width: 100%;\n      height: 100%;\n      color: $link-color;\n      visibility: hidden;\n    }\n  }\n\n  .anchor-heading:hover,\n  .anchor-heading:focus,\n  h1:hover > .anchor-heading,\n  h2:hover > .anchor-heading,\n  h3:hover > .anchor-heading,\n  h4:hover > .anchor-heading,\n  h5:hover > .anchor-heading,\n  h6:hover > .anchor-heading {\n    svg {\n      visibility: visible;\n    }\n  }\n\n  summary {\n    cursor: pointer;\n  }\n\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  #toctitle {\n    position: relative;\n    margin-top: 1.5em;\n    margin-bottom: 0.25em;\n\n    + table,\n    + .table-wrapper,\n    + .code-example,\n    + .highlighter-rouge,\n    + .sectionbody .listingblock {\n      margin-top: 1em;\n    }\n\n    + p:not(.label) {\n      margin-top: 0;\n    }\n  }\n\n  > h1:first-child,\n  > h2:first-child,\n  > h3:first-child,\n  > h4:first-child,\n  > h5:first-child,\n  > h6:first-child,\n  > .sect1:first-child > h2,\n  > .sect2:first-child > h3,\n  > .sect3:first-child > h4,\n  > .sect4:first-child > h5,\n  > .sect5:first-child > h6 {\n    margin-top: $sp-2;\n  }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n  padding: 0;\n  margin-top: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-list-item {\n    position: relative;\n    margin: 0;\n\n    @include fs-4;\n\n    @include mq(md) {\n      @include fs-3;\n    }\n\n    .nav-list-link {\n      display: block;\n      min-height: $nav-list-item-height-sm;\n      padding-top: $sp-1;\n      padding-bottom: $sp-1;\n      line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @if $nav-list-expander-right {\n        padding-right: $nav-list-item-height-sm;\n        padding-left: $gutter-spacing-sm;\n      } @else {\n        padding-right: $gutter-spacing-sm;\n        padding-left: $nav-list-item-height-sm;\n      }\n\n      @include mq(md) {\n        min-height: $nav-list-item-height;\n        line-height: #{$nav-list-item-height - 2 * $sp-1};\n        @if $nav-list-expander-right {\n          padding-right: $nav-list-item-height;\n          padding-left: $gutter-spacing;\n        } @else {\n          padding-right: $gutter-spacing;\n          padding-left: $nav-list-item-height;\n        }\n      }\n\n      &.external > svg {\n        width: $sp-4;\n        height: $sp-4;\n        vertical-align: text-bottom;\n      }\n\n      &.active {\n        font-weight: 600;\n        text-decoration: none;\n      }\n\n      &:hover,\n      &.active {\n        color: darken($link-color, 5%);\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 80%,\n          rgba($feedback-color, 0) 100%\n        );\n      }\n    }\n\n    .nav-list-expander {\n      position: absolute;\n      @if $nav-list-expander-right {\n        right: 0;\n      }\n\n      width: $nav-list-item-height-sm;\n      height: $nav-list-item-height-sm;\n      padding: #{$nav-list-item-height-sm * 0.25};\n      color: $link-color;\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @include mq(md) {\n        width: $nav-list-item-height;\n        height: $nav-list-item-height;\n        padding: #{$nav-list-item-height * 0.25};\n      }\n\n      &:hover {\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 100%\n        );\n      }\n\n      @if $nav-list-expander-right {\n        svg {\n          transform: rotate(90deg);\n        }\n      }\n    }\n\n    > .nav-list {\n      display: none;\n      padding-left: $sp-3;\n      list-style: none;\n\n      .nav-list-item {\n        position: relative;\n\n        .nav-list-link {\n          color: $nav-child-link-color;\n        }\n\n        .nav-list-expander {\n          color: $nav-child-link-color;\n        }\n      }\n    }\n\n    &.active {\n      > .nav-list-expander svg {\n        @if $nav-list-expander-right {\n          transform: rotate(-90deg);\n        } @else {\n          transform: rotate(90deg);\n        }\n      }\n\n      > .nav-list {\n        display: block;\n      }\n    }\n  }\n}\n\n.nav-category {\n  padding: $sp-2 $gutter-spacing-sm;\n  font-weight: 600;\n  text-align: start;\n  text-transform: uppercase;\n  border-bottom: $border $border-color;\n  @include fs-2;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing;\n    margin-top: $gutter-spacing-sm;\n    text-align: start;\n\n    &:first-child {\n      margin-top: 0;\n    }\n  }\n}\n\n.nav-list.nav-category-list {\n  > .nav-list-item {\n    margin: 0;\n\n    > .nav-list {\n      padding: 0;\n\n      > .nav-list-item {\n        > .nav-list-link {\n          color: $link-color;\n        }\n\n        > .nav-list-expander {\n          color: $link-color;\n        }\n      }\n    }\n  }\n}\n\n// Aux nav\n\n.aux-nav {\n  height: 100%;\n  overflow-x: auto;\n  @include fs-2;\n\n  .aux-nav-list {\n    display: flex;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n\n  .aux-nav-list-item {\n    display: inline-block;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n  }\n\n  @include mq(md) {\n    padding-right: $gutter-spacing-sm;\n  }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n  @include mq(md) {\n    margin-top: -$sp-4;\n  }\n}\n\n.breadcrumb-nav-list {\n  padding-left: 0;\n  margin-bottom: $sp-3;\n  list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n  display: table-cell;\n  @include fs-2;\n\n  &::before {\n    display: none;\n  }\n\n  &::after {\n    display: inline-block;\n    margin-right: $sp-2;\n    margin-left: $sp-2;\n    color: $grey-dk-000;\n    content: \"/\";\n  }\n\n  &:last-child {\n    &::after {\n      content: \"\";\n    }\n  }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n  font-weight: 300;\n\n  @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n  @include fs-6;\n}\n\nh3,\n.text-gamma {\n  @include fs-5;\n}\n\nh4,\n.text-delta {\n  font-weight: 400;\n  text-transform: uppercase;\n  letter-spacing: 0.1em;\n\n  @include fs-2;\n}\n\nh4 code {\n  text-transform: none;\n}\n\nh5,\n.text-epsilon {\n  @include fs-3;\n}\n\nh6,\n.text-zeta {\n  @include fs-2;\n}\n\n.text-small {\n  @include fs-2;\n}\n\n.text-mono {\n  font-family: $mono-font-family !important;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n  display: inline-block;\n  padding: 0.16em 0.56em;\n  margin-right: $sp-2;\n  margin-left: $sp-2;\n  color: $white;\n  text-transform: uppercase;\n  vertical-align: middle;\n  background-color: $blue-100;\n  border-radius: 12px;\n\n  @include fs-2;\n}\n\n.label-green:not(g) {\n  background-color: $green-300;\n}\n\n.label-purple:not(g) {\n  background-color: $purple-100;\n}\n\n.label-red:not(g) {\n  background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n  color: $grey-dk-200;\n  background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n  display: inline-block;\n  box-sizing: border-box;\n  padding: 0.3em 1em;\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: 500;\n  line-height: 1.5;\n  color: $link-color;\n  text-decoration: none;\n  vertical-align: baseline;\n  cursor: pointer;\n  background-color: $base-button-color;\n  border-width: 0;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  appearance: none;\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: darken($link-color, 2%);\n  }\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    text-decoration: none;\n    background-color: darken($base-button-color, 1%);\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($base-button-color, 3%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken(#dcdcdc, 5%);\n  }\n\n  &:disabled,\n  &.disabled {\n    &,\n    &:hover {\n      color: rgba(102, 102, 102, 0.5);\n      cursor: default;\n      background-color: rgba(229, 229, 229, 0.5);\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n\n.btn-outline {\n  color: $link-color;\n  background: transparent;\n  box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    color: darken($link-color, 4%);\n    text-decoration: none;\n    background-color: transparent;\n    box-shadow: inset 0 0 0 3px $grey-lt-300;\n  }\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow:\n      inset 0 0 0 2px $grey-dk-100,\n      0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: inset 0 0 0 2px $grey-dk-100;\n  }\n}\n\n.btn-primary {\n  @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n  @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n  @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n  @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n  background: none;\n  border: none;\n  margin: 0;\n  text-align: inherit;\n  font: inherit;\n  border-radius: 0;\n  appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n  color: $fg;\n  background-color: darken($bg, 2%);\n  background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n  box-shadow:\n    0 1px 3px rgba(0, 0, 0, 0.25),\n    0 4px 10px rgba(0, 0, 0, 0.12);\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: $fg;\n    background-color: darken($bg, 4%);\n    background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($bg, 5%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken($bg, 10%);\n  }\n}\n","// Search input and autocomplete\n\n.search {\n  position: relative;\n  z-index: 2;\n  flex-grow: 1;\n  height: $sp-10;\n  padding: $sp-2;\n  transition: padding linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: relative !important;\n    width: auto !important;\n    height: 100% !important;\n    padding: 0;\n    transition: none;\n  }\n}\n\n.search-input-wrap {\n  position: relative;\n  z-index: 1;\n  height: $sp-8;\n  overflow: hidden;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  transition: height linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: absolute;\n    width: 100%;\n    max-width: $search-results-width;\n    height: 100% !important;\n    border-radius: 0;\n    box-shadow: none;\n    transition: width ease $transition-duration;\n  }\n}\n\n.search-input {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n  font-size: 1rem;\n  color: $body-text-color;\n  background-color: $search-background-color;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 0;\n  border-left: 0;\n  border-radius: 0;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n    font-size: 0.875rem;\n    background-color: $body-background-color;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  &:focus {\n    outline-offset: -1px;\n\n    + .search-label .search-icon {\n      color: $link-color;\n    }\n  }\n}\n\n.search-label {\n  position: absolute;\n  display: flex;\n  height: 100%;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-left: $gutter-spacing;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  .search-icon {\n    width: #{$sp-4 * 1.2};\n    height: #{$sp-4 * 1.2};\n    align-self: center;\n    color: $grey-dk-000;\n  }\n}\n\n.search-results {\n  position: absolute;\n  left: 0;\n  display: none;\n  width: 100%;\n  max-height: calc(100% - #{$sp-10});\n  overflow-y: auto;\n  background-color: $search-background-color;\n  border-bottom-right-radius: $border-radius;\n  border-bottom-left-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n\n  @include mq(md) {\n    top: 100%;\n    width: $search-results-width;\n    max-height: calc(100vh - 200%) !important;\n  }\n}\n\n.search-results-list {\n  padding-left: 0;\n  margin-bottom: $sp-1;\n  list-style: none;\n  @include fs-4;\n\n  @include mq(md) {\n    @include fs-3;\n  }\n}\n\n.search-results-list-item {\n  padding: 0;\n  margin: 0;\n}\n\n.search-result {\n  display: block;\n  padding: $sp-1 $sp-3;\n  outline-offset: -1px;\n\n  &:hover,\n  &.active {\n    background-color: $feedback-color;\n  }\n}\n\n.search-result-title {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 40%;\n    padding-right: $sp-2;\n    vertical-align: top;\n  }\n}\n\n.search-result-doc {\n  display: flex;\n  align-items: center;\n  overflow-wrap: break-word;\n\n  &.search-result-doc-parent {\n    opacity: 0.5;\n    @include fs-3;\n\n    @include mq(md) {\n      @include fs-2;\n    }\n  }\n\n  .search-result-icon {\n    width: $sp-4;\n    height: $sp-4;\n    margin-right: $sp-2;\n    color: $link-color;\n    flex-shrink: 0;\n  }\n\n  .search-result-doc-title {\n    overflow: auto;\n  }\n}\n\n.search-result-section {\n  margin-left: #{$sp-4 + $sp-2};\n  overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n  display: block;\n  margin-left: #{$sp-4 + $sp-2};\n  overflow: hidden;\n  color: $search-result-preview-color;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  @include fs-1;\n}\n\n.search-result-previews {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n  padding-left: $sp-4;\n  margin-left: $sp-2;\n  color: $search-result-preview-color;\n  overflow-wrap: break-word;\n  border-left: $border;\n  border-left-color: $border-color;\n  @include fs-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 60%;\n    padding-left: $sp-2;\n    margin-left: 0;\n    vertical-align: top;\n  }\n}\n\n.search-result-preview + .search-result-preview {\n  margin-top: $sp-1;\n}\n\n.search-result-highlight {\n  font-weight: bold;\n}\n\n.search-no-result {\n  padding: $sp-2 $sp-3;\n  @include fs-3;\n}\n\n.search-button {\n  position: fixed;\n  right: $sp-4;\n  bottom: $sp-4;\n  display: flex;\n  width: $sp-9;\n  height: $sp-9;\n  background-color: $search-background-color;\n  border: 1px solid rgba($link-color, 0.3);\n  border-radius: #{$sp-9 * 0.5};\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  align-items: center;\n  justify-content: center;\n}\n\n.search-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1;\n  width: 0;\n  height: 0;\n  background-color: rgba(0, 0, 0, 0.3);\n  opacity: 0;\n  transition:\n    opacity ease $transition-duration,\n    width 0s $transition-duration,\n    height 0s $transition-duration;\n}\n\n.search-active {\n  .search {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    padding: 0;\n  }\n\n  .search-input-wrap {\n    height: $sp-10;\n    border-radius: 0;\n\n    @include mq(md) {\n      width: $search-results-width;\n      box-shadow:\n        0 1px 2px rgba(0, 0, 0, 0.12),\n        0 3px 10px rgba(0, 0, 0, 0.08);\n    }\n  }\n\n  .search-input {\n    background-color: $search-background-color;\n\n    @include mq(md) {\n      padding-left: 2.3rem;\n    }\n  }\n\n  .search-label {\n    @include mq(md) {\n      padding-left: 0.6rem;\n    }\n  }\n\n  .search-results {\n    display: block;\n  }\n\n  .search-overlay {\n    width: 100%;\n    height: 100%;\n    opacity: 1;\n    transition:\n      opacity ease $transition-duration,\n      width 0s,\n      height 0s;\n  }\n\n  @include mq(md) {\n    .main {\n      position: fixed;\n      right: 0;\n      left: 0;\n    }\n  }\n\n  .main-header {\n    padding-top: $sp-10;\n\n    @include mq(md) {\n      padding-top: 0;\n    }\n  }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $sp-5;\n  overflow-x: auto;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n  display: table;\n  min-width: 100%;\n  border-collapse: separate;\n}\n\nth,\ntd {\n  min-width: 7.5rem;\n  padding: $sp-2 $sp-3;\n  background-color: $table-background-color;\n  border-bottom: $border rgba($border-color, 0.5);\n  border-left: $border $border-color;\n\n  @include fs-3;\n\n  &:first-of-type {\n    border-left: 0;\n  }\n}\n\ntbody {\n  tr {\n    &:last-of-type {\n      th,\n      td {\n        border-bottom: 0;\n      }\n\n      td {\n        padding-bottom: $sp-3;\n      }\n    }\n  }\n}\n\nthead {\n  th {\n    border-bottom: $border $border-color;\n  }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n  & > code {\n    padding: 0.2em 0.15em;\n    font-weight: 400;\n    background-color: $code-background-color;\n    border: $border $border-color;\n    border-radius: $border-radius;\n  }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n  border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.rouge-gutter.gl > pre.lineno\n//   | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.gutter.gl > pre.lineno\n//   | td.code > pre\n//\n// ----...---- (AsciiDoc)\n//   div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n//     ----\n//     ...\n//     ----\n\n// the code may appear with 3 different types:\n// container \\ case:  default case,          code with line number,   code with html rendering\n// top level:         div.highlighter-rouge, figure.highlight,        figure.highlight\n// second level:      div.highlight,         div.table-wrapper,       pre.highlight\n// third level:       pre.highlight,         td.code,                 absent\n// last level:        code,                  pre,                     code (optionality)\n// highlighter level: span,                  span,                    span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n  background-color: $code-background-color;\n  border-radius: $border-radius;\n  box-shadow: none;\n  -webkit-overflow-scrolling: touch;\n  position: relative;\n  padding: 0;\n\n  // copy button (or other button)\n  // the button appear only when there is a hover on the code or focus on button\n  > button {\n    width: $sp-3;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: $sp-3;\n    border: none;\n    background: none;\n    color: $body-text-color;\n    box-sizing: content-box;\n\n    svg {\n      fill: $body-text-color;\n    }\n\n    &:active {\n      text-decoration: none;\n      outline: none;\n      opacity: 1;\n    }\n\n    &:focus {\n      opacity: 1;\n      outline: 2px solid $link-color;\n    }\n  }\n\n  // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n  &:hover {\n    > button {\n      cursor: copy;\n      opacity: 1;\n    }\n  }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n  #{$code-div} {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n\n  #{$pre-select},\n  code {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n  @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n\n  @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n  pre,\n  :not(pre) > code {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n  padding: $sp-3 0;\n  margin: 0;\n  border: 0;\n  box-shadow: none;\n\n  td,\n  pre {\n    min-width: 0;\n    padding: 0;\n    background-color: $code-background-color;\n    border: 0;\n\n    @include fs-2;\n  }\n\n  td.gl {\n    width: 1em;\n    padding-right: $sp-3;\n    padding-left: $sp-3;\n  }\n\n  pre {\n    margin: 0;\n    line-height: 2;\n  }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n  padding: $sp-3;\n  margin-bottom: $sp-3;\n  overflow: auto;\n  border: 1px solid $border-color;\n  border-radius: $border-radius;\n\n  + .highlighter-rouge,\n  + .sectionbody .listingblock,\n  + .content,\n  + figure.highlight {\n    position: relative;\n    margin-top: -$sp-4;\n    border-right: 1px solid $border-color;\n    border-bottom: 1px solid $border-color;\n    border-left: 1px solid $border-color;\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n  }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n  padding: 0;\n  background-color: inherit;\n  border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n  background: $code-background-color; // Code Background\n  // For Backwards Compatibility Before $code-linenumber-color was added\n  @if variable-exists(code-linenumber-color) {\n    color: $code-linenumber-color; // Code Line Numbers\n  } @else {\n    color: $body-text-color; // Code Line Numbers\n  }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n  background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n  color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n  color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n  color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n  color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n  color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n  color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n  color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n  color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n  color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n  color: $blue-000 !important;\n}\n\n.text-blue-100 {\n  color: $blue-100 !important;\n}\n\n.text-blue-200 {\n  color: $blue-200 !important;\n}\n\n.text-blue-300 {\n  color: $blue-300 !important;\n}\n\n.text-green-000 {\n  color: $green-000 !important;\n}\n\n.text-green-100 {\n  color: $green-100 !important;\n}\n\n.text-green-200 {\n  color: $green-200 !important;\n}\n\n.text-green-300 {\n  color: $green-300 !important;\n}\n\n.text-purple-000 {\n  color: $purple-000 !important;\n}\n\n.text-purple-100 {\n  color: $purple-100 !important;\n}\n\n.text-purple-200 {\n  color: $purple-200 !important;\n}\n\n.text-purple-300 {\n  color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n  color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n  color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n  color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n  color: $yellow-300 !important;\n}\n\n.text-red-000 {\n  color: $red-000 !important;\n}\n\n.text-red-100 {\n  color: $red-100 !important;\n}\n\n.text-red-200 {\n  color: $red-200 !important;\n}\n\n.text-red-300 {\n  color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n  background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n  background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n  background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n  background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n  background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n  background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n  background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n  background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n  background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n  background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n  background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n  background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n  background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n  background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n  background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n  background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n  background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n  background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n  background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n  background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n  background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n  background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n  background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n  background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n  background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n  background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n  background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n  background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n  background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n  display: block !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip-path: inset(50%);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .d-sm-block, .d-md-none, .d-lg-inline\n      .d-#{$media-query}-block {\n        display: block !important;\n      }\n      .d-#{$media-query}-flex {\n        display: flex !important;\n      }\n      .d-#{$media-query}-inline {\n        display: inline !important;\n      }\n      .d-#{$media-query}-inline-block {\n        display: inline-block !important;\n      }\n      .d-#{$media-query}-none {\n        display: none !important;\n      }\n    }\n  }\n}\n\n// Horizontal alignment\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.flex-justify-start {\n  justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n  justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n  justify-content: space-between !important;\n}\n\n.flex-justify-around {\n  justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n  vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n  vertical-align: bottom !important;\n}\n\n.v-align-middle {\n  vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n  vertical-align: text-top !important;\n}\n\n.v-align-top {\n  vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n  @include fs-1;\n}\n\n.fs-2 {\n  @include fs-2;\n}\n\n.fs-3 {\n  @include fs-3;\n}\n\n.fs-4 {\n  @include fs-4;\n}\n\n.fs-5 {\n  @include fs-5;\n}\n\n.fs-6 {\n  @include fs-6;\n}\n\n.fs-7 {\n  @include fs-7;\n}\n\n.fs-8 {\n  @include fs-8;\n}\n\n.fs-9 {\n  @include fs-9;\n}\n\n.fs-10 {\n  @include fs-10;\n}\n\n.fw-300 {\n  font-weight: 300 !important;\n}\n\n.fw-400 {\n  font-weight: 400 !important;\n}\n\n.fw-500 {\n  font-weight: 500 !important;\n}\n\n.fw-700 {\n  font-weight: 700 !important;\n}\n\n.lh-0 {\n  line-height: 0 !important;\n}\n\n.lh-default {\n  line-height: $body-line-height;\n}\n\n.lh-tight {\n  line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n  letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n  letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n  letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n  padding: 0 !important;\n  margin: 0 !important;\n  list-style: none !important;\n\n  li {\n    &::before {\n      display: none !important;\n    }\n  }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .m-0, .m-1, .m-2...\n  .m-#{$scale} {\n    margin: #{$size} !important;\n  }\n  .mt-#{$scale} {\n    margin-top: #{$size} !important;\n  }\n  .mr-#{$scale} {\n    margin-right: #{$size} !important;\n  }\n  .mb-#{$scale} {\n    margin-bottom: #{$size} !important;\n  }\n  .ml-#{$scale} {\n    margin-left: #{$size} !important;\n  }\n\n  .mx-#{$scale} {\n    margin-right: #{$size} !important;\n    margin-left: #{$size} !important;\n  }\n\n  .my-#{$scale} {\n    margin-top: #{$size} !important;\n    margin-bottom: #{$size} !important;\n  }\n\n  .mxn-#{$scale} {\n    margin-right: -#{$size} !important;\n    margin-left: -#{$size} !important;\n  }\n  .mx-#{$scale}-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .m-sm-0, .m-md-1, .m-lg-2...\n      .m-#{$media-query}-#{$scale} {\n        margin: #{$size} !important;\n      }\n      .mt-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n      }\n      .mr-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n      }\n      .mb-#{$media-query}-#{$scale} {\n        margin-bottom: #{$size} !important;\n      }\n      .ml-#{$media-query}-#{$scale} {\n        margin-left: #{$size} !important;\n      }\n\n      .mx-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n        margin-left: #{$size} !important;\n      }\n\n      .my-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n        margin-bottom: #{$size} !important;\n      }\n\n      .mxn-#{$media-query}-#{$scale} {\n        margin-right: -#{$size} !important;\n        margin-left: -#{$size} !important;\n      }\n    }\n  }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .p-0, .p-1, .p-2...\n  .p-#{$scale} {\n    padding: #{$size} !important;\n  }\n  .pt-#{$scale} {\n    padding-top: #{$size} !important;\n  }\n  .pr-#{$scale} {\n    padding-right: #{$size} !important;\n  }\n  .pb-#{$scale} {\n    padding-bottom: #{$size} !important;\n  }\n  .pl-#{$scale} {\n    padding-left: #{$size} !important;\n  }\n\n  .px-#{$scale} {\n    padding-right: #{$size} !important;\n    padding-left: #{$size} !important;\n  }\n\n  .py-#{$scale} {\n    padding-top: #{$size} !important;\n    padding-bottom: #{$size} !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @include mq($media-query) {\n    @for $i from 1 through length($spacers) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .p-sm-0, .p-md-1, .p-lg-2...\n      .p-#{$media-query}-#{$scale} {\n        padding: #{$size} !important;\n      }\n      .pt-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n      }\n      .pr-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n      }\n      .pb-#{$media-query}-#{$scale} {\n        padding-bottom: #{$size} !important;\n      }\n      .pl-#{$media-query}-#{$scale} {\n        padding-left: #{$size} !important;\n      }\n\n      .px-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n        padding-left: #{$size} !important;\n      }\n\n      .py-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n        padding-bottom: #{$size} !important;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n  .site-footer,\n  .site-button,\n  #edit-this-page,\n  #back-to-top,\n  .site-nav,\n  .main-header {\n    display: none !important;\n  }\n\n  hr {\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n  }\n\n  .side-bar {\n    width: 100%;\n    height: auto;\n    border-right: 0 !important;\n\n    /* Disable display: flex and position: fixed from non-print styles */\n    position: static;\n    display: block;\n  }\n\n  .site-header {\n    border-bottom: 1px solid $border-color;\n  }\n\n  .site-title {\n    font-size: 1rem !important;\n    font-weight: 700 !important;\n  }\n\n  .text-small {\n    font-size: 8pt !important;\n  }\n\n  pre.highlight {\n    border: 1px solid $border-color;\n  }\n\n  .main {\n    max-width: none;\n    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n  }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n  left: -999px;\n  position: absolute;\n  top: auto;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n  color: $link-color;\n  background-color: $body-background-color;\n  left: auto;\n  top: auto;\n  width: 30%;\n  height: auto;\n  overflow: auto;\n  margin: 10px 35%;\n  padding: 5px;\n  border-radius: 15px;\n  border: 4px solid $btn-primary-color;\n  text-align: center;\n  font-size: 1.2em;\n  z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./color_schemes/dark\";\n\n@import \"./modules\";\ndiv.opaque {\n  background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n    border: 1px $blue-300 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $blue-300;\n        content: \"Note\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .note-title {\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.note-title, blockquote.note-title {\n    border: 1px $blue-300 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.note {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.note-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.warning, blockquote.warning {\n    border: 1px $red-300 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $red-300;\n        content: \"Warning\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .warning-title {\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.warning-title, blockquote.warning-title {\n    border: 1px $red-300 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.warning {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.warning-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.tip, blockquote.tip {\n    border: 1px $green-300 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $green-300;\n        content: \"Tip\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .tip-title {\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.tip-title, blockquote.tip-title {\n    border: 1px $green-300 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.tip {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.tip-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-dark.css"}
\ No newline at end of file
diff --git a/docs/_site/assets/css/just-the-docs-default.css b/docs/_site/assets/css/just-the-docs-default.css
deleted file mode 100644
index 532fca8..0000000
--- a/docs/_site/assets/css/just-the-docs-default.css
+++ /dev/null
@@ -1,7511 +0,0 @@
-@charset "UTF-8";
-/*
-generated by accessible-pygments 
-Copyright (c) 2022, Quansight Labs
-Licensed under the BSD license, see LICENSE for details.
---
-generated by Pygments 
-Copyright 2006-2025 by the Pygments team.
-Licensed under the BSD license, see LICENSE for details.
-*/
-.highlight .hll {
-  background-color: rgba(9, 105, 218, 0.2901960784);
-}
-
-.highlight .c {
-  color: #6E7781;
-} /* Comment */
-.highlight .err {
-  color: #CF222E;
-} /* Error */
-.highlight .k {
-  color: #CF222E;
-} /* Keyword */
-.highlight .l {
-  color: #953800;
-} /* Literal */
-.highlight .n {
-  color: #8250DF;
-} /* Name */
-.highlight .o {
-  color: #116329;
-} /* Operator */
-.highlight .p {
-  color: #24292F;
-} /* Punctuation */
-.highlight .ch {
-  color: #6E7781;
-} /* Comment.Hashbang */
-.highlight .cm {
-  color: #6E7781;
-} /* Comment.Multiline */
-.highlight .cp {
-  color: #6E7781;
-} /* Comment.Preproc */
-.highlight .cpf {
-  color: #6E7781;
-} /* Comment.PreprocFile */
-.highlight .c1 {
-  color: #6E7781;
-} /* Comment.Single */
-.highlight .cs {
-  color: #6E7781;
-} /* Comment.Special */
-.highlight .gd {
-  color: #0550AE;
-} /* Generic.Deleted */
-.highlight .ge {
-  font-style: italic;
-} /* Generic.Emph */
-.highlight .gr {
-  color: #CF222E;
-} /* Generic.Error */
-.highlight .gh {
-  color: #0550AE;
-} /* Generic.Heading */
-.highlight .gs {
-  font-weight: bold;
-} /* Generic.Strong */
-.highlight .gu {
-  color: #0550AE;
-} /* Generic.Subheading */
-.highlight .kc {
-  color: #0550AE;
-} /* Keyword.Constant */
-.highlight .kd {
-  color: #CF222E;
-} /* Keyword.Declaration */
-.highlight .kn {
-  color: #CF222E;
-} /* Keyword.Namespace */
-.highlight .kp {
-  color: #CF222E;
-} /* Keyword.Pseudo */
-.highlight .kr {
-  color: #CF222E;
-} /* Keyword.Reserved */
-.highlight .kt {
-  color: #CF222E;
-} /* Keyword.Type */
-.highlight .ld {
-  color: #953800;
-} /* Literal.Date */
-.highlight .m {
-  color: #953800;
-} /* Literal.Number */
-.highlight .s {
-  color: #0550AE;
-} /* Literal.String */
-.highlight .na {
-  color: #953800;
-} /* Name.Attribute */
-.highlight .nb {
-  color: #953800;
-} /* Name.Builtin */
-.highlight .nc {
-  color: #0550AE;
-} /* Name.Class */
-.highlight .no {
-  color: #0550AE;
-} /* Name.Constant */
-.highlight .nd {
-  color: #953800;
-} /* Name.Decorator */
-.highlight .ni {
-  color: #116329;
-} /* Name.Entity */
-.highlight .ne {
-  color: #8250DF;
-} /* Name.Exception */
-.highlight .nf {
-  color: #0550AE;
-} /* Name.Function */
-.highlight .nl {
-  color: #953800;
-} /* Name.Label */
-.highlight .nn {
-  color: #24292F;
-} /* Name.Namespace */
-.highlight .nx {
-  color: #8250DF;
-} /* Name.Other */
-.highlight .py {
-  color: #0550AE;
-} /* Name.Property */
-.highlight .nt {
-  color: #116329;
-} /* Name.Tag */
-.highlight .nv {
-  color: #953800;
-} /* Name.Variable */
-.highlight .ow {
-  color: #8250DF;
-} /* Operator.Word */
-.highlight .pm {
-  color: #24292F;
-} /* Punctuation.Marker */
-.highlight .w {
-  color: #24292F;
-} /* Text.Whitespace */
-.highlight .mb {
-  color: #953800;
-} /* Literal.Number.Bin */
-.highlight .mf {
-  color: #953800;
-} /* Literal.Number.Float */
-.highlight .mh {
-  color: #953800;
-} /* Literal.Number.Hex */
-.highlight .mi {
-  color: #953800;
-} /* Literal.Number.Integer */
-.highlight .mo {
-  color: #953800;
-} /* Literal.Number.Oct */
-.highlight .sa {
-  color: #0550AE;
-} /* Literal.String.Affix */
-.highlight .sb {
-  color: #0550AE;
-} /* Literal.String.Backtick */
-.highlight .sc {
-  color: #0550AE;
-} /* Literal.String.Char */
-.highlight .dl {
-  color: #0550AE;
-} /* Literal.String.Delimiter */
-.highlight .sd {
-  color: #0550AE;
-} /* Literal.String.Doc */
-.highlight .s2 {
-  color: #0550AE;
-} /* Literal.String.Double */
-.highlight .se {
-  color: #0550AE;
-} /* Literal.String.Escape */
-.highlight .sh {
-  color: #0550AE;
-} /* Literal.String.Heredoc */
-.highlight .si {
-  color: #0550AE;
-} /* Literal.String.Interpol */
-.highlight .sx {
-  color: #0550AE;
-} /* Literal.String.Other */
-.highlight .sr {
-  color: #0550AE;
-} /* Literal.String.Regex */
-.highlight .s1 {
-  color: #0550AE;
-} /* Literal.String.Single */
-.highlight .ss {
-  color: #0550AE;
-} /* Literal.String.Symbol */
-.highlight .bp {
-  color: #953800;
-} /* Name.Builtin.Pseudo */
-.highlight .fm {
-  color: #0550AE;
-} /* Name.Function.Magic */
-.highlight .vc {
-  color: #953800;
-} /* Name.Variable.Class */
-.highlight .vg {
-  color: #953800;
-} /* Name.Variable.Global */
-.highlight .vi {
-  color: #953800;
-} /* Name.Variable.Instance */
-.highlight .vm {
-  color: #953800;
-} /* Name.Variable.Magic */
-.highlight .il {
-  color: #953800;
-} /* Literal.Number.Integer.Long */
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-/* Document
-   ========================================================================== */
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-html {
-  line-height: 1.15; /* 1 */
-  text-size-adjust: 100%; /* 2 */
-}
-
-/* Sections
-   ========================================================================== */
-/**
- * Remove the margin in all browsers.
- */
-body {
-  margin: 0;
-}
-
-/**
- * Render the `main` element consistently in IE.
- */
-main {
-  display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/* Grouping content
-   ========================================================================== */
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
-  box-sizing: content-box; /* 1 */
-  height: 0; /* 1 */
-  overflow: visible; /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/* Text-level semantics
-   ========================================================================== */
-/**
- * Remove the gray background on active links in IE 10.
- */
-a {
-  background-color: transparent;
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57-
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-abbr[title] {
-  border-bottom: none; /* 1 */
-  text-decoration: underline; /* 2 */
-  text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
-  font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-/* Embedded content
-   ========================================================================== */
-/**
- * Remove the border on images inside links in IE 10.
- */
-img {
-  border-style: none;
-}
-
-/* Forms
-   ========================================================================== */
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-button,
-input,
-optgroup,
-select,
-textarea {
-  font-family: inherit; /* 1 */
-  font-size: 100%; /* 1 */
-  line-height: 1.15; /* 1 */
-  margin: 0; /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-button,
-input {
-  /* 1 */
-  overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button,
-select {
-  /* 1 */
-  text-transform: none;
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-[type=button],
-[type=reset],
-[type=submit] {
-  appearance: auto;
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-button::-moz-focus-inner,
-[type=button]::-moz-focus-inner,
-[type=reset]::-moz-focus-inner,
-[type=submit]::-moz-focus-inner {
-  border-style: none;
-  padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-button:-moz-focusring,
-[type=button]:-moz-focusring,
-[type=reset]:-moz-focusring,
-[type=submit]:-moz-focusring {
-  outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
-  padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- *    `fieldset` elements in all browsers.
- */
-legend {
-  box-sizing: border-box; /* 1 */
-  color: inherit; /* 2 */
-  display: table; /* 1 */
-  max-width: 100%; /* 1 */
-  padding: 0; /* 3 */
-  white-space: normal; /* 1 */
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
-  vertical-align: baseline;
-}
-
-/**
- * Remove the default vertical scrollbar in IE 10+.
- */
-textarea {
-  overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10.
- * 2. Remove the padding in IE 10.
- */
-[type=checkbox],
-[type=radio] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-[type=number]::-webkit-inner-spin-button,
-[type=number]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type=search] {
-  appearance: textfield; /* 1 */
-  outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-[type=search]::-webkit-search-decoration {
-  appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
-  appearance: auto; /* 1 */
-  font: inherit; /* 2 */
-}
-
-/* Interactive
-   ========================================================================== */
-/*
- * Add the correct display in Edge, IE 10+, and Firefox.
- */
-details {
-  display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
-  display: list-item;
-}
-
-/* Misc
-   ========================================================================== */
-/**
- * Add the correct display in IE 10+.
- */
-template {
-  display: none;
-}
-
-/**
- * Add the correct display in IE 10.
- */
-[hidden] {
-  display: none;
-}
-
-:root {
-  color-scheme: light;
-}
-
-* {
-  box-sizing: border-box;
-}
-
-html {
-  scroll-behavior: smooth;
-}
-html {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  html {
-    font-size: 1rem !important;
-  }
-}
-
-body {
-  font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji";
-  font-size: inherit;
-  line-height: 1.4;
-  color: #5c5962;
-  background-color: #fff;
-  overflow-wrap: break-word;
-}
-
-ol,
-ul,
-dl,
-pre,
-address,
-blockquote,
-table,
-div,
-hr,
-form,
-fieldset,
-noscript .table-wrapper {
-  margin-top: 0;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-#toctitle {
-  margin-top: 0;
-  margin-bottom: 1em;
-  font-weight: 500;
-  line-height: 1.25;
-  color: #27262b;
-}
-
-p {
-  margin-top: 1em;
-  margin-bottom: 1em;
-}
-
-a {
-  color: #7253ed;
-  text-decoration: none;
-}
-
-a:not([class]) {
-  text-decoration: underline;
-  text-decoration-color: #eeebee;
-  text-underline-offset: 2px;
-}
-a:not([class]):hover {
-  text-decoration-color: rgba(114, 83, 237, 0.45);
-}
-
-code {
-  font-family: "SFMono-Regular", menlo, consolas, monospace;
-  font-size: 0.75em;
-  line-height: 1.4;
-}
-
-figure,
-pre {
-  margin: 0;
-}
-
-li {
-  margin: 0.25em 0;
-}
-
-img {
-  max-width: 100%;
-  height: auto;
-}
-
-hr {
-  height: 1px;
-  padding: 0;
-  margin: 2rem 0;
-  background-color: #eeebee;
-  border: 0;
-}
-
-blockquote {
-  margin: 10px 0;
-  margin-block-start: 0;
-  margin-inline-start: 0;
-  padding-left: 1rem;
-  border-left: 3px solid #eeebee;
-}
-
-.side-bar {
-  z-index: 0;
-  display: flex;
-  flex-wrap: wrap;
-  background-color: #f5f6fa;
-}
-@media (min-width: 50rem) {
-  .side-bar {
-    flex-flow: column nowrap;
-    position: fixed;
-    width: 15.5rem;
-    height: 100%;
-    border-right: 1px solid #eeebee;
-    align-items: flex-end;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar {
-    width: calc((100% - 66.5rem) / 2 + 16.5rem);
-    min-width: 16.5rem;
-  }
-}
-@media (min-width: 50rem) {
-  .side-bar + .main {
-    margin-left: 15.5rem;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar + .main {
-    margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem);
-  }
-}
-.side-bar + .main .main-header {
-  display: none;
-  background-color: #f5f6fa;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header {
-    display: flex;
-    background-color: #fff;
-  }
-}
-.side-bar + .main .main-header.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header.nav-open {
-    display: flex;
-  }
-}
-
-.main {
-  margin: auto;
-}
-@media (min-width: 50rem) {
-  .main {
-    position: relative;
-    max-width: 50rem;
-  }
-}
-
-.main-content-wrap {
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-top: 2rem;
-    padding-bottom: 2rem;
-  }
-}
-
-.main-header {
-  z-index: 0;
-  border-bottom: 1px solid #eeebee;
-}
-@media (min-width: 50rem) {
-  .main-header {
-    display: flex;
-    justify-content: space-between;
-    height: 3.75rem;
-  }
-}
-
-.site-nav,
-.site-header,
-.site-footer {
-  width: 100%;
-}
-@media (min-width: 66.5rem) {
-  .site-nav,
-  .site-header,
-  .site-footer {
-    width: 16.5rem;
-  }
-}
-
-.site-nav {
-  display: none;
-}
-.site-nav.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .site-nav {
-    display: block;
-    padding-top: 3rem;
-    padding-bottom: 1rem;
-    overflow-y: auto;
-    flex: 1 1 auto;
-  }
-}
-
-.site-header {
-  display: flex;
-  min-height: 3.75rem;
-  align-items: center;
-}
-@media (min-width: 50rem) {
-  .site-header {
-    height: 3.75rem;
-    max-height: 3.75rem;
-    border-bottom: 1px solid #eeebee;
-  }
-}
-
-.site-title {
-  flex-grow: 1;
-  display: flex;
-  height: 100%;
-  align-items: center;
-  padding-top: 0.75rem;
-  padding-bottom: 0.75rem;
-  color: #27262b;
-  outline-offset: -1px;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-title {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-title {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-top: 0.5rem;
-    padding-bottom: 0.5rem;
-  }
-}
-
-.site-button {
-  display: flex;
-  height: 100%;
-  padding: 1rem;
-  align-items: center;
-  outline-offset: -1px;
-}
-
-@media (min-width: 50rem) {
-  .site-header .site-button {
-    display: none;
-  }
-}
-.site-title:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
-}
-
-.site-button:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%);
-}
-
-.site-footer {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-footer {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-footer {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    position: static;
-    justify-self: end;
-  }
-}
-
-.icon {
-  width: 1.5rem;
-  height: 1.5rem;
-  color: #7253ed;
-}
-
-.main-content {
-  line-height: 1.6;
-}
-.main-content ol,
-.main-content ul,
-.main-content dl,
-.main-content pre,
-.main-content address,
-.main-content blockquote,
-.main-content .table-wrapper {
-  margin-top: 0.5em;
-}
-.main-content a {
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-.main-content ul,
-.main-content ol {
-  padding-left: 1.5em;
-}
-.main-content li .highlight {
-  margin-top: 0.25rem;
-}
-.main-content ol {
-  list-style-type: none;
-  counter-reset: step-counter;
-}
-.main-content ol > li {
-  position: relative;
-}
-.main-content ol > li::before {
-  position: absolute;
-  top: 0.2em;
-  left: -1.6em;
-  color: #959396;
-  content: counter(step-counter);
-  counter-increment: step-counter;
-}
-.main-content ol > li::before {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    top: 0.11em;
-  }
-}
-.main-content ol > li ol {
-  counter-reset: sub-counter;
-}
-.main-content ol > li ol > li::before {
-  content: counter(sub-counter, lower-alpha);
-  counter-increment: sub-counter;
-}
-.main-content ul {
-  list-style: none;
-}
-.main-content ul > li::before {
-  position: absolute;
-  margin-left: -1.4em;
-  color: #959396;
-  content: "•";
-}
-.main-content .task-list-item::before {
-  content: "";
-}
-.main-content .task-list-item-checkbox {
-  margin-right: 0.6em;
-  margin-left: -1.4em;
-}
-.main-content hr + * {
-  margin-top: 0;
-}
-.main-content h1:first-of-type {
-  margin-top: 0.5em;
-}
-.main-content dl {
-  display: grid;
-  grid-template: auto/10em 1fr;
-}
-.main-content dt,
-.main-content dd {
-  margin: 0.25em 0;
-}
-.main-content dt {
-  grid-column: 1;
-  font-weight: 500;
-  text-align: right;
-}
-.main-content dt::after {
-  content: ":";
-}
-.main-content dd {
-  grid-column: 2;
-  margin-bottom: 0;
-  margin-left: 1em;
-}
-.main-content dd blockquote:first-child,
-.main-content dd div:first-child,
-.main-content dd dl:first-child,
-.main-content dd dt:first-child,
-.main-content dd h1:first-child,
-.main-content dd h2:first-child,
-.main-content dd h3:first-child,
-.main-content dd h4:first-child,
-.main-content dd h5:first-child,
-.main-content dd h6:first-child,
-.main-content dd li:first-child,
-.main-content dd ol:first-child,
-.main-content dd p:first-child,
-.main-content dd pre:first-child,
-.main-content dd table:first-child,
-.main-content dd ul:first-child,
-.main-content dd .table-wrapper:first-child {
-  margin-top: 0;
-}
-.main-content dd dl:first-child dt:first-child,
-.main-content dd dl:first-child dd:nth-child(2),
-.main-content ol dl:first-child dt:first-child,
-.main-content ol dl:first-child dd:nth-child(2),
-.main-content ul dl:first-child dt:first-child,
-.main-content ul dl:first-child dd:nth-child(2) {
-  margin-top: 0;
-}
-.main-content .anchor-heading {
-  position: absolute;
-  right: -1rem;
-  width: 1.5rem;
-  height: 100%;
-  padding-right: 0.25rem;
-  padding-left: 0.25rem;
-  overflow: visible;
-}
-@media (min-width: 50rem) {
-  .main-content .anchor-heading {
-    right: auto;
-    left: -1.5rem;
-  }
-}
-.main-content .anchor-heading svg {
-  display: inline-block;
-  width: 100%;
-  height: 100%;
-  color: #7253ed;
-  visibility: hidden;
-}
-.main-content .anchor-heading:hover svg,
-.main-content .anchor-heading:focus svg,
-.main-content h1:hover > .anchor-heading svg,
-.main-content h2:hover > .anchor-heading svg,
-.main-content h3:hover > .anchor-heading svg,
-.main-content h4:hover > .anchor-heading svg,
-.main-content h5:hover > .anchor-heading svg,
-.main-content h6:hover > .anchor-heading svg {
-  visibility: visible;
-}
-.main-content summary {
-  cursor: pointer;
-}
-.main-content h1,
-.main-content h2,
-.main-content h3,
-.main-content h4,
-.main-content h5,
-.main-content h6,
-.main-content #toctitle {
-  position: relative;
-  margin-top: 1.5em;
-  margin-bottom: 0.25em;
-}
-.main-content h1 + table,
-.main-content h1 + .table-wrapper,
-.main-content h1 + .code-example,
-.main-content h1 + .highlighter-rouge,
-.main-content h1 + .sectionbody .listingblock,
-.main-content h2 + table,
-.main-content h2 + .table-wrapper,
-.main-content h2 + .code-example,
-.main-content h2 + .highlighter-rouge,
-.main-content h2 + .sectionbody .listingblock,
-.main-content h3 + table,
-.main-content h3 + .table-wrapper,
-.main-content h3 + .code-example,
-.main-content h3 + .highlighter-rouge,
-.main-content h3 + .sectionbody .listingblock,
-.main-content h4 + table,
-.main-content h4 + .table-wrapper,
-.main-content h4 + .code-example,
-.main-content h4 + .highlighter-rouge,
-.main-content h4 + .sectionbody .listingblock,
-.main-content h5 + table,
-.main-content h5 + .table-wrapper,
-.main-content h5 + .code-example,
-.main-content h5 + .highlighter-rouge,
-.main-content h5 + .sectionbody .listingblock,
-.main-content h6 + table,
-.main-content h6 + .table-wrapper,
-.main-content h6 + .code-example,
-.main-content h6 + .highlighter-rouge,
-.main-content h6 + .sectionbody .listingblock,
-.main-content #toctitle + table,
-.main-content #toctitle + .table-wrapper,
-.main-content #toctitle + .code-example,
-.main-content #toctitle + .highlighter-rouge,
-.main-content #toctitle + .sectionbody .listingblock {
-  margin-top: 1em;
-}
-.main-content h1 + p:not(.label),
-.main-content h2 + p:not(.label),
-.main-content h3 + p:not(.label),
-.main-content h4 + p:not(.label),
-.main-content h5 + p:not(.label),
-.main-content h6 + p:not(.label),
-.main-content #toctitle + p:not(.label) {
-  margin-top: 0;
-}
-.main-content > h1:first-child,
-.main-content > h2:first-child,
-.main-content > h3:first-child,
-.main-content > h4:first-child,
-.main-content > h5:first-child,
-.main-content > h6:first-child,
-.main-content > .sect1:first-child > h2,
-.main-content > .sect2:first-child > h3,
-.main-content > .sect3:first-child > h4,
-.main-content > .sect4:first-child > h5,
-.main-content > .sect5:first-child > h6 {
-  margin-top: 0.5rem;
-}
-
-.nav-list {
-  padding: 0;
-  margin-top: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-.nav-list .nav-list-item {
-  position: relative;
-  margin: 0;
-}
-.nav-list .nav-list-item {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.875rem !important;
-  }
-}
-.nav-list .nav-list-item .nav-list-link {
-  display: block;
-  min-height: 3rem;
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-  line-height: 2.5rem;
-  outline-offset: -1px;
-  padding-right: 3rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-link {
-    min-height: 2rem;
-    line-height: 1.5rem;
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-link.external > svg {
-  width: 1rem;
-  height: 1rem;
-  vertical-align: text-bottom;
-}
-.nav-list .nav-list-item .nav-list-link.active {
-  font-weight: 600;
-  text-decoration: none;
-}
-.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active {
-  color: rgb(95.0763157895, 59.9157894737, 234.5842105263);
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander {
-  position: absolute;
-  right: 0;
-  width: 3rem;
-  height: 3rem;
-  padding: 0.75rem;
-  color: #7253ed;
-  outline-offset: -1px;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-expander {
-    width: 2rem;
-    height: 2rem;
-    padding: 0.5rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-expander:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander svg {
-  transform: rotate(90deg);
-}
-.nav-list .nav-list-item > .nav-list {
-  display: none;
-  padding-left: 0.75rem;
-  list-style: none;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item {
-  position: relative;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link {
-  color: #5c5962;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander {
-  color: #5c5962;
-}
-.nav-list .nav-list-item.active > .nav-list-expander svg {
-  transform: rotate(-90deg);
-}
-.nav-list .nav-list-item.active > .nav-list {
-  display: block;
-}
-
-.nav-category {
-  padding: 0.5rem 1rem;
-  font-weight: 600;
-  text-align: start;
-  text-transform: uppercase;
-  border-bottom: 1px solid #eeebee;
-}
-.nav-category {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-category {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-category {
-    padding: 0.5rem 2rem;
-    margin-top: 1rem;
-    text-align: start;
-  }
-  .nav-category:first-child {
-    margin-top: 0;
-  }
-}
-
-.nav-list.nav-category-list > .nav-list-item {
-  margin: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list {
-  padding: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link {
-  color: #7253ed;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander {
-  color: #7253ed;
-}
-
-.aux-nav {
-  height: 100%;
-  overflow-x: auto;
-}
-.aux-nav {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .aux-nav {
-    font-size: 0.75rem !important;
-  }
-}
-.aux-nav .aux-nav-list {
-  display: flex;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-  list-style: none;
-}
-.aux-nav .aux-nav-list-item {
-  display: inline-block;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-}
-@media (min-width: 50rem) {
-  .aux-nav {
-    padding-right: 1rem;
-  }
-}
-
-@media (min-width: 50rem) {
-  .breadcrumb-nav {
-    margin-top: -1rem;
-  }
-}
-
-.breadcrumb-nav-list {
-  padding-left: 0;
-  margin-bottom: 0.75rem;
-  list-style: none;
-}
-
-.breadcrumb-nav-list-item {
-  display: table-cell;
-}
-.breadcrumb-nav-list-item {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .breadcrumb-nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-.breadcrumb-nav-list-item::before {
-  display: none;
-}
-.breadcrumb-nav-list-item::after {
-  display: inline-block;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #959396;
-  content: "/";
-}
-.breadcrumb-nav-list-item:last-child::after {
-  content: "";
-}
-
-h1,
-.text-alpha {
-  font-weight: 300;
-}
-h1,
-.text-alpha {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  h1,
-  .text-alpha {
-    font-size: 2.25rem !important;
-  }
-}
-
-h2,
-.text-beta,
-#toctitle {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  h2,
-  .text-beta,
-  #toctitle {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-h3,
-.text-gamma {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  h3,
-  .text-gamma {
-    font-size: 1.125rem !important;
-  }
-}
-
-h4,
-.text-delta {
-  font-weight: 400;
-  text-transform: uppercase;
-  letter-spacing: 0.1em;
-}
-h4,
-.text-delta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h4,
-  .text-delta {
-    font-size: 0.75rem !important;
-  }
-}
-
-h4 code {
-  text-transform: none;
-}
-
-h5,
-.text-epsilon {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  h5,
-  .text-epsilon {
-    font-size: 0.875rem !important;
-  }
-}
-
-h6,
-.text-zeta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h6,
-  .text-zeta {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-small {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .text-small {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-mono {
-  font-family: "SFMono-Regular", menlo, consolas, monospace !important;
-}
-
-.text-left {
-  text-align: left !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-.text-right {
-  text-align: right !important;
-}
-
-.label:not(g),
-.label-blue:not(g) {
-  display: inline-block;
-  padding: 0.16em 0.56em;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #fff;
-  text-transform: uppercase;
-  vertical-align: middle;
-  background-color: #2869e6;
-  border-radius: 12px;
-}
-.label:not(g),
-.label-blue:not(g) {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .label:not(g),
-  .label-blue:not(g) {
-    font-size: 0.75rem !important;
-  }
-}
-
-.label-green:not(g) {
-  background-color: #026e57;
-}
-
-.label-purple:not(g) {
-  background-color: #5e41d0;
-}
-
-.label-red:not(g) {
-  background-color: #dd2e2e;
-}
-
-.label-yellow:not(g) {
-  color: #44434d;
-  background-color: #f7d12e;
-}
-
-.btn {
-  display: inline-block;
-  box-sizing: border-box;
-  padding: 0.3em 1em;
-  margin: 0;
-  font-family: inherit;
-  font-size: inherit;
-  font-weight: 500;
-  line-height: 1.5;
-  color: #7253ed;
-  text-decoration: none;
-  vertical-align: baseline;
-  cursor: pointer;
-  background-color: #f7f7f7;
-  border-width: 0;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  appearance: none;
-}
-.btn:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:focus:hover, .btn.selected:focus {
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:hover, .btn.zeroclipboard-is-hover {
-  color: rgb(106.4305263158, 73.7663157895, 236.0336842105);
-}
-.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active {
-  text-decoration: none;
-  background-color: rgb(244.45, 244.45, 244.45);
-}
-.btn:active, .btn.selected, .btn.zeroclipboard-is-active {
-  background-color: rgb(239.35, 239.35, 239.35);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn.selected:hover {
-  background-color: rgb(207.25, 207.25, 207.25);
-}
-.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover {
-  color: rgba(102, 102, 102, 0.5);
-  cursor: default;
-  background-color: rgba(229, 229, 229, 0.5);
-  background-image: none;
-  box-shadow: none;
-}
-
-.btn-outline {
-  color: #7253ed;
-  background: transparent;
-  box-shadow: inset 0 0 0 2px #e6e1e8;
-}
-.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active {
-  color: rgb(98.8610526316, 64.5326315789, 235.0673684211);
-  text-decoration: none;
-  background-color: transparent;
-  box-shadow: inset 0 0 0 3px #e6e1e8;
-}
-.btn-outline:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn-outline:focus:hover, .btn-outline.selected:focus {
-  box-shadow: inset 0 0 0 2px #5c5962;
-}
-
-.btn-primary {
-  color: #fff;
-  background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899);
-  background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-primary:hover, .btn-primary.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139);
-  background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139));
-}
-.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active {
-  background-color: rgb(79.3670886076, 49.082278481, 198.417721519);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-primary.selected:hover {
-  background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443);
-}
-
-.btn-purple {
-  color: #fff;
-  background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899);
-  background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-purple:hover, .btn-purple.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139);
-  background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139));
-}
-.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active {
-  background-color: rgb(79.3670886076, 49.082278481, 198.417721519);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-purple.selected:hover {
-  background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443);
-}
-
-.btn-blue {
-  color: #fff;
-  background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099);
-  background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-blue:hover, .btn-blue.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197);
-  background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197));
-}
-.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active {
-  background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-blue.selected:hover {
-  background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493);
-}
-
-.btn-green {
-  color: #fff;
-  background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143);
-  background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-green:hover, .btn-green.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286);
-  background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286));
-}
-.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active {
-  background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-green.selected:hover {
-  background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714);
-}
-
-.btn-reset {
-  background: none;
-  border: none;
-  margin: 0;
-  text-align: inherit;
-  font: inherit;
-  border-radius: 0;
-  appearance: none;
-}
-
-.search {
-  position: relative;
-  z-index: 2;
-  flex-grow: 1;
-  height: 4rem;
-  padding: 0.5rem;
-  transition: padding linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search {
-    position: relative !important;
-    width: auto !important;
-    height: 100% !important;
-    padding: 0;
-    transition: none;
-  }
-}
-
-.search-input-wrap {
-  position: relative;
-  z-index: 1;
-  height: 3rem;
-  overflow: hidden;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  transition: height linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search-input-wrap {
-    position: absolute;
-    width: 100%;
-    max-width: 33.5rem;
-    height: 100% !important;
-    border-radius: 0;
-    box-shadow: none;
-    transition: width ease 400ms;
-  }
-}
-
-.search-input {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  padding: 0.5rem 1rem 0.5rem 2.5rem;
-  font-size: 1rem;
-  color: #5c5962;
-  background-color: #fff;
-  border-top: 0;
-  border-right: 0;
-  border-bottom: 0;
-  border-left: 0;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-input {
-    padding: 0.5rem 1rem 0.5rem 3.5rem;
-    font-size: 0.875rem;
-    background-color: #fff;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-input:focus {
-  outline-offset: -1px;
-}
-.search-input:focus + .search-label .search-icon {
-  color: #7253ed;
-}
-
-.search-label {
-  position: absolute;
-  display: flex;
-  height: 100%;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .search-label {
-    padding-left: 2rem;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-label .search-icon {
-  width: 1.2rem;
-  height: 1.2rem;
-  align-self: center;
-  color: #959396;
-}
-
-.search-results {
-  position: absolute;
-  left: 0;
-  display: none;
-  width: 100%;
-  max-height: calc(100% - 4rem);
-  overflow-y: auto;
-  background-color: #fff;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-@media (min-width: 50rem) {
-  .search-results {
-    top: 100%;
-    width: 33.5rem;
-    max-height: calc(100vh - 200%) !important;
-  }
-}
-
-.search-results-list {
-  padding-left: 0;
-  margin-bottom: 0.25rem;
-  list-style: none;
-}
-.search-results-list {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-results-list {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-results-list-item {
-  padding: 0;
-  margin: 0;
-}
-
-.search-result {
-  display: block;
-  padding: 0.25rem 0.75rem;
-  outline-offset: -1px;
-}
-.search-result:hover, .search-result.active {
-  background-color: rgb(234.8, 236.82, 244.9);
-}
-
-.search-result-title {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-@media (min-width: 31.25rem) {
-  .search-result-title {
-    display: inline-block;
-    width: 40%;
-    padding-right: 0.5rem;
-    vertical-align: top;
-  }
-}
-
-.search-result-doc {
-  display: flex;
-  align-items: center;
-  overflow-wrap: break-word;
-}
-.search-result-doc.search-result-doc-parent {
-  opacity: 0.5;
-}
-.search-result-doc.search-result-doc-parent {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.6875rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.75rem !important;
-  }
-}
-.search-result-doc .search-result-icon {
-  width: 1rem;
-  height: 1rem;
-  margin-right: 0.5rem;
-  color: #7253ed;
-  flex-shrink: 0;
-}
-.search-result-doc .search-result-doc-title {
-  overflow: auto;
-}
-
-.search-result-section {
-  margin-left: 1.5rem;
-  overflow-wrap: break-word;
-}
-
-.search-result-rel-url {
-  display: block;
-  margin-left: 1.5rem;
-  overflow: hidden;
-  color: #5c5962;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.search-result-rel-url {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-rel-url {
-    font-size: 0.625rem !important;
-  }
-}
-
-.search-result-previews {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  padding-left: 1rem;
-  margin-left: 0.5rem;
-  color: #5c5962;
-  overflow-wrap: break-word;
-  border-left: 1px solid;
-  border-left-color: #eeebee;
-}
-.search-result-previews {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    display: inline-block;
-    width: 60%;
-    padding-left: 0.5rem;
-    margin-left: 0;
-    vertical-align: top;
-  }
-}
-
-.search-result-preview + .search-result-preview {
-  margin-top: 0.25rem;
-}
-
-.search-result-highlight {
-  font-weight: bold;
-}
-
-.search-no-result {
-  padding: 0.5rem 0.75rem;
-}
-.search-no-result {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-no-result {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-button {
-  position: fixed;
-  right: 1rem;
-  bottom: 1rem;
-  display: flex;
-  width: 3.5rem;
-  height: 3.5rem;
-  background-color: #fff;
-  border: 1px solid rgba(114, 83, 237, 0.3);
-  border-radius: 1.75rem;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  align-items: center;
-  justify-content: center;
-}
-
-.search-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1;
-  width: 0;
-  height: 0;
-  background-color: rgba(0, 0, 0, 0.3);
-  opacity: 0;
-  transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms;
-}
-
-.search-active .search {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  padding: 0;
-}
-.search-active .search-input-wrap {
-  height: 4rem;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input-wrap {
-    width: 33.5rem;
-    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  }
-}
-.search-active .search-input {
-  background-color: #fff;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input {
-    padding-left: 2.3rem;
-  }
-}
-@media (min-width: 50rem) {
-  .search-active .search-label {
-    padding-left: 0.6rem;
-  }
-}
-.search-active .search-results {
-  display: block;
-}
-.search-active .search-overlay {
-  width: 100%;
-  height: 100%;
-  opacity: 1;
-  transition: opacity ease 400ms, width 0s, height 0s;
-}
-@media (min-width: 50rem) {
-  .search-active .main {
-    position: fixed;
-    right: 0;
-    left: 0;
-  }
-}
-.search-active .main-header {
-  padding-top: 4rem;
-}
-@media (min-width: 50rem) {
-  .search-active .main-header {
-    padding-top: 0;
-  }
-}
-
-.table-wrapper {
-  display: block;
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 1.5rem;
-  overflow-x: auto;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-
-table {
-  display: table;
-  min-width: 100%;
-  border-collapse: separate;
-}
-
-th,
-td {
-  min-width: 7.5rem;
-  padding: 0.5rem 0.75rem;
-  background-color: #fff;
-  border-bottom: 1px solid rgba(238, 235, 238, 0.5);
-  border-left: 1px solid #eeebee;
-}
-th,
-td {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  th,
-  td {
-    font-size: 0.875rem !important;
-  }
-}
-th:first-of-type,
-td:first-of-type {
-  border-left: 0;
-}
-
-tbody tr:last-of-type th,
-tbody tr:last-of-type td {
-  border-bottom: 0;
-}
-tbody tr:last-of-type td {
-  padding-bottom: 0.75rem;
-}
-
-thead th {
-  border-bottom: 1px solid #eeebee;
-}
-
-:not(pre, figure) > code {
-  padding: 0.2em 0.15em;
-  font-weight: 400;
-  background-color: #fff;
-  border: 1px solid #eeebee;
-  border-radius: 4px;
-}
-
-a:visited code {
-  border-color: #eeebee;
-}
-
-div.highlighter-rouge,
-div.listingblock > div.content,
-figure.highlight {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-  background-color: #fff;
-  border-radius: 4px;
-  box-shadow: none;
-  -webkit-overflow-scrolling: touch;
-  position: relative;
-  padding: 0;
-}
-div.highlighter-rouge > button,
-div.listingblock > div.content > button,
-figure.highlight > button {
-  width: 0.75rem;
-  opacity: 0;
-  position: absolute;
-  top: 0;
-  right: 0;
-  padding: 0.75rem;
-  border: none;
-  background: none;
-  color: #5c5962;
-  box-sizing: content-box;
-}
-div.highlighter-rouge > button svg,
-div.listingblock > div.content > button svg,
-figure.highlight > button svg {
-  fill: #5c5962;
-}
-div.highlighter-rouge > button:active,
-div.listingblock > div.content > button:active,
-figure.highlight > button:active {
-  text-decoration: none;
-  outline: none;
-  opacity: 1;
-}
-div.highlighter-rouge > button:focus,
-div.listingblock > div.content > button:focus,
-figure.highlight > button:focus {
-  opacity: 1;
-  outline: 2px solid #7253ed;
-}
-div.highlighter-rouge:hover > button,
-div.listingblock > div.content:hover > button,
-figure.highlight:hover > button {
-  cursor: copy;
-  opacity: 1;
-}
-
-div.highlighter-rouge div.highlight {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-div.highlighter-rouge pre.highlight,
-div.highlighter-rouge code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-div.listingblock {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-}
-div.listingblock div.content {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-div.listingblock div.content > pre,
-div.listingblock code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-figure.highlight pre,
-figure.highlight :not(pre) > code {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-
-.highlight .table-wrapper {
-  padding: 0.75rem 0;
-  margin: 0;
-  border: 0;
-  box-shadow: none;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  min-width: 0;
-  padding: 0;
-  background-color: #fff;
-  border: 0;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .highlight .table-wrapper td,
-  .highlight .table-wrapper pre {
-    font-size: 0.75rem !important;
-  }
-}
-.highlight .table-wrapper td.gl {
-  width: 1em;
-  padding-right: 0.75rem;
-  padding-left: 0.75rem;
-}
-.highlight .table-wrapper pre {
-  margin: 0;
-  line-height: 2;
-}
-
-.code-example,
-.listingblock > .title {
-  padding: 0.75rem;
-  margin-bottom: 0.75rem;
-  overflow: auto;
-  border: 1px solid #eeebee;
-  border-radius: 4px;
-}
-.code-example + .highlighter-rouge,
-.code-example + .sectionbody .listingblock,
-.code-example + .content,
-.code-example + figure.highlight,
-.listingblock > .title + .highlighter-rouge,
-.listingblock > .title + .sectionbody .listingblock,
-.listingblock > .title + .content,
-.listingblock > .title + figure.highlight {
-  position: relative;
-  margin-top: -1rem;
-  border-right: 1px solid #eeebee;
-  border-bottom: 1px solid #eeebee;
-  border-left: 1px solid #eeebee;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-
-code.language-mermaid {
-  padding: 0;
-  background-color: inherit;
-  border: 0;
-}
-
-.highlight,
-pre.highlight {
-  background: #fff;
-  color: #5c5962;
-}
-
-.highlight pre {
-  background: #fff;
-}
-
-.text-grey-dk-000 {
-  color: #959396 !important;
-}
-
-.text-grey-dk-100 {
-  color: #5c5962 !important;
-}
-
-.text-grey-dk-200 {
-  color: #44434d !important;
-}
-
-.text-grey-dk-250 {
-  color: #302d36 !important;
-}
-
-.text-grey-dk-300 {
-  color: #27262b !important;
-}
-
-.text-grey-lt-000 {
-  color: #f5f6fa !important;
-}
-
-.text-grey-lt-100 {
-  color: #eeebee !important;
-}
-
-.text-grey-lt-200 {
-  color: #ecebed !important;
-}
-
-.text-grey-lt-300 {
-  color: #e6e1e8 !important;
-}
-
-.text-blue-000 {
-  color: #2c84fa !important;
-}
-
-.text-blue-100 {
-  color: #2869e6 !important;
-}
-
-.text-blue-200 {
-  color: #264caf !important;
-}
-
-.text-blue-300 {
-  color: #183385 !important;
-}
-
-.text-green-000 {
-  color: #41d693 !important;
-}
-
-.text-green-100 {
-  color: #11b584 !important;
-}
-
-.text-green-200 {
-  color: #009c7b !important;
-}
-
-.text-green-300 {
-  color: #026e57 !important;
-}
-
-.text-purple-000 {
-  color: #7253ed !important;
-}
-
-.text-purple-100 {
-  color: #5e41d0 !important;
-}
-
-.text-purple-200 {
-  color: #4e26af !important;
-}
-
-.text-purple-300 {
-  color: #381885 !important;
-}
-
-.text-yellow-000 {
-  color: #ffeb82 !important;
-}
-
-.text-yellow-100 {
-  color: #fadf50 !important;
-}
-
-.text-yellow-200 {
-  color: #f7d12e !important;
-}
-
-.text-yellow-300 {
-  color: #e7af06 !important;
-}
-
-.text-red-000 {
-  color: #f77e7e !important;
-}
-
-.text-red-100 {
-  color: #f96e65 !important;
-}
-
-.text-red-200 {
-  color: #e94c4c !important;
-}
-
-.text-red-300 {
-  color: #dd2e2e !important;
-}
-
-.bg-grey-dk-000 {
-  background-color: #959396 !important;
-}
-
-.bg-grey-dk-100 {
-  background-color: #5c5962 !important;
-}
-
-.bg-grey-dk-200 {
-  background-color: #44434d !important;
-}
-
-.bg-grey-dk-250 {
-  background-color: #302d36 !important;
-}
-
-.bg-grey-dk-300 {
-  background-color: #27262b !important;
-}
-
-.bg-grey-lt-000 {
-  background-color: #f5f6fa !important;
-}
-
-.bg-grey-lt-100 {
-  background-color: #eeebee !important;
-}
-
-.bg-grey-lt-200 {
-  background-color: #ecebed !important;
-}
-
-.bg-grey-lt-300 {
-  background-color: #e6e1e8 !important;
-}
-
-.bg-blue-000 {
-  background-color: #2c84fa !important;
-}
-
-.bg-blue-100 {
-  background-color: #2869e6 !important;
-}
-
-.bg-blue-200 {
-  background-color: #264caf !important;
-}
-
-.bg-blue-300 {
-  background-color: #183385 !important;
-}
-
-.bg-green-000 {
-  background-color: #41d693 !important;
-}
-
-.bg-green-100 {
-  background-color: #11b584 !important;
-}
-
-.bg-green-200 {
-  background-color: #009c7b !important;
-}
-
-.bg-green-300 {
-  background-color: #026e57 !important;
-}
-
-.bg-purple-000 {
-  background-color: #7253ed !important;
-}
-
-.bg-purple-100 {
-  background-color: #5e41d0 !important;
-}
-
-.bg-purple-200 {
-  background-color: #4e26af !important;
-}
-
-.bg-purple-300 {
-  background-color: #381885 !important;
-}
-
-.bg-yellow-000 {
-  background-color: #ffeb82 !important;
-}
-
-.bg-yellow-100 {
-  background-color: #fadf50 !important;
-}
-
-.bg-yellow-200 {
-  background-color: #f7d12e !important;
-}
-
-.bg-yellow-300 {
-  background-color: #e7af06 !important;
-}
-
-.bg-red-000 {
-  background-color: #f77e7e !important;
-}
-
-.bg-red-100 {
-  background-color: #f96e65 !important;
-}
-
-.bg-red-200 {
-  background-color: #e94c4c !important;
-}
-
-.bg-red-300 {
-  background-color: #dd2e2e !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip-path: inset(50%);
-  white-space: nowrap;
-  border-width: 0;
-}
-
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-.float-left {
-  float: left !important;
-}
-
-.float-right {
-  float: right !important;
-}
-
-.flex-justify-start {
-  justify-content: flex-start !important;
-}
-
-.flex-justify-end {
-  justify-content: flex-end !important;
-}
-
-.flex-justify-between {
-  justify-content: space-between !important;
-}
-
-.flex-justify-around {
-  justify-content: space-around !important;
-}
-
-.v-align-baseline {
-  vertical-align: baseline !important;
-}
-
-.v-align-bottom {
-  vertical-align: bottom !important;
-}
-
-.v-align-middle {
-  vertical-align: middle !important;
-}
-
-.v-align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.v-align-text-top {
-  vertical-align: text-top !important;
-}
-
-.v-align-top {
-  vertical-align: top !important;
-}
-
-.fs-1 {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-1 {
-    font-size: 0.625rem !important;
-  }
-}
-
-.fs-2 {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-2 {
-    font-size: 0.75rem !important;
-  }
-}
-
-.fs-3 {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-3 {
-    font-size: 0.875rem !important;
-  }
-}
-
-.fs-4 {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-4 {
-    font-size: 1rem !important;
-  }
-}
-
-.fs-5 {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-5 {
-    font-size: 1.125rem !important;
-  }
-}
-
-.fs-6 {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-6 {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-.fs-7 {
-  font-size: 1.5rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-7 {
-    font-size: 2rem !important;
-  }
-}
-
-.fs-8 {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-8 {
-    font-size: 2.25rem !important;
-  }
-}
-
-.fs-9 {
-  font-size: 2.25rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-9 {
-    font-size: 2.625rem !important;
-  }
-}
-
-.fs-10 {
-  font-size: 2.625rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-10 {
-    font-size: 3rem !important;
-  }
-}
-
-.fw-300 {
-  font-weight: 300 !important;
-}
-
-.fw-400 {
-  font-weight: 400 !important;
-}
-
-.fw-500 {
-  font-weight: 500 !important;
-}
-
-.fw-700 {
-  font-weight: 700 !important;
-}
-
-.lh-0 {
-  line-height: 0 !important;
-}
-
-.lh-default {
-  line-height: 1.4;
-}
-
-.lh-tight {
-  line-height: 1.25;
-}
-
-.ls-5 {
-  letter-spacing: 0.05em !important;
-}
-
-.ls-10 {
-  letter-spacing: 0.1em !important;
-}
-
-.ls-0 {
-  letter-spacing: 0 !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.list-style-none {
-  padding: 0 !important;
-  margin: 0 !important;
-  list-style: none !important;
-}
-.list-style-none li::before {
-  display: none !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mr-0 {
-  margin-right: 0 !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.ml-0 {
-  margin-left: 0 !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.mxn-0 {
-  margin-right: -0 !important;
-  margin-left: -0 !important;
-}
-
-.mx-0-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mr-1 {
-  margin-right: 0.25rem !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.ml-1 {
-  margin-left: 0.25rem !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.mxn-1 {
-  margin-right: -0.25rem !important;
-  margin-left: -0.25rem !important;
-}
-
-.mx-1-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mr-2 {
-  margin-right: 0.5rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.ml-2 {
-  margin-left: 0.5rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.mxn-2 {
-  margin-right: -0.5rem !important;
-  margin-left: -0.5rem !important;
-}
-
-.mx-2-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-3 {
-  margin: 0.75rem !important;
-}
-
-.mt-3 {
-  margin-top: 0.75rem !important;
-}
-
-.mr-3 {
-  margin-right: 0.75rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 0.75rem !important;
-}
-
-.ml-3 {
-  margin-left: 0.75rem !important;
-}
-
-.mx-3 {
-  margin-right: 0.75rem !important;
-  margin-left: 0.75rem !important;
-}
-
-.my-3 {
-  margin-top: 0.75rem !important;
-  margin-bottom: 0.75rem !important;
-}
-
-.mxn-3 {
-  margin-right: -0.75rem !important;
-  margin-left: -0.75rem !important;
-}
-
-.mx-3-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-4 {
-  margin: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1rem !important;
-}
-
-.mr-4 {
-  margin-right: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1rem !important;
-}
-
-.ml-4 {
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.mxn-4 {
-  margin-right: -1rem !important;
-  margin-left: -1rem !important;
-}
-
-.mx-4-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-5 {
-  margin: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 1.5rem !important;
-}
-
-.mr-5 {
-  margin-right: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 1.5rem !important;
-}
-
-.ml-5 {
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.mxn-5 {
-  margin-right: -1.5rem !important;
-  margin-left: -1.5rem !important;
-}
-
-.mx-5-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-6 {
-  margin: 2rem !important;
-}
-
-.mt-6 {
-  margin-top: 2rem !important;
-}
-
-.mr-6 {
-  margin-right: 2rem !important;
-}
-
-.mb-6 {
-  margin-bottom: 2rem !important;
-}
-
-.ml-6 {
-  margin-left: 2rem !important;
-}
-
-.mx-6 {
-  margin-right: 2rem !important;
-  margin-left: 2rem !important;
-}
-
-.my-6 {
-  margin-top: 2rem !important;
-  margin-bottom: 2rem !important;
-}
-
-.mxn-6 {
-  margin-right: -2rem !important;
-  margin-left: -2rem !important;
-}
-
-.mx-6-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-7 {
-  margin: 2.5rem !important;
-}
-
-.mt-7 {
-  margin-top: 2.5rem !important;
-}
-
-.mr-7 {
-  margin-right: 2.5rem !important;
-}
-
-.mb-7 {
-  margin-bottom: 2.5rem !important;
-}
-
-.ml-7 {
-  margin-left: 2.5rem !important;
-}
-
-.mx-7 {
-  margin-right: 2.5rem !important;
-  margin-left: 2.5rem !important;
-}
-
-.my-7 {
-  margin-top: 2.5rem !important;
-  margin-bottom: 2.5rem !important;
-}
-
-.mxn-7 {
-  margin-right: -2.5rem !important;
-  margin-left: -2.5rem !important;
-}
-
-.mx-7-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-8 {
-  margin: 3rem !important;
-}
-
-.mt-8 {
-  margin-top: 3rem !important;
-}
-
-.mr-8 {
-  margin-right: 3rem !important;
-}
-
-.mb-8 {
-  margin-bottom: 3rem !important;
-}
-
-.ml-8 {
-  margin-left: 3rem !important;
-}
-
-.mx-8 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.my-8 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.mxn-8 {
-  margin-right: -3rem !important;
-  margin-left: -3rem !important;
-}
-
-.mx-8-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-9 {
-  margin: 3.5rem !important;
-}
-
-.mt-9 {
-  margin-top: 3.5rem !important;
-}
-
-.mr-9 {
-  margin-right: 3.5rem !important;
-}
-
-.mb-9 {
-  margin-bottom: 3.5rem !important;
-}
-
-.ml-9 {
-  margin-left: 3.5rem !important;
-}
-
-.mx-9 {
-  margin-right: 3.5rem !important;
-  margin-left: 3.5rem !important;
-}
-
-.my-9 {
-  margin-top: 3.5rem !important;
-  margin-bottom: 3.5rem !important;
-}
-
-.mxn-9 {
-  margin-right: -3.5rem !important;
-  margin-left: -3.5rem !important;
-}
-
-.mx-9-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-10 {
-  margin: 4rem !important;
-}
-
-.mt-10 {
-  margin-top: 4rem !important;
-}
-
-.mr-10 {
-  margin-right: 4rem !important;
-}
-
-.mb-10 {
-  margin-bottom: 4rem !important;
-}
-
-.ml-10 {
-  margin-left: 4rem !important;
-}
-
-.mx-10 {
-  margin-right: 4rem !important;
-  margin-left: 4rem !important;
-}
-
-.my-10 {
-  margin-top: 4rem !important;
-  margin-bottom: 4rem !important;
-}
-
-.mxn-10 {
-  margin-right: -4rem !important;
-  margin-left: -4rem !important;
-}
-
-.mx-10-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-@media (min-width: 20rem) {
-  .m-xs-0 {
-    margin: 0 !important;
-  }
-  .mt-xs-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xs-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xs-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xs-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xs-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xs-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xs-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xs-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xs-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xs-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xs-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xs-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xs-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xs-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xs-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xs-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xs-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xs-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xs-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xs-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xs-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xs-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xs-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xs-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xs-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xs-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xs-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xs-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-4 {
-    margin: 1rem !important;
-  }
-  .mt-xs-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xs-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xs-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xs-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xs-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xs-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xs-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xs-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xs-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xs-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xs-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xs-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xs-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xs-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-6 {
-    margin: 2rem !important;
-  }
-  .mt-xs-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xs-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xs-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xs-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xs-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xs-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xs-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xs-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xs-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xs-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xs-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xs-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xs-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xs-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-8 {
-    margin: 3rem !important;
-  }
-  .mt-xs-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xs-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xs-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xs-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xs-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xs-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xs-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xs-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xs-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xs-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xs-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xs-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xs-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xs-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-10 {
-    margin: 4rem !important;
-  }
-  .mt-xs-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xs-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xs-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xs-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xs-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xs-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xs-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mr-sm-0 {
-    margin-right: 0 !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-sm-0 {
-    margin-left: 0 !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-sm-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-sm-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-sm-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-sm-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-sm-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-sm-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-4 {
-    margin: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-sm-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-sm-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-sm-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-sm-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-sm-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-sm-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-6 {
-    margin: 2rem !important;
-  }
-  .mt-sm-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-sm-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-sm-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-sm-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-sm-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-sm-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-sm-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-sm-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-sm-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-sm-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-sm-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-sm-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-sm-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-sm-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-8 {
-    margin: 3rem !important;
-  }
-  .mt-sm-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-sm-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-sm-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-sm-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-sm-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-sm-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-sm-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-sm-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-sm-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-sm-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-sm-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-sm-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-sm-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-sm-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-10 {
-    margin: 4rem !important;
-  }
-  .mt-sm-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-sm-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-sm-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-sm-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-sm-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-sm-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-sm-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .mt-md-0 {
-    margin-top: 0 !important;
-  }
-  .mr-md-0 {
-    margin-right: 0 !important;
-  }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-md-0 {
-    margin-left: 0 !important;
-  }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-md-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-md-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-md-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-md-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-md-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-md-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-md-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-md-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-md-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-md-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-4 {
-    margin: 1rem !important;
-  }
-  .mt-md-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-md-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-md-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-md-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-md-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-md-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-md-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-md-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-md-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-md-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-md-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-md-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-md-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-md-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-6 {
-    margin: 2rem !important;
-  }
-  .mt-md-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-md-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-md-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-md-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-md-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-md-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-md-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-md-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-md-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-md-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-md-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-md-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-md-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-md-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-8 {
-    margin: 3rem !important;
-  }
-  .mt-md-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-md-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-md-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-md-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-md-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-md-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-md-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-md-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-md-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-md-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-md-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-md-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-md-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-md-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-10 {
-    margin: 4rem !important;
-  }
-  .mt-md-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-md-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-md-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-md-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-md-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-md-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-md-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .mt-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mr-lg-0 {
-    margin-right: 0 !important;
-  }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-lg-0 {
-    margin-left: 0 !important;
-  }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-lg-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-lg-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-lg-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-lg-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-lg-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-lg-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-lg-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-lg-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-lg-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-lg-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-4 {
-    margin: 1rem !important;
-  }
-  .mt-lg-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-lg-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-lg-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-lg-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-lg-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-lg-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-lg-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-lg-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-lg-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-lg-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-lg-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-lg-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-lg-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-lg-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-6 {
-    margin: 2rem !important;
-  }
-  .mt-lg-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-lg-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-lg-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-lg-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-lg-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-lg-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-lg-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-lg-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-lg-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-lg-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-lg-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-lg-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-lg-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-lg-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-8 {
-    margin: 3rem !important;
-  }
-  .mt-lg-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-lg-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-lg-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-lg-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-lg-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-lg-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-lg-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-lg-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-lg-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-lg-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-lg-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-lg-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-lg-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-lg-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-10 {
-    margin: 4rem !important;
-  }
-  .mt-lg-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-lg-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-lg-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-lg-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-lg-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-lg-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-lg-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .mt-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xl-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xl-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xl-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xl-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xl-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xl-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xl-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xl-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xl-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xl-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xl-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xl-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xl-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xl-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-4 {
-    margin: 1rem !important;
-  }
-  .mt-xl-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xl-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xl-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xl-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xl-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xl-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xl-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xl-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xl-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xl-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xl-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xl-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xl-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xl-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-6 {
-    margin: 2rem !important;
-  }
-  .mt-xl-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xl-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xl-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xl-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xl-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xl-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xl-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xl-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xl-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xl-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xl-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xl-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xl-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xl-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-8 {
-    margin: 3rem !important;
-  }
-  .mt-xl-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xl-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xl-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xl-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xl-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xl-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xl-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xl-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xl-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xl-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xl-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xl-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xl-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xl-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-10 {
-    margin: 4rem !important;
-  }
-  .mt-xl-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xl-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xl-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xl-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xl-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xl-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xl-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-.p-0 {
-  padding: 0 !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pr-0 {
-  padding-right: 0 !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pl-0 {
-  padding-left: 0 !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pr-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pl-1 {
-  padding-left: 0.25rem !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pr-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pl-2 {
-  padding-left: 0.5rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 0.75rem !important;
-}
-
-.pt-3 {
-  padding-top: 0.75rem !important;
-}
-
-.pr-3 {
-  padding-right: 0.75rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 0.75rem !important;
-}
-
-.pl-3 {
-  padding-left: 0.75rem !important;
-}
-
-.px-3 {
-  padding-right: 0.75rem !important;
-  padding-left: 0.75rem !important;
-}
-
-.py-3 {
-  padding-top: 0.75rem !important;
-  padding-bottom: 0.75rem !important;
-}
-
-.p-4 {
-  padding: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1rem !important;
-}
-
-.pr-4 {
-  padding-right: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1rem !important;
-}
-
-.pl-4 {
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.p-5 {
-  padding: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 1.5rem !important;
-}
-
-.pr-5 {
-  padding-right: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pl-5 {
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.p-6 {
-  padding: 2rem !important;
-}
-
-.pt-6 {
-  padding-top: 2rem !important;
-}
-
-.pr-6 {
-  padding-right: 2rem !important;
-}
-
-.pb-6 {
-  padding-bottom: 2rem !important;
-}
-
-.pl-6 {
-  padding-left: 2rem !important;
-}
-
-.px-6 {
-  padding-right: 2rem !important;
-  padding-left: 2rem !important;
-}
-
-.py-6 {
-  padding-top: 2rem !important;
-  padding-bottom: 2rem !important;
-}
-
-.p-7 {
-  padding: 2.5rem !important;
-}
-
-.pt-7 {
-  padding-top: 2.5rem !important;
-}
-
-.pr-7 {
-  padding-right: 2.5rem !important;
-}
-
-.pb-7 {
-  padding-bottom: 2.5rem !important;
-}
-
-.pl-7 {
-  padding-left: 2.5rem !important;
-}
-
-.px-7 {
-  padding-right: 2.5rem !important;
-  padding-left: 2.5rem !important;
-}
-
-.py-7 {
-  padding-top: 2.5rem !important;
-  padding-bottom: 2.5rem !important;
-}
-
-.p-8 {
-  padding: 3rem !important;
-}
-
-.pt-8 {
-  padding-top: 3rem !important;
-}
-
-.pr-8 {
-  padding-right: 3rem !important;
-}
-
-.pb-8 {
-  padding-bottom: 3rem !important;
-}
-
-.pl-8 {
-  padding-left: 3rem !important;
-}
-
-.px-8 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-8 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.p-9 {
-  padding: 3.5rem !important;
-}
-
-.pt-9 {
-  padding-top: 3.5rem !important;
-}
-
-.pr-9 {
-  padding-right: 3.5rem !important;
-}
-
-.pb-9 {
-  padding-bottom: 3.5rem !important;
-}
-
-.pl-9 {
-  padding-left: 3.5rem !important;
-}
-
-.px-9 {
-  padding-right: 3.5rem !important;
-  padding-left: 3.5rem !important;
-}
-
-.py-9 {
-  padding-top: 3.5rem !important;
-  padding-bottom: 3.5rem !important;
-}
-
-.p-10 {
-  padding: 4rem !important;
-}
-
-.pt-10 {
-  padding-top: 4rem !important;
-}
-
-.pr-10 {
-  padding-right: 4rem !important;
-}
-
-.pb-10 {
-  padding-bottom: 4rem !important;
-}
-
-.pl-10 {
-  padding-left: 4rem !important;
-}
-
-.px-10 {
-  padding-right: 4rem !important;
-  padding-left: 4rem !important;
-}
-
-.py-10 {
-  padding-top: 4rem !important;
-  padding-bottom: 4rem !important;
-}
-
-@media (min-width: 20rem) {
-  .p-xs-0 {
-    padding: 0 !important;
-  }
-  .pt-xs-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xs-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xs-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xs-0 {
-    padding-left: 0 !important;
-  }
-  .px-xs-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xs-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xs-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xs-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xs-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xs-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xs-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xs-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xs-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xs-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xs-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xs-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xs-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xs-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xs-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xs-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xs-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xs-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xs-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xs-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xs-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xs-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xs-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xs-4 {
-    padding: 1rem !important;
-  }
-  .pt-xs-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xs-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xs-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xs-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xs-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xs-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xs-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xs-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xs-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xs-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xs-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xs-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xs-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xs-6 {
-    padding: 2rem !important;
-  }
-  .pt-xs-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xs-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xs-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xs-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xs-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xs-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xs-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xs-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xs-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xs-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xs-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xs-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xs-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xs-8 {
-    padding: 3rem !important;
-  }
-  .pt-xs-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xs-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xs-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xs-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xs-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xs-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xs-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xs-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xs-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xs-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xs-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xs-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xs-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xs-10 {
-    padding: 4rem !important;
-  }
-  .pt-xs-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xs-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xs-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xs-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xs-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xs-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pr-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-sm-0 {
-    padding-left: 0 !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-sm-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-sm-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-sm-4 {
-    padding: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-sm-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-sm-4 {
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-sm-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-sm-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-sm-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-sm-6 {
-    padding: 2rem !important;
-  }
-  .pt-sm-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-sm-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-sm-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-sm-6 {
-    padding-left: 2rem !important;
-  }
-  .px-sm-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-sm-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-sm-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-sm-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-sm-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-sm-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-sm-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-sm-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-sm-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-sm-8 {
-    padding: 3rem !important;
-  }
-  .pt-sm-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-sm-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-sm-8 {
-    padding-left: 3rem !important;
-  }
-  .px-sm-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-sm-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-sm-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-sm-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-sm-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-sm-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-sm-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-sm-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-sm-10 {
-    padding: 4rem !important;
-  }
-  .pt-sm-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-sm-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-sm-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-sm-10 {
-    padding-left: 4rem !important;
-  }
-  .px-sm-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-sm-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .pt-md-0 {
-    padding-top: 0 !important;
-  }
-  .pr-md-0 {
-    padding-right: 0 !important;
-  }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-md-0 {
-    padding-left: 0 !important;
-  }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-md-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-md-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-md-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-md-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-md-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-md-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-md-4 {
-    padding: 1rem !important;
-  }
-  .pt-md-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-md-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-md-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-md-4 {
-    padding-left: 1rem !important;
-  }
-  .px-md-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-md-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-md-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-md-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-md-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-md-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-md-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-md-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-md-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-md-6 {
-    padding: 2rem !important;
-  }
-  .pt-md-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-md-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-md-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-md-6 {
-    padding-left: 2rem !important;
-  }
-  .px-md-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-md-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-md-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-md-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-md-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-md-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-md-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-md-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-md-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-md-8 {
-    padding: 3rem !important;
-  }
-  .pt-md-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-md-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-md-8 {
-    padding-left: 3rem !important;
-  }
-  .px-md-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-md-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-md-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-md-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-md-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-md-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-md-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-md-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-md-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-md-10 {
-    padding: 4rem !important;
-  }
-  .pt-md-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-md-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-md-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-md-10 {
-    padding-left: 4rem !important;
-  }
-  .px-md-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-md-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .pt-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pr-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-lg-0 {
-    padding-left: 0 !important;
-  }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-lg-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-lg-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-lg-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-lg-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-lg-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-lg-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-lg-4 {
-    padding: 1rem !important;
-  }
-  .pt-lg-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-lg-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-lg-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-lg-4 {
-    padding-left: 1rem !important;
-  }
-  .px-lg-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-lg-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-lg-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-lg-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-lg-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-lg-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-lg-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-lg-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-lg-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-lg-6 {
-    padding: 2rem !important;
-  }
-  .pt-lg-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-lg-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-lg-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-lg-6 {
-    padding-left: 2rem !important;
-  }
-  .px-lg-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-lg-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-lg-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-lg-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-lg-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-lg-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-lg-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-lg-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-lg-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-lg-8 {
-    padding: 3rem !important;
-  }
-  .pt-lg-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-lg-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-lg-8 {
-    padding-left: 3rem !important;
-  }
-  .px-lg-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-lg-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-lg-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-lg-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-lg-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-lg-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-lg-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-lg-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-lg-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-lg-10 {
-    padding: 4rem !important;
-  }
-  .pt-lg-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-lg-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-lg-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-lg-10 {
-    padding-left: 4rem !important;
-  }
-  .px-lg-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-lg-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .p-xl-0 {
-    padding: 0 !important;
-  }
-  .pt-xl-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xl-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xl-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xl-0 {
-    padding-left: 0 !important;
-  }
-  .px-xl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xl-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xl-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xl-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xl-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xl-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xl-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xl-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xl-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xl-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xl-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xl-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xl-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xl-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xl-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xl-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xl-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xl-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xl-4 {
-    padding: 1rem !important;
-  }
-  .pt-xl-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xl-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xl-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xl-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xl-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xl-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xl-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xl-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xl-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xl-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xl-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xl-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xl-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xl-6 {
-    padding: 2rem !important;
-  }
-  .pt-xl-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xl-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xl-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xl-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xl-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xl-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xl-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xl-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xl-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xl-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xl-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xl-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xl-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xl-8 {
-    padding: 3rem !important;
-  }
-  .pt-xl-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xl-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xl-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xl-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xl-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xl-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xl-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xl-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xl-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xl-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xl-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xl-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xl-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xl-10 {
-    padding: 4rem !important;
-  }
-  .pt-xl-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xl-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xl-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xl-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xl-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xl-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media print {
-  .site-footer,
-  .site-button,
-  #edit-this-page,
-  #back-to-top,
-  .site-nav,
-  .main-header {
-    display: none !important;
-  }
-  hr {
-    margin-top: 1rem;
-    margin-bottom: 1rem;
-  }
-  .side-bar {
-    width: 100%;
-    height: auto;
-    border-right: 0 !important;
-    /* Disable display: flex and position: fixed from non-print styles */
-    position: static;
-    display: block;
-  }
-  .site-header {
-    border-bottom: 1px solid #eeebee;
-  }
-  .site-title {
-    font-size: 1rem !important;
-    font-weight: 700 !important;
-  }
-  .text-small {
-    font-size: 8pt !important;
-  }
-  pre.highlight {
-    border: 1px solid #eeebee;
-  }
-  .main {
-    max-width: none;
-    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */
-  }
-}
-a.skip-to-main {
-  left: -999px;
-  position: absolute;
-  top: auto;
-  width: 1px;
-  height: 1px;
-  overflow: hidden;
-  z-index: -999;
-}
-
-a.skip-to-main:focus,
-a.skip-to-main:active {
-  color: #7253ed;
-  background-color: #fff;
-  left: auto;
-  top: auto;
-  width: 30%;
-  height: auto;
-  overflow: auto;
-  margin: 10px 35%;
-  padding: 5px;
-  border-radius: 15px;
-  border: 4px solid #5e41d0;
-  text-align: center;
-  font-size: 1.2em;
-  z-index: 999;
-}
-
-div.opaque {
-  background-color: #fff;
-}
-
-p.note, blockquote.note {
-  border: 1px #2c84fa solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note::before, blockquote.note::before {
-  color: #183385;
-  content: "Note";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.note > .note-title, blockquote.note > .note-title {
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.note-title, blockquote.note-title {
-  border: 1px #2c84fa solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note-title > p:first-child, blockquote.note-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.note {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note > p:first-child {
-  margin-top: 0;
-}
-blockquote.note > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.note-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.note-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.warning, blockquote.warning {
-  border: 1px #f77e7e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning::before, blockquote.warning::before {
-  color: #dd2e2e;
-  content: "Warning";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.warning > .warning-title, blockquote.warning > .warning-title {
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.warning-title, blockquote.warning-title {
-  border: 1px #f77e7e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning-title > p:first-child, blockquote.warning-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.warning {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning > p:first-child {
-  margin-top: 0;
-}
-blockquote.warning > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.warning-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.warning-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.tip, blockquote.tip {
-  border: 1px #41d693 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip::before, blockquote.tip::before {
-  color: #026e57;
-  content: "Tip";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.tip > .tip-title, blockquote.tip > .tip-title {
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.tip-title, blockquote.tip-title {
-  border: 1px #41d693 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip-title > p:first-child, blockquote.tip-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.tip {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip > p:first-child {
-  margin-top: 0;
-}
-blockquote.tip > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.tip-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.tip-title > p:last-child {
-  margin-bottom: 0;
-}
-
-/*# sourceMappingURL=just-the-docs-default.css.map */
\ No newline at end of file
diff --git a/docs/_site/assets/css/just-the-docs-default.css.map b/docs/_site/assets/css/just-the-docs-default.css.map
deleted file mode 100644
index a1328a7..0000000
--- a/docs/_site/assets/css/just-the-docs-default.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-default.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIUY;EJTZ,kBIOM;EJNN;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIlBY;;;AJqBd;EACE;EACA;;;AAGF;EACE,OItBW;EJuBX;;;AAGF;EACE;EACA,uBI/BY;EJgCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBI/DY;EJgEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD6BY;;ADrBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDJQ;;ADrBV;EEuBA;IAKI;IACA,kBDdA;;;ACiBF;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODpGY;ECqGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OD1KW;;;AElCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OF5IO;EE6IP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,OHxCO;EGyCP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHjFI;;AGoFN;EACE,OHrFI;;AG2FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,OH9HG;;AGiIL;EACE,OHlIG;;;AG2Ib;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ON2BW;EM1BX;EACA;EACA;EACA,kBTTkB;ESUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,ONnCW;EMoCX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORhBY;EQiBZ,kBRnBM;EQoBN;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBR7BI;IQ8BJ;;;AAGF;EACE;;AAEA;EACE,OR3BO;;;AQgCb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRpEM;EQqEN,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX5Ha;;;AWgIjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,ORlIS;EQmIT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OR5JY;EQ6JZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORxKY;EQyKZ;EACA,aR/GO;EQgHP,mBRtKY;;AFpBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBR7MM;EQ8MN;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBR7PI;;ADfJ;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTIM;ESHN;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBVmBI;EUlBJ;EACA,eV+EY;;;AU1EhB;EACE,cVkBY;;;AUiCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBV7CM;EU8CN,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OV7DU;EU8DV;;AAEA;AAAA;AAAA;EACE,MVjEQ;;AUoEV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBV3JI;EU4JJ;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YV9MM;EUmNJ,OVjNU;;;AUsNd;EACE,YVzNM;;;AWzBR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OjBwBW;EiBvBX,kBjBaM;EiBZN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACrBF;EACE,kBlBqBM;;;AkBlBR;EACI;EACA;EACA,elB6EY;EkB5EZ;EACA;;AAEA;EACI,OlB2BG;EkB1BH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBiBK;EkBhBL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBkDY;EkBjDZ;EACA;;AACA;EACE;EACA;EACA,OlBDK;EkBEL;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBIY;EkBHZ;EACA;;AAEA;EACI,OlBlCE;EkBmCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB5CI;EkB6CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBvBY;EkBwBZ;EACA;;AACA;EACE;EACA;EACA,OlB9DI;EkB+DJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBrEY;EkBsEZ;EACA;;AAEA;EACI,OlBnHI;EkBoHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB7HM;EkB8HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBhGY;EkBiGZ;EACA;;AACA;EACE;EACA;EACA,OlB/IM;EkBgJN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n   ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n  line-height: 1.15; /* 1 */\n  text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n  /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n  /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n  appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  appearance: auto; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n  display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n  color-scheme: $color-scheme;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nhtml {\n  scroll-behavior: smooth;\n\n  @include fs-4;\n}\n\nbody {\n  font-family: $body-font-family;\n  font-size: inherit;\n  line-height: $body-line-height;\n  color: $body-text-color;\n  background-color: $body-background-color;\n  overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n  margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n  margin-top: 0;\n  margin-bottom: 1em;\n  font-weight: 500;\n  line-height: $body-heading-line-height;\n  color: $body-heading-color;\n}\n\np {\n  margin-top: 1em;\n  margin-bottom: 1em;\n}\n\na {\n  color: $link-color;\n  text-decoration: none;\n}\n\na:not([class]) {\n  text-decoration: underline;\n  text-decoration-color: $border-color;\n  text-underline-offset: 2px;\n\n  &:hover {\n    text-decoration-color: rgba($link-color, 0.45);\n  }\n}\n\ncode {\n  font-family: $mono-font-family;\n  font-size: 0.75em;\n  line-height: $body-line-height;\n}\n\nfigure,\npre {\n  margin: 0;\n}\n\nli {\n  margin: 0.25em 0;\n}\n\nimg {\n  max-width: 100%;\n  height: auto;\n}\n\nhr {\n  height: 1px;\n  padding: 0;\n  margin: $sp-6 0;\n  background-color: $border-color;\n  border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n  margin: 10px 0;\n\n  // resets user-agent stylesheets for blockquotes\n  margin-block-start: 0;\n  margin-inline-start: 0;\n  padding-left: 1rem;\n  border-left: 3px solid $border-color;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n  & {\n    font-size: $font-size-1 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-1-sm !important;\n  }\n}\n\n@mixin fs-2 {\n  & {\n    font-size: $font-size-2 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-3 !important;\n  }\n}\n\n@mixin fs-3 {\n  & {\n    font-size: $font-size-3 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-4 !important;\n  }\n}\n\n@mixin fs-4 {\n  & {\n    font-size: $font-size-4 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-5 !important;\n  }\n}\n\n@mixin fs-5 {\n  & {\n    font-size: $font-size-5 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-6 !important;\n  }\n}\n\n@mixin fs-6 {\n  & {\n    font-size: $font-size-6 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n}\n\n@mixin fs-7 {\n  & {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-8 !important;\n  }\n}\n\n@mixin fs-8 {\n  & {\n    font-size: $font-size-8 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-9 !important;\n  }\n}\n\n@mixin fs-9 {\n  & {\n    font-size: $font-size-9 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10 !important;\n  }\n}\n\n@mixin fs-10 {\n  & {\n    font-size: $font-size-10 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10-sm !important;\n  }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n//   ..medium and up styles\n// }\n@mixin mq($name) {\n  // Retrieves the value from the key\n  $value: map-get($media-queries, $name);\n\n  // If the key exists in the map\n  @if $value {\n    // Prints a media query based on the value\n    @media (min-width: $value) {\n      @content;\n    }\n  } @else {\n    @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n  }\n}\n\n// Responsive container\n\n@mixin container {\n  padding-right: $gutter-spacing-sm;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-right: $gutter-spacing;\n    padding-left: $gutter-spacing;\n  }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n  roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n  sp-0: 0,\n  sp-1: $spacing-unit * 0.25,\n  sp-2: $spacing-unit * 0.5,\n  sp-3: $spacing-unit * 0.75,\n  sp-4: $spacing-unit,\n  sp-5: $spacing-unit * 1.5,\n  sp-6: $spacing-unit * 2,\n  sp-7: $spacing-unit * 2.5,\n  sp-8: $spacing-unit * 3,\n  sp-9: $spacing-unit * 3.5,\n  sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5  rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1    rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5  rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2    rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5  rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3    rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5  rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4  rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n  xs: 20rem,\n  sm: 31.25rem,\n  md: $content-width,\n  lg: $content-width + $nav-width,\n  xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n  z-index: 0;\n  display: flex;\n  flex-wrap: wrap;\n  background-color: $sidebar-color;\n\n  @include mq(md) {\n    flex-flow: column nowrap;\n    position: fixed;\n    width: $nav-width-md;\n    height: 100%;\n    border-right: $border $border-color;\n    align-items: flex-end;\n  }\n\n  @include mq(lg) {\n    width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n    min-width: $nav-width;\n  }\n\n  & + .main {\n    @include mq(md) {\n      margin-left: $nav-width-md;\n    }\n\n    @include mq(lg) {\n      // stylelint-disable function-name-case\n      // disable for Max(), we want to use the CSS max() function\n      margin-left: Max(\n        #{$nav-width},\n        calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n      );\n      // stylelint-enable function-name-case\n    }\n\n    .main-header {\n      display: none;\n      background-color: $sidebar-color;\n\n      @include mq(md) {\n        display: flex;\n        background-color: $body-background-color;\n      }\n\n      &.nav-open {\n        display: block;\n\n        @include mq(md) {\n          display: flex;\n        }\n      }\n    }\n  }\n}\n\n.main {\n  margin: auto;\n\n  @include mq(md) {\n    position: relative;\n    max-width: $content-width;\n  }\n}\n\n.main-content-wrap {\n  padding-top: $gutter-spacing-sm;\n  padding-bottom: $gutter-spacing-sm;\n\n  @include container;\n\n  @include mq(md) {\n    padding-top: $gutter-spacing;\n    padding-bottom: $gutter-spacing;\n  }\n}\n\n.main-header {\n  z-index: 0;\n  border-bottom: $border $border-color;\n\n  @include mq(md) {\n    display: flex;\n    justify-content: space-between;\n    height: $header-height;\n  }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n  width: 100%;\n\n  @include mq(lg) {\n    width: $nav-width;\n  }\n}\n\n.site-nav {\n  display: none;\n\n  &.nav-open {\n    display: block;\n  }\n\n  @include mq(md) {\n    display: block;\n    padding-top: $sp-8;\n    padding-bottom: $gutter-spacing-sm;\n    overflow-y: auto;\n    flex: 1 1 auto;\n  }\n}\n\n.site-header {\n  display: flex;\n  min-height: $header-height;\n  align-items: center;\n\n  @include mq(md) {\n    height: $header-height;\n    max-height: $header-height;\n    border-bottom: $border $border-color;\n  }\n}\n\n.site-title {\n  flex-grow: 1;\n  display: flex;\n  height: 100%;\n  align-items: center;\n  padding-top: $sp-3;\n  padding-bottom: $sp-3;\n  color: $body-heading-color;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n  @include container;\n\n  @include fs-6;\n\n  @include mq(md) {\n    padding-top: $sp-2;\n    padding-bottom: $sp-2;\n  }\n}\n\n@if variable-exists(logo) {\n  .site-logo {\n    width: 100%;\n    height: 100%;\n    background-image: url($logo);\n    background-repeat: no-repeat;\n    background-position: left center;\n    background-size: contain;\n  }\n}\n\n.site-button {\n  display: flex;\n  height: 100%;\n  padding: $gutter-spacing-sm;\n  align-items: center;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n  .site-header .site-button {\n    display: none;\n  }\n}\n\n.site-title:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 80%,\n    rgba($feedback-color, 0) 100%\n  );\n}\n\n.site-button:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 100%\n  );\n}\n\n.site-footer {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  padding-top: $sp-4;\n  padding-bottom: $sp-4;\n\n  @include container;\n\n  @include fs-2;\n\n  @include mq(md) {\n    position: static;\n    justify-self: end;\n  }\n}\n\n.icon {\n  width: $sp-5;\n  height: $sp-5;\n  color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n  line-height: $content-line-height;\n\n  ol,\n  ul,\n  dl,\n  pre,\n  address,\n  blockquote,\n  .table-wrapper {\n    margin-top: 0.5em;\n  }\n\n  a {\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  ul,\n  ol {\n    padding-left: 1.5em;\n  }\n\n  li {\n    .highlight {\n      margin-top: $sp-1;\n    }\n  }\n\n  ol {\n    list-style-type: none;\n    counter-reset: step-counter;\n\n    > li {\n      position: relative;\n\n      &::before {\n        position: absolute;\n        top: 0.2em;\n        left: -1.6em;\n        color: $grey-dk-000;\n        content: counter(step-counter);\n        counter-increment: step-counter;\n        @include fs-3;\n\n        @include mq(sm) {\n          top: 0.11em;\n        }\n      }\n\n      ol {\n        counter-reset: sub-counter;\n\n        > li {\n          &::before {\n            content: counter(sub-counter, lower-alpha);\n            counter-increment: sub-counter;\n          }\n        }\n      }\n    }\n  }\n\n  ul {\n    list-style: none;\n\n    > li {\n      &::before {\n        position: absolute;\n        margin-left: -1.4em;\n        color: $grey-dk-000;\n        content: \"•\";\n      }\n    }\n  }\n\n  .task-list-item {\n    &::before {\n      content: \"\";\n    }\n  }\n\n  .task-list-item-checkbox {\n    margin-right: 0.6em;\n    margin-left: -1.4em;\n\n    // The same margin-left is used above for ul > li::before\n  }\n\n  hr + * {\n    margin-top: 0;\n  }\n\n  h1:first-of-type {\n    margin-top: 0.5em;\n  }\n\n  dl {\n    display: grid;\n    grid-template: auto / 10em 1fr;\n  }\n\n  dt,\n  dd {\n    margin: 0.25em 0;\n  }\n\n  dt {\n    grid-column: 1;\n    font-weight: 500;\n    text-align: right;\n\n    &::after {\n      content: \":\";\n    }\n  }\n\n  dd {\n    grid-column: 2;\n    margin-bottom: 0;\n    margin-left: 1em;\n\n    blockquote,\n    div,\n    dl,\n    dt,\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6,\n    li,\n    ol,\n    p,\n    pre,\n    table,\n    ul,\n    .table-wrapper {\n      &:first-child {\n        margin-top: 0;\n      }\n    }\n  }\n\n  dd,\n  ol,\n  ul {\n    dl:first-child {\n      dt:first-child,\n      dd:nth-child(2) {\n        margin-top: 0;\n      }\n    }\n  }\n\n  .anchor-heading {\n    position: absolute;\n    right: -$sp-4;\n    width: $sp-5;\n    height: 100%;\n    padding-right: $sp-1;\n    padding-left: $sp-1;\n    overflow: visible;\n\n    @include mq(md) {\n      right: auto;\n      left: -$sp-5;\n    }\n\n    svg {\n      display: inline-block;\n      width: 100%;\n      height: 100%;\n      color: $link-color;\n      visibility: hidden;\n    }\n  }\n\n  .anchor-heading:hover,\n  .anchor-heading:focus,\n  h1:hover > .anchor-heading,\n  h2:hover > .anchor-heading,\n  h3:hover > .anchor-heading,\n  h4:hover > .anchor-heading,\n  h5:hover > .anchor-heading,\n  h6:hover > .anchor-heading {\n    svg {\n      visibility: visible;\n    }\n  }\n\n  summary {\n    cursor: pointer;\n  }\n\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  #toctitle {\n    position: relative;\n    margin-top: 1.5em;\n    margin-bottom: 0.25em;\n\n    + table,\n    + .table-wrapper,\n    + .code-example,\n    + .highlighter-rouge,\n    + .sectionbody .listingblock {\n      margin-top: 1em;\n    }\n\n    + p:not(.label) {\n      margin-top: 0;\n    }\n  }\n\n  > h1:first-child,\n  > h2:first-child,\n  > h3:first-child,\n  > h4:first-child,\n  > h5:first-child,\n  > h6:first-child,\n  > .sect1:first-child > h2,\n  > .sect2:first-child > h3,\n  > .sect3:first-child > h4,\n  > .sect4:first-child > h5,\n  > .sect5:first-child > h6 {\n    margin-top: $sp-2;\n  }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n  padding: 0;\n  margin-top: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-list-item {\n    position: relative;\n    margin: 0;\n\n    @include fs-4;\n\n    @include mq(md) {\n      @include fs-3;\n    }\n\n    .nav-list-link {\n      display: block;\n      min-height: $nav-list-item-height-sm;\n      padding-top: $sp-1;\n      padding-bottom: $sp-1;\n      line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @if $nav-list-expander-right {\n        padding-right: $nav-list-item-height-sm;\n        padding-left: $gutter-spacing-sm;\n      } @else {\n        padding-right: $gutter-spacing-sm;\n        padding-left: $nav-list-item-height-sm;\n      }\n\n      @include mq(md) {\n        min-height: $nav-list-item-height;\n        line-height: #{$nav-list-item-height - 2 * $sp-1};\n        @if $nav-list-expander-right {\n          padding-right: $nav-list-item-height;\n          padding-left: $gutter-spacing;\n        } @else {\n          padding-right: $gutter-spacing;\n          padding-left: $nav-list-item-height;\n        }\n      }\n\n      &.external > svg {\n        width: $sp-4;\n        height: $sp-4;\n        vertical-align: text-bottom;\n      }\n\n      &.active {\n        font-weight: 600;\n        text-decoration: none;\n      }\n\n      &:hover,\n      &.active {\n        color: darken($link-color, 5%);\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 80%,\n          rgba($feedback-color, 0) 100%\n        );\n      }\n    }\n\n    .nav-list-expander {\n      position: absolute;\n      @if $nav-list-expander-right {\n        right: 0;\n      }\n\n      width: $nav-list-item-height-sm;\n      height: $nav-list-item-height-sm;\n      padding: #{$nav-list-item-height-sm * 0.25};\n      color: $link-color;\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @include mq(md) {\n        width: $nav-list-item-height;\n        height: $nav-list-item-height;\n        padding: #{$nav-list-item-height * 0.25};\n      }\n\n      &:hover {\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 100%\n        );\n      }\n\n      @if $nav-list-expander-right {\n        svg {\n          transform: rotate(90deg);\n        }\n      }\n    }\n\n    > .nav-list {\n      display: none;\n      padding-left: $sp-3;\n      list-style: none;\n\n      .nav-list-item {\n        position: relative;\n\n        .nav-list-link {\n          color: $nav-child-link-color;\n        }\n\n        .nav-list-expander {\n          color: $nav-child-link-color;\n        }\n      }\n    }\n\n    &.active {\n      > .nav-list-expander svg {\n        @if $nav-list-expander-right {\n          transform: rotate(-90deg);\n        } @else {\n          transform: rotate(90deg);\n        }\n      }\n\n      > .nav-list {\n        display: block;\n      }\n    }\n  }\n}\n\n.nav-category {\n  padding: $sp-2 $gutter-spacing-sm;\n  font-weight: 600;\n  text-align: start;\n  text-transform: uppercase;\n  border-bottom: $border $border-color;\n  @include fs-2;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing;\n    margin-top: $gutter-spacing-sm;\n    text-align: start;\n\n    &:first-child {\n      margin-top: 0;\n    }\n  }\n}\n\n.nav-list.nav-category-list {\n  > .nav-list-item {\n    margin: 0;\n\n    > .nav-list {\n      padding: 0;\n\n      > .nav-list-item {\n        > .nav-list-link {\n          color: $link-color;\n        }\n\n        > .nav-list-expander {\n          color: $link-color;\n        }\n      }\n    }\n  }\n}\n\n// Aux nav\n\n.aux-nav {\n  height: 100%;\n  overflow-x: auto;\n  @include fs-2;\n\n  .aux-nav-list {\n    display: flex;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n\n  .aux-nav-list-item {\n    display: inline-block;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n  }\n\n  @include mq(md) {\n    padding-right: $gutter-spacing-sm;\n  }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n  @include mq(md) {\n    margin-top: -$sp-4;\n  }\n}\n\n.breadcrumb-nav-list {\n  padding-left: 0;\n  margin-bottom: $sp-3;\n  list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n  display: table-cell;\n  @include fs-2;\n\n  &::before {\n    display: none;\n  }\n\n  &::after {\n    display: inline-block;\n    margin-right: $sp-2;\n    margin-left: $sp-2;\n    color: $grey-dk-000;\n    content: \"/\";\n  }\n\n  &:last-child {\n    &::after {\n      content: \"\";\n    }\n  }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n  font-weight: 300;\n\n  @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n  @include fs-6;\n}\n\nh3,\n.text-gamma {\n  @include fs-5;\n}\n\nh4,\n.text-delta {\n  font-weight: 400;\n  text-transform: uppercase;\n  letter-spacing: 0.1em;\n\n  @include fs-2;\n}\n\nh4 code {\n  text-transform: none;\n}\n\nh5,\n.text-epsilon {\n  @include fs-3;\n}\n\nh6,\n.text-zeta {\n  @include fs-2;\n}\n\n.text-small {\n  @include fs-2;\n}\n\n.text-mono {\n  font-family: $mono-font-family !important;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n  display: inline-block;\n  padding: 0.16em 0.56em;\n  margin-right: $sp-2;\n  margin-left: $sp-2;\n  color: $white;\n  text-transform: uppercase;\n  vertical-align: middle;\n  background-color: $blue-100;\n  border-radius: 12px;\n\n  @include fs-2;\n}\n\n.label-green:not(g) {\n  background-color: $green-300;\n}\n\n.label-purple:not(g) {\n  background-color: $purple-100;\n}\n\n.label-red:not(g) {\n  background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n  color: $grey-dk-200;\n  background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n  display: inline-block;\n  box-sizing: border-box;\n  padding: 0.3em 1em;\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: 500;\n  line-height: 1.5;\n  color: $link-color;\n  text-decoration: none;\n  vertical-align: baseline;\n  cursor: pointer;\n  background-color: $base-button-color;\n  border-width: 0;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  appearance: none;\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: darken($link-color, 2%);\n  }\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    text-decoration: none;\n    background-color: darken($base-button-color, 1%);\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($base-button-color, 3%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken(#dcdcdc, 5%);\n  }\n\n  &:disabled,\n  &.disabled {\n    &,\n    &:hover {\n      color: rgba(102, 102, 102, 0.5);\n      cursor: default;\n      background-color: rgba(229, 229, 229, 0.5);\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n\n.btn-outline {\n  color: $link-color;\n  background: transparent;\n  box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    color: darken($link-color, 4%);\n    text-decoration: none;\n    background-color: transparent;\n    box-shadow: inset 0 0 0 3px $grey-lt-300;\n  }\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow:\n      inset 0 0 0 2px $grey-dk-100,\n      0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: inset 0 0 0 2px $grey-dk-100;\n  }\n}\n\n.btn-primary {\n  @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n  @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n  @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n  @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n  background: none;\n  border: none;\n  margin: 0;\n  text-align: inherit;\n  font: inherit;\n  border-radius: 0;\n  appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n  color: $fg;\n  background-color: darken($bg, 2%);\n  background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n  box-shadow:\n    0 1px 3px rgba(0, 0, 0, 0.25),\n    0 4px 10px rgba(0, 0, 0, 0.12);\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: $fg;\n    background-color: darken($bg, 4%);\n    background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($bg, 5%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken($bg, 10%);\n  }\n}\n","// Search input and autocomplete\n\n.search {\n  position: relative;\n  z-index: 2;\n  flex-grow: 1;\n  height: $sp-10;\n  padding: $sp-2;\n  transition: padding linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: relative !important;\n    width: auto !important;\n    height: 100% !important;\n    padding: 0;\n    transition: none;\n  }\n}\n\n.search-input-wrap {\n  position: relative;\n  z-index: 1;\n  height: $sp-8;\n  overflow: hidden;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  transition: height linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: absolute;\n    width: 100%;\n    max-width: $search-results-width;\n    height: 100% !important;\n    border-radius: 0;\n    box-shadow: none;\n    transition: width ease $transition-duration;\n  }\n}\n\n.search-input {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n  font-size: 1rem;\n  color: $body-text-color;\n  background-color: $search-background-color;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 0;\n  border-left: 0;\n  border-radius: 0;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n    font-size: 0.875rem;\n    background-color: $body-background-color;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  &:focus {\n    outline-offset: -1px;\n\n    + .search-label .search-icon {\n      color: $link-color;\n    }\n  }\n}\n\n.search-label {\n  position: absolute;\n  display: flex;\n  height: 100%;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-left: $gutter-spacing;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  .search-icon {\n    width: #{$sp-4 * 1.2};\n    height: #{$sp-4 * 1.2};\n    align-self: center;\n    color: $grey-dk-000;\n  }\n}\n\n.search-results {\n  position: absolute;\n  left: 0;\n  display: none;\n  width: 100%;\n  max-height: calc(100% - #{$sp-10});\n  overflow-y: auto;\n  background-color: $search-background-color;\n  border-bottom-right-radius: $border-radius;\n  border-bottom-left-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n\n  @include mq(md) {\n    top: 100%;\n    width: $search-results-width;\n    max-height: calc(100vh - 200%) !important;\n  }\n}\n\n.search-results-list {\n  padding-left: 0;\n  margin-bottom: $sp-1;\n  list-style: none;\n  @include fs-4;\n\n  @include mq(md) {\n    @include fs-3;\n  }\n}\n\n.search-results-list-item {\n  padding: 0;\n  margin: 0;\n}\n\n.search-result {\n  display: block;\n  padding: $sp-1 $sp-3;\n  outline-offset: -1px;\n\n  &:hover,\n  &.active {\n    background-color: $feedback-color;\n  }\n}\n\n.search-result-title {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 40%;\n    padding-right: $sp-2;\n    vertical-align: top;\n  }\n}\n\n.search-result-doc {\n  display: flex;\n  align-items: center;\n  overflow-wrap: break-word;\n\n  &.search-result-doc-parent {\n    opacity: 0.5;\n    @include fs-3;\n\n    @include mq(md) {\n      @include fs-2;\n    }\n  }\n\n  .search-result-icon {\n    width: $sp-4;\n    height: $sp-4;\n    margin-right: $sp-2;\n    color: $link-color;\n    flex-shrink: 0;\n  }\n\n  .search-result-doc-title {\n    overflow: auto;\n  }\n}\n\n.search-result-section {\n  margin-left: #{$sp-4 + $sp-2};\n  overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n  display: block;\n  margin-left: #{$sp-4 + $sp-2};\n  overflow: hidden;\n  color: $search-result-preview-color;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  @include fs-1;\n}\n\n.search-result-previews {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n  padding-left: $sp-4;\n  margin-left: $sp-2;\n  color: $search-result-preview-color;\n  overflow-wrap: break-word;\n  border-left: $border;\n  border-left-color: $border-color;\n  @include fs-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 60%;\n    padding-left: $sp-2;\n    margin-left: 0;\n    vertical-align: top;\n  }\n}\n\n.search-result-preview + .search-result-preview {\n  margin-top: $sp-1;\n}\n\n.search-result-highlight {\n  font-weight: bold;\n}\n\n.search-no-result {\n  padding: $sp-2 $sp-3;\n  @include fs-3;\n}\n\n.search-button {\n  position: fixed;\n  right: $sp-4;\n  bottom: $sp-4;\n  display: flex;\n  width: $sp-9;\n  height: $sp-9;\n  background-color: $search-background-color;\n  border: 1px solid rgba($link-color, 0.3);\n  border-radius: #{$sp-9 * 0.5};\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  align-items: center;\n  justify-content: center;\n}\n\n.search-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1;\n  width: 0;\n  height: 0;\n  background-color: rgba(0, 0, 0, 0.3);\n  opacity: 0;\n  transition:\n    opacity ease $transition-duration,\n    width 0s $transition-duration,\n    height 0s $transition-duration;\n}\n\n.search-active {\n  .search {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    padding: 0;\n  }\n\n  .search-input-wrap {\n    height: $sp-10;\n    border-radius: 0;\n\n    @include mq(md) {\n      width: $search-results-width;\n      box-shadow:\n        0 1px 2px rgba(0, 0, 0, 0.12),\n        0 3px 10px rgba(0, 0, 0, 0.08);\n    }\n  }\n\n  .search-input {\n    background-color: $search-background-color;\n\n    @include mq(md) {\n      padding-left: 2.3rem;\n    }\n  }\n\n  .search-label {\n    @include mq(md) {\n      padding-left: 0.6rem;\n    }\n  }\n\n  .search-results {\n    display: block;\n  }\n\n  .search-overlay {\n    width: 100%;\n    height: 100%;\n    opacity: 1;\n    transition:\n      opacity ease $transition-duration,\n      width 0s,\n      height 0s;\n  }\n\n  @include mq(md) {\n    .main {\n      position: fixed;\n      right: 0;\n      left: 0;\n    }\n  }\n\n  .main-header {\n    padding-top: $sp-10;\n\n    @include mq(md) {\n      padding-top: 0;\n    }\n  }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $sp-5;\n  overflow-x: auto;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n  display: table;\n  min-width: 100%;\n  border-collapse: separate;\n}\n\nth,\ntd {\n  min-width: 7.5rem;\n  padding: $sp-2 $sp-3;\n  background-color: $table-background-color;\n  border-bottom: $border rgba($border-color, 0.5);\n  border-left: $border $border-color;\n\n  @include fs-3;\n\n  &:first-of-type {\n    border-left: 0;\n  }\n}\n\ntbody {\n  tr {\n    &:last-of-type {\n      th,\n      td {\n        border-bottom: 0;\n      }\n\n      td {\n        padding-bottom: $sp-3;\n      }\n    }\n  }\n}\n\nthead {\n  th {\n    border-bottom: $border $border-color;\n  }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n  & > code {\n    padding: 0.2em 0.15em;\n    font-weight: 400;\n    background-color: $code-background-color;\n    border: $border $border-color;\n    border-radius: $border-radius;\n  }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n  border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.rouge-gutter.gl > pre.lineno\n//   | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.gutter.gl > pre.lineno\n//   | td.code > pre\n//\n// ----...---- (AsciiDoc)\n//   div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n//     ----\n//     ...\n//     ----\n\n// the code may appear with 3 different types:\n// container \\ case:  default case,          code with line number,   code with html rendering\n// top level:         div.highlighter-rouge, figure.highlight,        figure.highlight\n// second level:      div.highlight,         div.table-wrapper,       pre.highlight\n// third level:       pre.highlight,         td.code,                 absent\n// last level:        code,                  pre,                     code (optionality)\n// highlighter level: span,                  span,                    span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n  background-color: $code-background-color;\n  border-radius: $border-radius;\n  box-shadow: none;\n  -webkit-overflow-scrolling: touch;\n  position: relative;\n  padding: 0;\n\n  // copy button (or other button)\n  // the button appear only when there is a hover on the code or focus on button\n  > button {\n    width: $sp-3;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: $sp-3;\n    border: none;\n    background: none;\n    color: $body-text-color;\n    box-sizing: content-box;\n\n    svg {\n      fill: $body-text-color;\n    }\n\n    &:active {\n      text-decoration: none;\n      outline: none;\n      opacity: 1;\n    }\n\n    &:focus {\n      opacity: 1;\n      outline: 2px solid $link-color;\n    }\n  }\n\n  // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n  &:hover {\n    > button {\n      cursor: copy;\n      opacity: 1;\n    }\n  }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n  #{$code-div} {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n\n  #{$pre-select},\n  code {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n  @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n\n  @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n  pre,\n  :not(pre) > code {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n  padding: $sp-3 0;\n  margin: 0;\n  border: 0;\n  box-shadow: none;\n\n  td,\n  pre {\n    min-width: 0;\n    padding: 0;\n    background-color: $code-background-color;\n    border: 0;\n\n    @include fs-2;\n  }\n\n  td.gl {\n    width: 1em;\n    padding-right: $sp-3;\n    padding-left: $sp-3;\n  }\n\n  pre {\n    margin: 0;\n    line-height: 2;\n  }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n  padding: $sp-3;\n  margin-bottom: $sp-3;\n  overflow: auto;\n  border: 1px solid $border-color;\n  border-radius: $border-radius;\n\n  + .highlighter-rouge,\n  + .sectionbody .listingblock,\n  + .content,\n  + figure.highlight {\n    position: relative;\n    margin-top: -$sp-4;\n    border-right: 1px solid $border-color;\n    border-bottom: 1px solid $border-color;\n    border-left: 1px solid $border-color;\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n  }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n  padding: 0;\n  background-color: inherit;\n  border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n  background: $code-background-color; // Code Background\n  // For Backwards Compatibility Before $code-linenumber-color was added\n  @if variable-exists(code-linenumber-color) {\n    color: $code-linenumber-color; // Code Line Numbers\n  } @else {\n    color: $body-text-color; // Code Line Numbers\n  }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n  background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n  color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n  color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n  color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n  color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n  color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n  color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n  color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n  color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n  color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n  color: $blue-000 !important;\n}\n\n.text-blue-100 {\n  color: $blue-100 !important;\n}\n\n.text-blue-200 {\n  color: $blue-200 !important;\n}\n\n.text-blue-300 {\n  color: $blue-300 !important;\n}\n\n.text-green-000 {\n  color: $green-000 !important;\n}\n\n.text-green-100 {\n  color: $green-100 !important;\n}\n\n.text-green-200 {\n  color: $green-200 !important;\n}\n\n.text-green-300 {\n  color: $green-300 !important;\n}\n\n.text-purple-000 {\n  color: $purple-000 !important;\n}\n\n.text-purple-100 {\n  color: $purple-100 !important;\n}\n\n.text-purple-200 {\n  color: $purple-200 !important;\n}\n\n.text-purple-300 {\n  color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n  color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n  color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n  color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n  color: $yellow-300 !important;\n}\n\n.text-red-000 {\n  color: $red-000 !important;\n}\n\n.text-red-100 {\n  color: $red-100 !important;\n}\n\n.text-red-200 {\n  color: $red-200 !important;\n}\n\n.text-red-300 {\n  color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n  background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n  background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n  background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n  background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n  background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n  background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n  background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n  background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n  background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n  background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n  background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n  background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n  background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n  background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n  background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n  background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n  background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n  background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n  background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n  background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n  background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n  background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n  background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n  background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n  background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n  background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n  background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n  background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n  background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n  display: block !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip-path: inset(50%);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .d-sm-block, .d-md-none, .d-lg-inline\n      .d-#{$media-query}-block {\n        display: block !important;\n      }\n      .d-#{$media-query}-flex {\n        display: flex !important;\n      }\n      .d-#{$media-query}-inline {\n        display: inline !important;\n      }\n      .d-#{$media-query}-inline-block {\n        display: inline-block !important;\n      }\n      .d-#{$media-query}-none {\n        display: none !important;\n      }\n    }\n  }\n}\n\n// Horizontal alignment\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.flex-justify-start {\n  justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n  justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n  justify-content: space-between !important;\n}\n\n.flex-justify-around {\n  justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n  vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n  vertical-align: bottom !important;\n}\n\n.v-align-middle {\n  vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n  vertical-align: text-top !important;\n}\n\n.v-align-top {\n  vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n  @include fs-1;\n}\n\n.fs-2 {\n  @include fs-2;\n}\n\n.fs-3 {\n  @include fs-3;\n}\n\n.fs-4 {\n  @include fs-4;\n}\n\n.fs-5 {\n  @include fs-5;\n}\n\n.fs-6 {\n  @include fs-6;\n}\n\n.fs-7 {\n  @include fs-7;\n}\n\n.fs-8 {\n  @include fs-8;\n}\n\n.fs-9 {\n  @include fs-9;\n}\n\n.fs-10 {\n  @include fs-10;\n}\n\n.fw-300 {\n  font-weight: 300 !important;\n}\n\n.fw-400 {\n  font-weight: 400 !important;\n}\n\n.fw-500 {\n  font-weight: 500 !important;\n}\n\n.fw-700 {\n  font-weight: 700 !important;\n}\n\n.lh-0 {\n  line-height: 0 !important;\n}\n\n.lh-default {\n  line-height: $body-line-height;\n}\n\n.lh-tight {\n  line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n  letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n  letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n  letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n  padding: 0 !important;\n  margin: 0 !important;\n  list-style: none !important;\n\n  li {\n    &::before {\n      display: none !important;\n    }\n  }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .m-0, .m-1, .m-2...\n  .m-#{$scale} {\n    margin: #{$size} !important;\n  }\n  .mt-#{$scale} {\n    margin-top: #{$size} !important;\n  }\n  .mr-#{$scale} {\n    margin-right: #{$size} !important;\n  }\n  .mb-#{$scale} {\n    margin-bottom: #{$size} !important;\n  }\n  .ml-#{$scale} {\n    margin-left: #{$size} !important;\n  }\n\n  .mx-#{$scale} {\n    margin-right: #{$size} !important;\n    margin-left: #{$size} !important;\n  }\n\n  .my-#{$scale} {\n    margin-top: #{$size} !important;\n    margin-bottom: #{$size} !important;\n  }\n\n  .mxn-#{$scale} {\n    margin-right: -#{$size} !important;\n    margin-left: -#{$size} !important;\n  }\n  .mx-#{$scale}-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .m-sm-0, .m-md-1, .m-lg-2...\n      .m-#{$media-query}-#{$scale} {\n        margin: #{$size} !important;\n      }\n      .mt-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n      }\n      .mr-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n      }\n      .mb-#{$media-query}-#{$scale} {\n        margin-bottom: #{$size} !important;\n      }\n      .ml-#{$media-query}-#{$scale} {\n        margin-left: #{$size} !important;\n      }\n\n      .mx-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n        margin-left: #{$size} !important;\n      }\n\n      .my-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n        margin-bottom: #{$size} !important;\n      }\n\n      .mxn-#{$media-query}-#{$scale} {\n        margin-right: -#{$size} !important;\n        margin-left: -#{$size} !important;\n      }\n    }\n  }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .p-0, .p-1, .p-2...\n  .p-#{$scale} {\n    padding: #{$size} !important;\n  }\n  .pt-#{$scale} {\n    padding-top: #{$size} !important;\n  }\n  .pr-#{$scale} {\n    padding-right: #{$size} !important;\n  }\n  .pb-#{$scale} {\n    padding-bottom: #{$size} !important;\n  }\n  .pl-#{$scale} {\n    padding-left: #{$size} !important;\n  }\n\n  .px-#{$scale} {\n    padding-right: #{$size} !important;\n    padding-left: #{$size} !important;\n  }\n\n  .py-#{$scale} {\n    padding-top: #{$size} !important;\n    padding-bottom: #{$size} !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @include mq($media-query) {\n    @for $i from 1 through length($spacers) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .p-sm-0, .p-md-1, .p-lg-2...\n      .p-#{$media-query}-#{$scale} {\n        padding: #{$size} !important;\n      }\n      .pt-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n      }\n      .pr-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n      }\n      .pb-#{$media-query}-#{$scale} {\n        padding-bottom: #{$size} !important;\n      }\n      .pl-#{$media-query}-#{$scale} {\n        padding-left: #{$size} !important;\n      }\n\n      .px-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n        padding-left: #{$size} !important;\n      }\n\n      .py-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n        padding-bottom: #{$size} !important;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n  .site-footer,\n  .site-button,\n  #edit-this-page,\n  #back-to-top,\n  .site-nav,\n  .main-header {\n    display: none !important;\n  }\n\n  hr {\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n  }\n\n  .side-bar {\n    width: 100%;\n    height: auto;\n    border-right: 0 !important;\n\n    /* Disable display: flex and position: fixed from non-print styles */\n    position: static;\n    display: block;\n  }\n\n  .site-header {\n    border-bottom: 1px solid $border-color;\n  }\n\n  .site-title {\n    font-size: 1rem !important;\n    font-weight: 700 !important;\n  }\n\n  .text-small {\n    font-size: 8pt !important;\n  }\n\n  pre.highlight {\n    border: 1px solid $border-color;\n  }\n\n  .main {\n    max-width: none;\n    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n  }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n  left: -999px;\n  position: absolute;\n  top: auto;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n  color: $link-color;\n  background-color: $body-background-color;\n  left: auto;\n  top: auto;\n  width: 30%;\n  height: auto;\n  overflow: auto;\n  margin: 10px 35%;\n  padding: 5px;\n  border-radius: 15px;\n  border: 4px solid $btn-primary-color;\n  text-align: center;\n  font-size: 1.2em;\n  z-index: 999;\n}\n","\n\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./modules\";\ndiv.opaque {\n  background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n    border: 1px $blue-000 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $blue-300;\n        content: \"Note\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .note-title {\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.note-title, blockquote.note-title {\n    border: 1px $blue-000 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.note {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.note-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.warning, blockquote.warning {\n    border: 1px $red-000 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $red-300;\n        content: \"Warning\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .warning-title {\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.warning-title, blockquote.warning-title {\n    border: 1px $red-000 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.warning {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.warning-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.tip, blockquote.tip {\n    border: 1px $green-000 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $green-300;\n        content: \"Tip\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .tip-title {\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.tip-title, blockquote.tip-title {\n    border: 1px $green-000 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.tip {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.tip-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-default.css"}
\ No newline at end of file
diff --git a/docs/_site/assets/css/just-the-docs-head-nav.css b/docs/_site/assets/css/just-the-docs-head-nav.css
deleted file mode 100644
index 19398f4..0000000
--- a/docs/_site/assets/css/just-the-docs-head-nav.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.site-nav ul li a {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
-}
diff --git a/docs/_site/assets/css/just-the-docs-light.css b/docs/_site/assets/css/just-the-docs-light.css
deleted file mode 100644
index ed5cef9..0000000
--- a/docs/_site/assets/css/just-the-docs-light.css
+++ /dev/null
@@ -1,7511 +0,0 @@
-@charset "UTF-8";
-/*
-generated by accessible-pygments 
-Copyright (c) 2022, Quansight Labs
-Licensed under the BSD license, see LICENSE for details.
---
-generated by Pygments 
-Copyright 2006-2025 by the Pygments team.
-Licensed under the BSD license, see LICENSE for details.
-*/
-.highlight .hll {
-  background-color: rgba(9, 105, 218, 0.2901960784);
-}
-
-.highlight .c {
-  color: #6E7781;
-} /* Comment */
-.highlight .err {
-  color: #CF222E;
-} /* Error */
-.highlight .k {
-  color: #CF222E;
-} /* Keyword */
-.highlight .l {
-  color: #953800;
-} /* Literal */
-.highlight .n {
-  color: #8250DF;
-} /* Name */
-.highlight .o {
-  color: #116329;
-} /* Operator */
-.highlight .p {
-  color: #24292F;
-} /* Punctuation */
-.highlight .ch {
-  color: #6E7781;
-} /* Comment.Hashbang */
-.highlight .cm {
-  color: #6E7781;
-} /* Comment.Multiline */
-.highlight .cp {
-  color: #6E7781;
-} /* Comment.Preproc */
-.highlight .cpf {
-  color: #6E7781;
-} /* Comment.PreprocFile */
-.highlight .c1 {
-  color: #6E7781;
-} /* Comment.Single */
-.highlight .cs {
-  color: #6E7781;
-} /* Comment.Special */
-.highlight .gd {
-  color: #0550AE;
-} /* Generic.Deleted */
-.highlight .ge {
-  font-style: italic;
-} /* Generic.Emph */
-.highlight .gr {
-  color: #CF222E;
-} /* Generic.Error */
-.highlight .gh {
-  color: #0550AE;
-} /* Generic.Heading */
-.highlight .gs {
-  font-weight: bold;
-} /* Generic.Strong */
-.highlight .gu {
-  color: #0550AE;
-} /* Generic.Subheading */
-.highlight .kc {
-  color: #0550AE;
-} /* Keyword.Constant */
-.highlight .kd {
-  color: #CF222E;
-} /* Keyword.Declaration */
-.highlight .kn {
-  color: #CF222E;
-} /* Keyword.Namespace */
-.highlight .kp {
-  color: #CF222E;
-} /* Keyword.Pseudo */
-.highlight .kr {
-  color: #CF222E;
-} /* Keyword.Reserved */
-.highlight .kt {
-  color: #CF222E;
-} /* Keyword.Type */
-.highlight .ld {
-  color: #953800;
-} /* Literal.Date */
-.highlight .m {
-  color: #953800;
-} /* Literal.Number */
-.highlight .s {
-  color: #0550AE;
-} /* Literal.String */
-.highlight .na {
-  color: #953800;
-} /* Name.Attribute */
-.highlight .nb {
-  color: #953800;
-} /* Name.Builtin */
-.highlight .nc {
-  color: #0550AE;
-} /* Name.Class */
-.highlight .no {
-  color: #0550AE;
-} /* Name.Constant */
-.highlight .nd {
-  color: #953800;
-} /* Name.Decorator */
-.highlight .ni {
-  color: #116329;
-} /* Name.Entity */
-.highlight .ne {
-  color: #8250DF;
-} /* Name.Exception */
-.highlight .nf {
-  color: #0550AE;
-} /* Name.Function */
-.highlight .nl {
-  color: #953800;
-} /* Name.Label */
-.highlight .nn {
-  color: #24292F;
-} /* Name.Namespace */
-.highlight .nx {
-  color: #8250DF;
-} /* Name.Other */
-.highlight .py {
-  color: #0550AE;
-} /* Name.Property */
-.highlight .nt {
-  color: #116329;
-} /* Name.Tag */
-.highlight .nv {
-  color: #953800;
-} /* Name.Variable */
-.highlight .ow {
-  color: #8250DF;
-} /* Operator.Word */
-.highlight .pm {
-  color: #24292F;
-} /* Punctuation.Marker */
-.highlight .w {
-  color: #24292F;
-} /* Text.Whitespace */
-.highlight .mb {
-  color: #953800;
-} /* Literal.Number.Bin */
-.highlight .mf {
-  color: #953800;
-} /* Literal.Number.Float */
-.highlight .mh {
-  color: #953800;
-} /* Literal.Number.Hex */
-.highlight .mi {
-  color: #953800;
-} /* Literal.Number.Integer */
-.highlight .mo {
-  color: #953800;
-} /* Literal.Number.Oct */
-.highlight .sa {
-  color: #0550AE;
-} /* Literal.String.Affix */
-.highlight .sb {
-  color: #0550AE;
-} /* Literal.String.Backtick */
-.highlight .sc {
-  color: #0550AE;
-} /* Literal.String.Char */
-.highlight .dl {
-  color: #0550AE;
-} /* Literal.String.Delimiter */
-.highlight .sd {
-  color: #0550AE;
-} /* Literal.String.Doc */
-.highlight .s2 {
-  color: #0550AE;
-} /* Literal.String.Double */
-.highlight .se {
-  color: #0550AE;
-} /* Literal.String.Escape */
-.highlight .sh {
-  color: #0550AE;
-} /* Literal.String.Heredoc */
-.highlight .si {
-  color: #0550AE;
-} /* Literal.String.Interpol */
-.highlight .sx {
-  color: #0550AE;
-} /* Literal.String.Other */
-.highlight .sr {
-  color: #0550AE;
-} /* Literal.String.Regex */
-.highlight .s1 {
-  color: #0550AE;
-} /* Literal.String.Single */
-.highlight .ss {
-  color: #0550AE;
-} /* Literal.String.Symbol */
-.highlight .bp {
-  color: #953800;
-} /* Name.Builtin.Pseudo */
-.highlight .fm {
-  color: #0550AE;
-} /* Name.Function.Magic */
-.highlight .vc {
-  color: #953800;
-} /* Name.Variable.Class */
-.highlight .vg {
-  color: #953800;
-} /* Name.Variable.Global */
-.highlight .vi {
-  color: #953800;
-} /* Name.Variable.Instance */
-.highlight .vm {
-  color: #953800;
-} /* Name.Variable.Magic */
-.highlight .il {
-  color: #953800;
-} /* Literal.Number.Integer.Long */
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-/* Document
-   ========================================================================== */
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-html {
-  line-height: 1.15; /* 1 */
-  text-size-adjust: 100%; /* 2 */
-}
-
-/* Sections
-   ========================================================================== */
-/**
- * Remove the margin in all browsers.
- */
-body {
-  margin: 0;
-}
-
-/**
- * Render the `main` element consistently in IE.
- */
-main {
-  display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/* Grouping content
-   ========================================================================== */
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
-  box-sizing: content-box; /* 1 */
-  height: 0; /* 1 */
-  overflow: visible; /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/* Text-level semantics
-   ========================================================================== */
-/**
- * Remove the gray background on active links in IE 10.
- */
-a {
-  background-color: transparent;
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57-
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-abbr[title] {
-  border-bottom: none; /* 1 */
-  text-decoration: underline; /* 2 */
-  text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
-  font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
-  font-family: monospace; /* 1 */
-  font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-/* Embedded content
-   ========================================================================== */
-/**
- * Remove the border on images inside links in IE 10.
- */
-img {
-  border-style: none;
-}
-
-/* Forms
-   ========================================================================== */
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-button,
-input,
-optgroup,
-select,
-textarea {
-  font-family: inherit; /* 1 */
-  font-size: 100%; /* 1 */
-  line-height: 1.15; /* 1 */
-  margin: 0; /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-button,
-input {
-  /* 1 */
-  overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button,
-select {
-  /* 1 */
-  text-transform: none;
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-[type=button],
-[type=reset],
-[type=submit] {
-  appearance: auto;
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-button::-moz-focus-inner,
-[type=button]::-moz-focus-inner,
-[type=reset]::-moz-focus-inner,
-[type=submit]::-moz-focus-inner {
-  border-style: none;
-  padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-button:-moz-focusring,
-[type=button]:-moz-focusring,
-[type=reset]:-moz-focusring,
-[type=submit]:-moz-focusring {
-  outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
-  padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- *    `fieldset` elements in all browsers.
- */
-legend {
-  box-sizing: border-box; /* 1 */
-  color: inherit; /* 2 */
-  display: table; /* 1 */
-  max-width: 100%; /* 1 */
-  padding: 0; /* 3 */
-  white-space: normal; /* 1 */
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
-  vertical-align: baseline;
-}
-
-/**
- * Remove the default vertical scrollbar in IE 10+.
- */
-textarea {
-  overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10.
- * 2. Remove the padding in IE 10.
- */
-[type=checkbox],
-[type=radio] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-[type=number]::-webkit-inner-spin-button,
-[type=number]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type=search] {
-  appearance: textfield; /* 1 */
-  outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-[type=search]::-webkit-search-decoration {
-  appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
-  appearance: auto; /* 1 */
-  font: inherit; /* 2 */
-}
-
-/* Interactive
-   ========================================================================== */
-/*
- * Add the correct display in Edge, IE 10+, and Firefox.
- */
-details {
-  display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
-  display: list-item;
-}
-
-/* Misc
-   ========================================================================== */
-/**
- * Add the correct display in IE 10+.
- */
-template {
-  display: none;
-}
-
-/**
- * Add the correct display in IE 10.
- */
-[hidden] {
-  display: none;
-}
-
-:root {
-  color-scheme: light;
-}
-
-* {
-  box-sizing: border-box;
-}
-
-html {
-  scroll-behavior: smooth;
-}
-html {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  html {
-    font-size: 1rem !important;
-  }
-}
-
-body {
-  font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Segoe UI Emoji";
-  font-size: inherit;
-  line-height: 1.4;
-  color: #5c5962;
-  background-color: #fff;
-  overflow-wrap: break-word;
-}
-
-ol,
-ul,
-dl,
-pre,
-address,
-blockquote,
-table,
-div,
-hr,
-form,
-fieldset,
-noscript .table-wrapper {
-  margin-top: 0;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-#toctitle {
-  margin-top: 0;
-  margin-bottom: 1em;
-  font-weight: 500;
-  line-height: 1.25;
-  color: #27262b;
-}
-
-p {
-  margin-top: 1em;
-  margin-bottom: 1em;
-}
-
-a {
-  color: #7253ed;
-  text-decoration: none;
-}
-
-a:not([class]) {
-  text-decoration: underline;
-  text-decoration-color: #eeebee;
-  text-underline-offset: 2px;
-}
-a:not([class]):hover {
-  text-decoration-color: rgba(114, 83, 237, 0.45);
-}
-
-code {
-  font-family: "SFMono-Regular", menlo, consolas, monospace;
-  font-size: 0.75em;
-  line-height: 1.4;
-}
-
-figure,
-pre {
-  margin: 0;
-}
-
-li {
-  margin: 0.25em 0;
-}
-
-img {
-  max-width: 100%;
-  height: auto;
-}
-
-hr {
-  height: 1px;
-  padding: 0;
-  margin: 2rem 0;
-  background-color: #eeebee;
-  border: 0;
-}
-
-blockquote {
-  margin: 10px 0;
-  margin-block-start: 0;
-  margin-inline-start: 0;
-  padding-left: 1rem;
-  border-left: 3px solid #eeebee;
-}
-
-.side-bar {
-  z-index: 0;
-  display: flex;
-  flex-wrap: wrap;
-  background-color: #f5f6fa;
-}
-@media (min-width: 50rem) {
-  .side-bar {
-    flex-flow: column nowrap;
-    position: fixed;
-    width: 15.5rem;
-    height: 100%;
-    border-right: 1px solid #eeebee;
-    align-items: flex-end;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar {
-    width: calc((100% - 66.5rem) / 2 + 16.5rem);
-    min-width: 16.5rem;
-  }
-}
-@media (min-width: 50rem) {
-  .side-bar + .main {
-    margin-left: 15.5rem;
-  }
-}
-@media (min-width: 66.5rem) {
-  .side-bar + .main {
-    margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem);
-  }
-}
-.side-bar + .main .main-header {
-  display: none;
-  background-color: #f5f6fa;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header {
-    display: flex;
-    background-color: #fff;
-  }
-}
-.side-bar + .main .main-header.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .side-bar + .main .main-header.nav-open {
-    display: flex;
-  }
-}
-
-.main {
-  margin: auto;
-}
-@media (min-width: 50rem) {
-  .main {
-    position: relative;
-    max-width: 50rem;
-  }
-}
-
-.main-content-wrap {
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-@media (min-width: 50rem) {
-  .main-content-wrap {
-    padding-top: 2rem;
-    padding-bottom: 2rem;
-  }
-}
-
-.main-header {
-  z-index: 0;
-  border-bottom: 1px solid #eeebee;
-}
-@media (min-width: 50rem) {
-  .main-header {
-    display: flex;
-    justify-content: space-between;
-    height: 3.75rem;
-  }
-}
-
-.site-nav,
-.site-header,
-.site-footer {
-  width: 100%;
-}
-@media (min-width: 66.5rem) {
-  .site-nav,
-  .site-header,
-  .site-footer {
-    width: 16.5rem;
-  }
-}
-
-.site-nav {
-  display: none;
-}
-.site-nav.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .site-nav {
-    display: block;
-    padding-top: 3rem;
-    padding-bottom: 1rem;
-    overflow-y: auto;
-    flex: 1 1 auto;
-  }
-}
-
-.site-header {
-  display: flex;
-  min-height: 3.75rem;
-  align-items: center;
-}
-@media (min-width: 50rem) {
-  .site-header {
-    height: 3.75rem;
-    max-height: 3.75rem;
-    border-bottom: 1px solid #eeebee;
-  }
-}
-
-.site-title {
-  flex-grow: 1;
-  display: flex;
-  height: 100%;
-  align-items: center;
-  padding-top: 0.75rem;
-  padding-bottom: 0.75rem;
-  color: #27262b;
-  outline-offset: -1px;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-title {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-title {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-@media (min-width: 50rem) {
-  .site-title {
-    padding-top: 0.5rem;
-    padding-bottom: 0.5rem;
-  }
-}
-
-.site-button {
-  display: flex;
-  height: 100%;
-  padding: 1rem;
-  align-items: center;
-  outline-offset: -1px;
-}
-
-@media (min-width: 50rem) {
-  .site-header .site-button {
-    display: none;
-  }
-}
-.site-title:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
-}
-
-.site-button:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%);
-}
-
-.site-footer {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  padding-top: 1rem;
-  padding-bottom: 1rem;
-  padding-right: 1rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.site-footer {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .site-footer {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .site-footer {
-    position: static;
-    justify-self: end;
-  }
-}
-
-.icon {
-  width: 1.5rem;
-  height: 1.5rem;
-  color: #7253ed;
-}
-
-.main-content {
-  line-height: 1.6;
-}
-.main-content ol,
-.main-content ul,
-.main-content dl,
-.main-content pre,
-.main-content address,
-.main-content blockquote,
-.main-content .table-wrapper {
-  margin-top: 0.5em;
-}
-.main-content a {
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-.main-content ul,
-.main-content ol {
-  padding-left: 1.5em;
-}
-.main-content li .highlight {
-  margin-top: 0.25rem;
-}
-.main-content ol {
-  list-style-type: none;
-  counter-reset: step-counter;
-}
-.main-content ol > li {
-  position: relative;
-}
-.main-content ol > li::before {
-  position: absolute;
-  top: 0.2em;
-  left: -1.6em;
-  color: #959396;
-  content: counter(step-counter);
-  counter-increment: step-counter;
-}
-.main-content ol > li::before {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .main-content ol > li::before {
-    top: 0.11em;
-  }
-}
-.main-content ol > li ol {
-  counter-reset: sub-counter;
-}
-.main-content ol > li ol > li::before {
-  content: counter(sub-counter, lower-alpha);
-  counter-increment: sub-counter;
-}
-.main-content ul {
-  list-style: none;
-}
-.main-content ul > li::before {
-  position: absolute;
-  margin-left: -1.4em;
-  color: #959396;
-  content: "•";
-}
-.main-content .task-list-item::before {
-  content: "";
-}
-.main-content .task-list-item-checkbox {
-  margin-right: 0.6em;
-  margin-left: -1.4em;
-}
-.main-content hr + * {
-  margin-top: 0;
-}
-.main-content h1:first-of-type {
-  margin-top: 0.5em;
-}
-.main-content dl {
-  display: grid;
-  grid-template: auto/10em 1fr;
-}
-.main-content dt,
-.main-content dd {
-  margin: 0.25em 0;
-}
-.main-content dt {
-  grid-column: 1;
-  font-weight: 500;
-  text-align: right;
-}
-.main-content dt::after {
-  content: ":";
-}
-.main-content dd {
-  grid-column: 2;
-  margin-bottom: 0;
-  margin-left: 1em;
-}
-.main-content dd blockquote:first-child,
-.main-content dd div:first-child,
-.main-content dd dl:first-child,
-.main-content dd dt:first-child,
-.main-content dd h1:first-child,
-.main-content dd h2:first-child,
-.main-content dd h3:first-child,
-.main-content dd h4:first-child,
-.main-content dd h5:first-child,
-.main-content dd h6:first-child,
-.main-content dd li:first-child,
-.main-content dd ol:first-child,
-.main-content dd p:first-child,
-.main-content dd pre:first-child,
-.main-content dd table:first-child,
-.main-content dd ul:first-child,
-.main-content dd .table-wrapper:first-child {
-  margin-top: 0;
-}
-.main-content dd dl:first-child dt:first-child,
-.main-content dd dl:first-child dd:nth-child(2),
-.main-content ol dl:first-child dt:first-child,
-.main-content ol dl:first-child dd:nth-child(2),
-.main-content ul dl:first-child dt:first-child,
-.main-content ul dl:first-child dd:nth-child(2) {
-  margin-top: 0;
-}
-.main-content .anchor-heading {
-  position: absolute;
-  right: -1rem;
-  width: 1.5rem;
-  height: 100%;
-  padding-right: 0.25rem;
-  padding-left: 0.25rem;
-  overflow: visible;
-}
-@media (min-width: 50rem) {
-  .main-content .anchor-heading {
-    right: auto;
-    left: -1.5rem;
-  }
-}
-.main-content .anchor-heading svg {
-  display: inline-block;
-  width: 100%;
-  height: 100%;
-  color: #7253ed;
-  visibility: hidden;
-}
-.main-content .anchor-heading:hover svg,
-.main-content .anchor-heading:focus svg,
-.main-content h1:hover > .anchor-heading svg,
-.main-content h2:hover > .anchor-heading svg,
-.main-content h3:hover > .anchor-heading svg,
-.main-content h4:hover > .anchor-heading svg,
-.main-content h5:hover > .anchor-heading svg,
-.main-content h6:hover > .anchor-heading svg {
-  visibility: visible;
-}
-.main-content summary {
-  cursor: pointer;
-}
-.main-content h1,
-.main-content h2,
-.main-content h3,
-.main-content h4,
-.main-content h5,
-.main-content h6,
-.main-content #toctitle {
-  position: relative;
-  margin-top: 1.5em;
-  margin-bottom: 0.25em;
-}
-.main-content h1 + table,
-.main-content h1 + .table-wrapper,
-.main-content h1 + .code-example,
-.main-content h1 + .highlighter-rouge,
-.main-content h1 + .sectionbody .listingblock,
-.main-content h2 + table,
-.main-content h2 + .table-wrapper,
-.main-content h2 + .code-example,
-.main-content h2 + .highlighter-rouge,
-.main-content h2 + .sectionbody .listingblock,
-.main-content h3 + table,
-.main-content h3 + .table-wrapper,
-.main-content h3 + .code-example,
-.main-content h3 + .highlighter-rouge,
-.main-content h3 + .sectionbody .listingblock,
-.main-content h4 + table,
-.main-content h4 + .table-wrapper,
-.main-content h4 + .code-example,
-.main-content h4 + .highlighter-rouge,
-.main-content h4 + .sectionbody .listingblock,
-.main-content h5 + table,
-.main-content h5 + .table-wrapper,
-.main-content h5 + .code-example,
-.main-content h5 + .highlighter-rouge,
-.main-content h5 + .sectionbody .listingblock,
-.main-content h6 + table,
-.main-content h6 + .table-wrapper,
-.main-content h6 + .code-example,
-.main-content h6 + .highlighter-rouge,
-.main-content h6 + .sectionbody .listingblock,
-.main-content #toctitle + table,
-.main-content #toctitle + .table-wrapper,
-.main-content #toctitle + .code-example,
-.main-content #toctitle + .highlighter-rouge,
-.main-content #toctitle + .sectionbody .listingblock {
-  margin-top: 1em;
-}
-.main-content h1 + p:not(.label),
-.main-content h2 + p:not(.label),
-.main-content h3 + p:not(.label),
-.main-content h4 + p:not(.label),
-.main-content h5 + p:not(.label),
-.main-content h6 + p:not(.label),
-.main-content #toctitle + p:not(.label) {
-  margin-top: 0;
-}
-.main-content > h1:first-child,
-.main-content > h2:first-child,
-.main-content > h3:first-child,
-.main-content > h4:first-child,
-.main-content > h5:first-child,
-.main-content > h6:first-child,
-.main-content > .sect1:first-child > h2,
-.main-content > .sect2:first-child > h3,
-.main-content > .sect3:first-child > h4,
-.main-content > .sect4:first-child > h5,
-.main-content > .sect5:first-child > h6 {
-  margin-top: 0.5rem;
-}
-
-.nav-list {
-  padding: 0;
-  margin-top: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-.nav-list .nav-list-item {
-  position: relative;
-  margin: 0;
-}
-.nav-list .nav-list-item {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .nav-list .nav-list-item {
-    font-size: 0.875rem !important;
-  }
-}
-.nav-list .nav-list-item .nav-list-link {
-  display: block;
-  min-height: 3rem;
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-  line-height: 2.5rem;
-  outline-offset: -1px;
-  padding-right: 3rem;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-link {
-    min-height: 2rem;
-    line-height: 1.5rem;
-    padding-right: 2rem;
-    padding-left: 2rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-link.external > svg {
-  width: 1rem;
-  height: 1rem;
-  vertical-align: text-bottom;
-}
-.nav-list .nav-list-item .nav-list-link.active {
-  font-weight: 600;
-  text-decoration: none;
-}
-.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active {
-  color: rgb(95.0763157895, 59.9157894737, 234.5842105263);
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander {
-  position: absolute;
-  right: 0;
-  width: 3rem;
-  height: 3rem;
-  padding: 0.75rem;
-  color: #7253ed;
-  outline-offset: -1px;
-}
-@media (min-width: 50rem) {
-  .nav-list .nav-list-item .nav-list-expander {
-    width: 2rem;
-    height: 2rem;
-    padding: 0.5rem;
-  }
-}
-.nav-list .nav-list-item .nav-list-expander:hover {
-  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 100%);
-}
-.nav-list .nav-list-item .nav-list-expander svg {
-  transform: rotate(90deg);
-}
-.nav-list .nav-list-item > .nav-list {
-  display: none;
-  padding-left: 0.75rem;
-  list-style: none;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item {
-  position: relative;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link {
-  color: #5c5962;
-}
-.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander {
-  color: #5c5962;
-}
-.nav-list .nav-list-item.active > .nav-list-expander svg {
-  transform: rotate(-90deg);
-}
-.nav-list .nav-list-item.active > .nav-list {
-  display: block;
-}
-
-.nav-category {
-  padding: 0.5rem 1rem;
-  font-weight: 600;
-  text-align: start;
-  text-transform: uppercase;
-  border-bottom: 1px solid #eeebee;
-}
-.nav-category {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .nav-category {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .nav-category {
-    padding: 0.5rem 2rem;
-    margin-top: 1rem;
-    text-align: start;
-  }
-  .nav-category:first-child {
-    margin-top: 0;
-  }
-}
-
-.nav-list.nav-category-list > .nav-list-item {
-  margin: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list {
-  padding: 0;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link {
-  color: #7253ed;
-}
-.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander {
-  color: #7253ed;
-}
-
-.aux-nav {
-  height: 100%;
-  overflow-x: auto;
-}
-.aux-nav {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .aux-nav {
-    font-size: 0.75rem !important;
-  }
-}
-.aux-nav .aux-nav-list {
-  display: flex;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-  list-style: none;
-}
-.aux-nav .aux-nav-list-item {
-  display: inline-block;
-  height: 100%;
-  padding: 0;
-  margin: 0;
-}
-@media (min-width: 50rem) {
-  .aux-nav {
-    padding-right: 1rem;
-  }
-}
-
-@media (min-width: 50rem) {
-  .breadcrumb-nav {
-    margin-top: -1rem;
-  }
-}
-
-.breadcrumb-nav-list {
-  padding-left: 0;
-  margin-bottom: 0.75rem;
-  list-style: none;
-}
-
-.breadcrumb-nav-list-item {
-  display: table-cell;
-}
-.breadcrumb-nav-list-item {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .breadcrumb-nav-list-item {
-    font-size: 0.75rem !important;
-  }
-}
-.breadcrumb-nav-list-item::before {
-  display: none;
-}
-.breadcrumb-nav-list-item::after {
-  display: inline-block;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #959396;
-  content: "/";
-}
-.breadcrumb-nav-list-item:last-child::after {
-  content: "";
-}
-
-h1,
-.text-alpha {
-  font-weight: 300;
-}
-h1,
-.text-alpha {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  h1,
-  .text-alpha {
-    font-size: 2.25rem !important;
-  }
-}
-
-h2,
-.text-beta,
-#toctitle {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  h2,
-  .text-beta,
-  #toctitle {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-h3,
-.text-gamma {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  h3,
-  .text-gamma {
-    font-size: 1.125rem !important;
-  }
-}
-
-h4,
-.text-delta {
-  font-weight: 400;
-  text-transform: uppercase;
-  letter-spacing: 0.1em;
-}
-h4,
-.text-delta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h4,
-  .text-delta {
-    font-size: 0.75rem !important;
-  }
-}
-
-h4 code {
-  text-transform: none;
-}
-
-h5,
-.text-epsilon {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  h5,
-  .text-epsilon {
-    font-size: 0.875rem !important;
-  }
-}
-
-h6,
-.text-zeta {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  h6,
-  .text-zeta {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-small {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .text-small {
-    font-size: 0.75rem !important;
-  }
-}
-
-.text-mono {
-  font-family: "SFMono-Regular", menlo, consolas, monospace !important;
-}
-
-.text-left {
-  text-align: left !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-.text-right {
-  text-align: right !important;
-}
-
-.label:not(g),
-.label-blue:not(g) {
-  display: inline-block;
-  padding: 0.16em 0.56em;
-  margin-right: 0.5rem;
-  margin-left: 0.5rem;
-  color: #fff;
-  text-transform: uppercase;
-  vertical-align: middle;
-  background-color: #2869e6;
-  border-radius: 12px;
-}
-.label:not(g),
-.label-blue:not(g) {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .label:not(g),
-  .label-blue:not(g) {
-    font-size: 0.75rem !important;
-  }
-}
-
-.label-green:not(g) {
-  background-color: #026e57;
-}
-
-.label-purple:not(g) {
-  background-color: #5e41d0;
-}
-
-.label-red:not(g) {
-  background-color: #dd2e2e;
-}
-
-.label-yellow:not(g) {
-  color: #44434d;
-  background-color: #f7d12e;
-}
-
-.btn {
-  display: inline-block;
-  box-sizing: border-box;
-  padding: 0.3em 1em;
-  margin: 0;
-  font-family: inherit;
-  font-size: inherit;
-  font-weight: 500;
-  line-height: 1.5;
-  color: #7253ed;
-  text-decoration: none;
-  vertical-align: baseline;
-  cursor: pointer;
-  background-color: #f7f7f7;
-  border-width: 0;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  appearance: none;
-}
-.btn:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:focus:hover, .btn.selected:focus {
-  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn:hover, .btn.zeroclipboard-is-hover {
-  color: rgb(106.4305263158, 73.7663157895, 236.0336842105);
-}
-.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active {
-  text-decoration: none;
-  background-color: rgb(244.45, 244.45, 244.45);
-}
-.btn:active, .btn.selected, .btn.zeroclipboard-is-active {
-  background-color: rgb(239.35, 239.35, 239.35);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn.selected:hover {
-  background-color: rgb(207.25, 207.25, 207.25);
-}
-.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover {
-  color: rgba(102, 102, 102, 0.5);
-  cursor: default;
-  background-color: rgba(229, 229, 229, 0.5);
-  background-image: none;
-  box-shadow: none;
-}
-
-.btn-outline {
-  color: #7253ed;
-  background: transparent;
-  box-shadow: inset 0 0 0 2px #e6e1e8;
-}
-.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active {
-  color: rgb(98.8610526316, 64.5326315789, 235.0673684211);
-  text-decoration: none;
-  background-color: transparent;
-  box-shadow: inset 0 0 0 3px #e6e1e8;
-}
-.btn-outline:focus {
-  text-decoration: none;
-  outline: none;
-  box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25);
-}
-.btn-outline:focus:hover, .btn-outline.selected:focus {
-  box-shadow: inset 0 0 0 2px #5c5962;
-}
-
-.btn-primary {
-  color: #fff;
-  background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899);
-  background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-primary:hover, .btn-primary.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139);
-  background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139));
-}
-.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active {
-  background-color: rgb(79.3670886076, 49.082278481, 198.417721519);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-primary.selected:hover {
-  background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443);
-}
-
-.btn-purple {
-  color: #fff;
-  background-color: rgb(87.0708860759, 56.8227848101, 205.9772151899);
-  background-image: linear-gradient(rgb(111.3227848101, 85.4430379747, 213.0569620253), rgb(87.0708860759, 56.8227848101, 205.9772151899));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-purple:hover, .btn-purple.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(81.0025316456, 50.0936708861, 202.5063291139);
-  background-image: linear-gradient(rgb(100.9291139241, 73.1772151899, 210.0227848101), rgb(81.0025316456, 50.0936708861, 202.5063291139));
-}
-.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active {
-  background-color: rgb(79.3670886076, 49.082278481, 198.417721519);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-purple.selected:hover {
-  background-color: rgb(71.1898734177, 44.0253164557, 177.9746835443);
-}
-
-.btn-blue {
-  color: #fff;
-  background-color: rgb(36.1802816901, 72.3605633803, 166.6197183099);
-  background-image: linear-gradient(rgb(42.5492957746, 85.0985915493, 195.9507042254), rgb(36.1802816901, 72.3605633803, 166.6197183099));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-blue:hover, .btn-blue.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(34.3605633803, 68.7211267606, 158.2394366197);
-  background-image: linear-gradient(rgb(39.8197183099, 79.6394366197, 183.3802816901), rgb(34.3605633803, 68.7211267606, 158.2394366197));
-}
-.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active {
-  background-color: rgb(33.4507042254, 66.9014084507, 154.0492957746);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-blue.selected:hover {
-  background-color: rgb(28.9014084507, 57.8028169014, 133.0985915493);
-}
-
-.btn-green {
-  color: #fff;
-  background-color: rgb(1.8178571429, 99.9821428571, 79.0767857143);
-  background-image: linear-gradient(rgb(2.4553571429, 135.0446428571, 106.8080357143), rgb(1.8178571429, 99.9821428571, 79.0767857143));
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
-}
-.btn-green:hover, .btn-green.zeroclipboard-is-hover {
-  color: #fff;
-  background-color: rgb(1.6357142857, 89.9642857143, 71.1535714286);
-  background-image: linear-gradient(rgb(2.1821428571, 120.0178571429, 94.9232142857), rgb(1.6357142857, 89.9642857143, 71.1535714286));
-}
-.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active {
-  background-color: rgb(1.5446428571, 84.9553571429, 67.1919642857);
-  background-image: none;
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
-}
-.btn-green.selected:hover {
-  background-color: rgb(1.0892857143, 59.9107142857, 47.3839285714);
-}
-
-.btn-reset {
-  background: none;
-  border: none;
-  margin: 0;
-  text-align: inherit;
-  font: inherit;
-  border-radius: 0;
-  appearance: none;
-}
-
-.search {
-  position: relative;
-  z-index: 2;
-  flex-grow: 1;
-  height: 4rem;
-  padding: 0.5rem;
-  transition: padding linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search {
-    position: relative !important;
-    width: auto !important;
-    height: 100% !important;
-    padding: 0;
-    transition: none;
-  }
-}
-
-.search-input-wrap {
-  position: relative;
-  z-index: 1;
-  height: 3rem;
-  overflow: hidden;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  transition: height linear 200ms;
-}
-@media (min-width: 50rem) {
-  .search-input-wrap {
-    position: absolute;
-    width: 100%;
-    max-width: 33.5rem;
-    height: 100% !important;
-    border-radius: 0;
-    box-shadow: none;
-    transition: width ease 400ms;
-  }
-}
-
-.search-input {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  padding: 0.5rem 1rem 0.5rem 2.5rem;
-  font-size: 1rem;
-  color: #5c5962;
-  background-color: #fff;
-  border-top: 0;
-  border-right: 0;
-  border-bottom: 0;
-  border-left: 0;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-input {
-    padding: 0.5rem 1rem 0.5rem 3.5rem;
-    font-size: 0.875rem;
-    background-color: #fff;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-input:focus {
-  outline-offset: -1px;
-}
-.search-input:focus + .search-label .search-icon {
-  color: #7253ed;
-}
-
-.search-label {
-  position: absolute;
-  display: flex;
-  height: 100%;
-  padding-left: 1rem;
-}
-@media (min-width: 50rem) {
-  .search-label {
-    padding-left: 2rem;
-    transition: padding-left linear 200ms;
-  }
-}
-.search-label .search-icon {
-  width: 1.2rem;
-  height: 1.2rem;
-  align-self: center;
-  color: #959396;
-}
-
-.search-results {
-  position: absolute;
-  left: 0;
-  display: none;
-  width: 100%;
-  max-height: calc(100% - 4rem);
-  overflow-y: auto;
-  background-color: #fff;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-@media (min-width: 50rem) {
-  .search-results {
-    top: 100%;
-    width: 33.5rem;
-    max-height: calc(100vh - 200%) !important;
-  }
-}
-
-.search-results-list {
-  padding-left: 0;
-  margin-bottom: 0.25rem;
-  list-style: none;
-}
-.search-results-list {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-results-list {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-results-list {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-results-list-item {
-  padding: 0;
-  margin: 0;
-}
-
-.search-result {
-  display: block;
-  padding: 0.25rem 0.75rem;
-  outline-offset: -1px;
-}
-.search-result:hover, .search-result.active {
-  background-color: rgb(234.8, 236.82, 244.9);
-}
-
-.search-result-title {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-@media (min-width: 31.25rem) {
-  .search-result-title {
-    display: inline-block;
-    width: 40%;
-    padding-right: 0.5rem;
-    vertical-align: top;
-  }
-}
-
-.search-result-doc {
-  display: flex;
-  align-items: center;
-  overflow-wrap: break-word;
-}
-.search-result-doc.search-result-doc-parent {
-  opacity: 0.5;
-}
-.search-result-doc.search-result-doc-parent {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.875rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.6875rem !important;
-  }
-}
-@media (min-width: 50rem) and (min-width: 31.25rem) {
-  .search-result-doc.search-result-doc-parent {
-    font-size: 0.75rem !important;
-  }
-}
-.search-result-doc .search-result-icon {
-  width: 1rem;
-  height: 1rem;
-  margin-right: 0.5rem;
-  color: #7253ed;
-  flex-shrink: 0;
-}
-.search-result-doc .search-result-doc-title {
-  overflow: auto;
-}
-
-.search-result-section {
-  margin-left: 1.5rem;
-  overflow-wrap: break-word;
-}
-
-.search-result-rel-url {
-  display: block;
-  margin-left: 1.5rem;
-  overflow: hidden;
-  color: #5c5962;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.search-result-rel-url {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-rel-url {
-    font-size: 0.625rem !important;
-  }
-}
-
-.search-result-previews {
-  display: block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  padding-left: 1rem;
-  margin-left: 0.5rem;
-  color: #5c5962;
-  overflow-wrap: break-word;
-  border-left: 1px solid;
-  border-left-color: #eeebee;
-}
-.search-result-previews {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    font-size: 0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .search-result-previews {
-    display: inline-block;
-    width: 60%;
-    padding-left: 0.5rem;
-    margin-left: 0;
-    vertical-align: top;
-  }
-}
-
-.search-result-preview + .search-result-preview {
-  margin-top: 0.25rem;
-}
-
-.search-result-highlight {
-  font-weight: bold;
-}
-
-.search-no-result {
-  padding: 0.5rem 0.75rem;
-}
-.search-no-result {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .search-no-result {
-    font-size: 0.875rem !important;
-  }
-}
-
-.search-button {
-  position: fixed;
-  right: 1rem;
-  bottom: 1rem;
-  display: flex;
-  width: 3.5rem;
-  height: 3.5rem;
-  background-color: #fff;
-  border: 1px solid rgba(114, 83, 237, 0.3);
-  border-radius: 1.75rem;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  align-items: center;
-  justify-content: center;
-}
-
-.search-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1;
-  width: 0;
-  height: 0;
-  background-color: rgba(0, 0, 0, 0.3);
-  opacity: 0;
-  transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms;
-}
-
-.search-active .search {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  padding: 0;
-}
-.search-active .search-input-wrap {
-  height: 4rem;
-  border-radius: 0;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input-wrap {
-    width: 33.5rem;
-    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  }
-}
-.search-active .search-input {
-  background-color: #fff;
-}
-@media (min-width: 50rem) {
-  .search-active .search-input {
-    padding-left: 2.3rem;
-  }
-}
-@media (min-width: 50rem) {
-  .search-active .search-label {
-    padding-left: 0.6rem;
-  }
-}
-.search-active .search-results {
-  display: block;
-}
-.search-active .search-overlay {
-  width: 100%;
-  height: 100%;
-  opacity: 1;
-  transition: opacity ease 400ms, width 0s, height 0s;
-}
-@media (min-width: 50rem) {
-  .search-active .main {
-    position: fixed;
-    right: 0;
-    left: 0;
-  }
-}
-.search-active .main-header {
-  padding-top: 4rem;
-}
-@media (min-width: 50rem) {
-  .search-active .main-header {
-    padding-top: 0;
-  }
-}
-
-.table-wrapper {
-  display: block;
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 1.5rem;
-  overflow-x: auto;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-}
-
-table {
-  display: table;
-  min-width: 100%;
-  border-collapse: separate;
-}
-
-th,
-td {
-  min-width: 7.5rem;
-  padding: 0.5rem 0.75rem;
-  background-color: #fff;
-  border-bottom: 1px solid rgba(238, 235, 238, 0.5);
-  border-left: 1px solid #eeebee;
-}
-th,
-td {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  th,
-  td {
-    font-size: 0.875rem !important;
-  }
-}
-th:first-of-type,
-td:first-of-type {
-  border-left: 0;
-}
-
-tbody tr:last-of-type th,
-tbody tr:last-of-type td {
-  border-bottom: 0;
-}
-tbody tr:last-of-type td {
-  padding-bottom: 0.75rem;
-}
-
-thead th {
-  border-bottom: 1px solid #eeebee;
-}
-
-:not(pre, figure) > code {
-  padding: 0.2em 0.15em;
-  font-weight: 400;
-  background-color: #fff;
-  border: 1px solid #eeebee;
-  border-radius: 4px;
-}
-
-a:visited code {
-  border-color: #eeebee;
-}
-
-div.highlighter-rouge,
-div.listingblock > div.content,
-figure.highlight {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-  background-color: #fff;
-  border-radius: 4px;
-  box-shadow: none;
-  -webkit-overflow-scrolling: touch;
-  position: relative;
-  padding: 0;
-}
-div.highlighter-rouge > button,
-div.listingblock > div.content > button,
-figure.highlight > button {
-  width: 0.75rem;
-  opacity: 0;
-  position: absolute;
-  top: 0;
-  right: 0;
-  padding: 0.75rem;
-  border: none;
-  background: none;
-  color: #5c5962;
-  box-sizing: content-box;
-}
-div.highlighter-rouge > button svg,
-div.listingblock > div.content > button svg,
-figure.highlight > button svg {
-  fill: #5c5962;
-}
-div.highlighter-rouge > button:active,
-div.listingblock > div.content > button:active,
-figure.highlight > button:active {
-  text-decoration: none;
-  outline: none;
-  opacity: 1;
-}
-div.highlighter-rouge > button:focus,
-div.listingblock > div.content > button:focus,
-figure.highlight > button:focus {
-  opacity: 1;
-  outline: 2px solid #7253ed;
-}
-div.highlighter-rouge:hover > button,
-div.listingblock > div.content:hover > button,
-figure.highlight:hover > button {
-  cursor: copy;
-  opacity: 1;
-}
-
-div.highlighter-rouge div.highlight {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-div.highlighter-rouge pre.highlight,
-div.highlighter-rouge code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-div.listingblock {
-  margin-top: 0;
-  margin-bottom: 0.75rem;
-}
-div.listingblock div.content {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-div.listingblock div.content > pre,
-div.listingblock code {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-figure.highlight pre,
-figure.highlight :not(pre) > code {
-  overflow-x: auto;
-  padding: 0.75rem;
-  margin: 0;
-  border: 1px solid #5c5962;
-  border-radius: 4px;
-}
-
-.highlight .table-wrapper {
-  padding: 0.75rem 0;
-  margin: 0;
-  border: 0;
-  box-shadow: none;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  min-width: 0;
-  padding: 0;
-  background-color: #fff;
-  border: 0;
-}
-.highlight .table-wrapper td,
-.highlight .table-wrapper pre {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .highlight .table-wrapper td,
-  .highlight .table-wrapper pre {
-    font-size: 0.75rem !important;
-  }
-}
-.highlight .table-wrapper td.gl {
-  width: 1em;
-  padding-right: 0.75rem;
-  padding-left: 0.75rem;
-}
-.highlight .table-wrapper pre {
-  margin: 0;
-  line-height: 2;
-}
-
-.code-example,
-.listingblock > .title {
-  padding: 0.75rem;
-  margin-bottom: 0.75rem;
-  overflow: auto;
-  border: 1px solid #eeebee;
-  border-radius: 4px;
-}
-.code-example + .highlighter-rouge,
-.code-example + .sectionbody .listingblock,
-.code-example + .content,
-.code-example + figure.highlight,
-.listingblock > .title + .highlighter-rouge,
-.listingblock > .title + .sectionbody .listingblock,
-.listingblock > .title + .content,
-.listingblock > .title + figure.highlight {
-  position: relative;
-  margin-top: -1rem;
-  border-right: 1px solid #eeebee;
-  border-bottom: 1px solid #eeebee;
-  border-left: 1px solid #eeebee;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-
-code.language-mermaid {
-  padding: 0;
-  background-color: inherit;
-  border: 0;
-}
-
-.highlight,
-pre.highlight {
-  background: #fff;
-  color: #5c5962;
-}
-
-.highlight pre {
-  background: #fff;
-}
-
-.text-grey-dk-000 {
-  color: #959396 !important;
-}
-
-.text-grey-dk-100 {
-  color: #5c5962 !important;
-}
-
-.text-grey-dk-200 {
-  color: #44434d !important;
-}
-
-.text-grey-dk-250 {
-  color: #302d36 !important;
-}
-
-.text-grey-dk-300 {
-  color: #27262b !important;
-}
-
-.text-grey-lt-000 {
-  color: #f5f6fa !important;
-}
-
-.text-grey-lt-100 {
-  color: #eeebee !important;
-}
-
-.text-grey-lt-200 {
-  color: #ecebed !important;
-}
-
-.text-grey-lt-300 {
-  color: #e6e1e8 !important;
-}
-
-.text-blue-000 {
-  color: #2c84fa !important;
-}
-
-.text-blue-100 {
-  color: #2869e6 !important;
-}
-
-.text-blue-200 {
-  color: #264caf !important;
-}
-
-.text-blue-300 {
-  color: #183385 !important;
-}
-
-.text-green-000 {
-  color: #41d693 !important;
-}
-
-.text-green-100 {
-  color: #11b584 !important;
-}
-
-.text-green-200 {
-  color: #009c7b !important;
-}
-
-.text-green-300 {
-  color: #026e57 !important;
-}
-
-.text-purple-000 {
-  color: #7253ed !important;
-}
-
-.text-purple-100 {
-  color: #5e41d0 !important;
-}
-
-.text-purple-200 {
-  color: #4e26af !important;
-}
-
-.text-purple-300 {
-  color: #381885 !important;
-}
-
-.text-yellow-000 {
-  color: #ffeb82 !important;
-}
-
-.text-yellow-100 {
-  color: #fadf50 !important;
-}
-
-.text-yellow-200 {
-  color: #f7d12e !important;
-}
-
-.text-yellow-300 {
-  color: #e7af06 !important;
-}
-
-.text-red-000 {
-  color: #f77e7e !important;
-}
-
-.text-red-100 {
-  color: #f96e65 !important;
-}
-
-.text-red-200 {
-  color: #e94c4c !important;
-}
-
-.text-red-300 {
-  color: #dd2e2e !important;
-}
-
-.bg-grey-dk-000 {
-  background-color: #959396 !important;
-}
-
-.bg-grey-dk-100 {
-  background-color: #5c5962 !important;
-}
-
-.bg-grey-dk-200 {
-  background-color: #44434d !important;
-}
-
-.bg-grey-dk-250 {
-  background-color: #302d36 !important;
-}
-
-.bg-grey-dk-300 {
-  background-color: #27262b !important;
-}
-
-.bg-grey-lt-000 {
-  background-color: #f5f6fa !important;
-}
-
-.bg-grey-lt-100 {
-  background-color: #eeebee !important;
-}
-
-.bg-grey-lt-200 {
-  background-color: #ecebed !important;
-}
-
-.bg-grey-lt-300 {
-  background-color: #e6e1e8 !important;
-}
-
-.bg-blue-000 {
-  background-color: #2c84fa !important;
-}
-
-.bg-blue-100 {
-  background-color: #2869e6 !important;
-}
-
-.bg-blue-200 {
-  background-color: #264caf !important;
-}
-
-.bg-blue-300 {
-  background-color: #183385 !important;
-}
-
-.bg-green-000 {
-  background-color: #41d693 !important;
-}
-
-.bg-green-100 {
-  background-color: #11b584 !important;
-}
-
-.bg-green-200 {
-  background-color: #009c7b !important;
-}
-
-.bg-green-300 {
-  background-color: #026e57 !important;
-}
-
-.bg-purple-000 {
-  background-color: #7253ed !important;
-}
-
-.bg-purple-100 {
-  background-color: #5e41d0 !important;
-}
-
-.bg-purple-200 {
-  background-color: #4e26af !important;
-}
-
-.bg-purple-300 {
-  background-color: #381885 !important;
-}
-
-.bg-yellow-000 {
-  background-color: #ffeb82 !important;
-}
-
-.bg-yellow-100 {
-  background-color: #fadf50 !important;
-}
-
-.bg-yellow-200 {
-  background-color: #f7d12e !important;
-}
-
-.bg-yellow-300 {
-  background-color: #e7af06 !important;
-}
-
-.bg-red-000 {
-  background-color: #f77e7e !important;
-}
-
-.bg-red-100 {
-  background-color: #f96e65 !important;
-}
-
-.bg-red-200 {
-  background-color: #e94c4c !important;
-}
-
-.bg-red-300 {
-  background-color: #dd2e2e !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip-path: inset(50%);
-  white-space: nowrap;
-  border-width: 0;
-}
-
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 20rem) {
-  .d-xs-block {
-    display: block !important;
-  }
-  .d-xs-flex {
-    display: flex !important;
-  }
-  .d-xs-inline {
-    display: inline !important;
-  }
-  .d-xs-inline-block {
-    display: inline-block !important;
-  }
-  .d-xs-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 50rem) {
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-}
-.float-left {
-  float: left !important;
-}
-
-.float-right {
-  float: right !important;
-}
-
-.flex-justify-start {
-  justify-content: flex-start !important;
-}
-
-.flex-justify-end {
-  justify-content: flex-end !important;
-}
-
-.flex-justify-between {
-  justify-content: space-between !important;
-}
-
-.flex-justify-around {
-  justify-content: space-around !important;
-}
-
-.v-align-baseline {
-  vertical-align: baseline !important;
-}
-
-.v-align-bottom {
-  vertical-align: bottom !important;
-}
-
-.v-align-middle {
-  vertical-align: middle !important;
-}
-
-.v-align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.v-align-text-top {
-  vertical-align: text-top !important;
-}
-
-.v-align-top {
-  vertical-align: top !important;
-}
-
-.fs-1 {
-  font-size: 0.5625rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-1 {
-    font-size: 0.625rem !important;
-  }
-}
-
-.fs-2 {
-  font-size: 0.6875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-2 {
-    font-size: 0.75rem !important;
-  }
-}
-
-.fs-3 {
-  font-size: 0.75rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-3 {
-    font-size: 0.875rem !important;
-  }
-}
-
-.fs-4 {
-  font-size: 0.875rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-4 {
-    font-size: 1rem !important;
-  }
-}
-
-.fs-5 {
-  font-size: 1rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-5 {
-    font-size: 1.125rem !important;
-  }
-}
-
-.fs-6 {
-  font-size: 1.125rem !important;
-}
-@media (min-width: 31.25rem) {
-  .fs-6 {
-    font-size: 1.5rem !important;
-    line-height: 1.25;
-  }
-}
-
-.fs-7 {
-  font-size: 1.5rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-7 {
-    font-size: 2rem !important;
-  }
-}
-
-.fs-8 {
-  font-size: 2rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-8 {
-    font-size: 2.25rem !important;
-  }
-}
-
-.fs-9 {
-  font-size: 2.25rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-9 {
-    font-size: 2.625rem !important;
-  }
-}
-
-.fs-10 {
-  font-size: 2.625rem !important;
-  line-height: 1.25;
-}
-@media (min-width: 31.25rem) {
-  .fs-10 {
-    font-size: 3rem !important;
-  }
-}
-
-.fw-300 {
-  font-weight: 300 !important;
-}
-
-.fw-400 {
-  font-weight: 400 !important;
-}
-
-.fw-500 {
-  font-weight: 500 !important;
-}
-
-.fw-700 {
-  font-weight: 700 !important;
-}
-
-.lh-0 {
-  line-height: 0 !important;
-}
-
-.lh-default {
-  line-height: 1.4;
-}
-
-.lh-tight {
-  line-height: 1.25;
-}
-
-.ls-5 {
-  letter-spacing: 0.05em !important;
-}
-
-.ls-10 {
-  letter-spacing: 0.1em !important;
-}
-
-.ls-0 {
-  letter-spacing: 0 !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.list-style-none {
-  padding: 0 !important;
-  margin: 0 !important;
-  list-style: none !important;
-}
-.list-style-none li::before {
-  display: none !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mr-0 {
-  margin-right: 0 !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.ml-0 {
-  margin-left: 0 !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.mxn-0 {
-  margin-right: -0 !important;
-  margin-left: -0 !important;
-}
-
-.mx-0-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mr-1 {
-  margin-right: 0.25rem !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.ml-1 {
-  margin-left: 0.25rem !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.mxn-1 {
-  margin-right: -0.25rem !important;
-  margin-left: -0.25rem !important;
-}
-
-.mx-1-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mr-2 {
-  margin-right: 0.5rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.ml-2 {
-  margin-left: 0.5rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.mxn-2 {
-  margin-right: -0.5rem !important;
-  margin-left: -0.5rem !important;
-}
-
-.mx-2-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-3 {
-  margin: 0.75rem !important;
-}
-
-.mt-3 {
-  margin-top: 0.75rem !important;
-}
-
-.mr-3 {
-  margin-right: 0.75rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 0.75rem !important;
-}
-
-.ml-3 {
-  margin-left: 0.75rem !important;
-}
-
-.mx-3 {
-  margin-right: 0.75rem !important;
-  margin-left: 0.75rem !important;
-}
-
-.my-3 {
-  margin-top: 0.75rem !important;
-  margin-bottom: 0.75rem !important;
-}
-
-.mxn-3 {
-  margin-right: -0.75rem !important;
-  margin-left: -0.75rem !important;
-}
-
-.mx-3-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-4 {
-  margin: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1rem !important;
-}
-
-.mr-4 {
-  margin-right: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1rem !important;
-}
-
-.ml-4 {
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.mxn-4 {
-  margin-right: -1rem !important;
-  margin-left: -1rem !important;
-}
-
-.mx-4-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-5 {
-  margin: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 1.5rem !important;
-}
-
-.mr-5 {
-  margin-right: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 1.5rem !important;
-}
-
-.ml-5 {
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.mxn-5 {
-  margin-right: -1.5rem !important;
-  margin-left: -1.5rem !important;
-}
-
-.mx-5-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-6 {
-  margin: 2rem !important;
-}
-
-.mt-6 {
-  margin-top: 2rem !important;
-}
-
-.mr-6 {
-  margin-right: 2rem !important;
-}
-
-.mb-6 {
-  margin-bottom: 2rem !important;
-}
-
-.ml-6 {
-  margin-left: 2rem !important;
-}
-
-.mx-6 {
-  margin-right: 2rem !important;
-  margin-left: 2rem !important;
-}
-
-.my-6 {
-  margin-top: 2rem !important;
-  margin-bottom: 2rem !important;
-}
-
-.mxn-6 {
-  margin-right: -2rem !important;
-  margin-left: -2rem !important;
-}
-
-.mx-6-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-7 {
-  margin: 2.5rem !important;
-}
-
-.mt-7 {
-  margin-top: 2.5rem !important;
-}
-
-.mr-7 {
-  margin-right: 2.5rem !important;
-}
-
-.mb-7 {
-  margin-bottom: 2.5rem !important;
-}
-
-.ml-7 {
-  margin-left: 2.5rem !important;
-}
-
-.mx-7 {
-  margin-right: 2.5rem !important;
-  margin-left: 2.5rem !important;
-}
-
-.my-7 {
-  margin-top: 2.5rem !important;
-  margin-bottom: 2.5rem !important;
-}
-
-.mxn-7 {
-  margin-right: -2.5rem !important;
-  margin-left: -2.5rem !important;
-}
-
-.mx-7-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-8 {
-  margin: 3rem !important;
-}
-
-.mt-8 {
-  margin-top: 3rem !important;
-}
-
-.mr-8 {
-  margin-right: 3rem !important;
-}
-
-.mb-8 {
-  margin-bottom: 3rem !important;
-}
-
-.ml-8 {
-  margin-left: 3rem !important;
-}
-
-.mx-8 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.my-8 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.mxn-8 {
-  margin-right: -3rem !important;
-  margin-left: -3rem !important;
-}
-
-.mx-8-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-9 {
-  margin: 3.5rem !important;
-}
-
-.mt-9 {
-  margin-top: 3.5rem !important;
-}
-
-.mr-9 {
-  margin-right: 3.5rem !important;
-}
-
-.mb-9 {
-  margin-bottom: 3.5rem !important;
-}
-
-.ml-9 {
-  margin-left: 3.5rem !important;
-}
-
-.mx-9 {
-  margin-right: 3.5rem !important;
-  margin-left: 3.5rem !important;
-}
-
-.my-9 {
-  margin-top: 3.5rem !important;
-  margin-bottom: 3.5rem !important;
-}
-
-.mxn-9 {
-  margin-right: -3.5rem !important;
-  margin-left: -3.5rem !important;
-}
-
-.mx-9-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.m-10 {
-  margin: 4rem !important;
-}
-
-.mt-10 {
-  margin-top: 4rem !important;
-}
-
-.mr-10 {
-  margin-right: 4rem !important;
-}
-
-.mb-10 {
-  margin-bottom: 4rem !important;
-}
-
-.ml-10 {
-  margin-left: 4rem !important;
-}
-
-.mx-10 {
-  margin-right: 4rem !important;
-  margin-left: 4rem !important;
-}
-
-.my-10 {
-  margin-top: 4rem !important;
-  margin-bottom: 4rem !important;
-}
-
-.mxn-10 {
-  margin-right: -4rem !important;
-  margin-left: -4rem !important;
-}
-
-.mx-10-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-@media (min-width: 20rem) {
-  .m-xs-0 {
-    margin: 0 !important;
-  }
-  .mt-xs-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xs-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xs-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xs-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xs-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xs-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xs-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xs-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xs-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xs-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xs-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xs-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xs-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xs-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xs-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xs-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xs-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xs-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xs-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xs-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xs-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xs-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xs-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xs-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xs-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xs-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xs-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xs-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-4 {
-    margin: 1rem !important;
-  }
-  .mt-xs-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xs-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xs-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xs-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xs-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xs-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xs-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xs-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xs-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xs-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xs-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xs-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xs-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xs-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-6 {
-    margin: 2rem !important;
-  }
-  .mt-xs-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xs-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xs-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xs-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xs-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xs-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xs-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xs-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xs-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xs-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xs-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xs-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xs-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xs-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-8 {
-    margin: 3rem !important;
-  }
-  .mt-xs-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xs-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xs-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xs-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xs-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xs-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xs-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xs-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xs-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xs-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xs-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xs-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xs-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xs-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 20rem) {
-  .m-xs-10 {
-    margin: 4rem !important;
-  }
-  .mt-xs-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xs-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xs-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xs-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xs-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xs-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xs-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mr-sm-0 {
-    margin-right: 0 !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-sm-0 {
-    margin-left: 0 !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-sm-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-sm-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-sm-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-sm-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-sm-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-sm-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-4 {
-    margin: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-sm-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-sm-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-sm-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-sm-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-sm-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-sm-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-6 {
-    margin: 2rem !important;
-  }
-  .mt-sm-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-sm-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-sm-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-sm-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-sm-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-sm-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-sm-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-sm-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-sm-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-sm-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-sm-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-sm-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-sm-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-sm-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-8 {
-    margin: 3rem !important;
-  }
-  .mt-sm-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-sm-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-sm-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-sm-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-sm-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-sm-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-sm-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-sm-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-sm-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-sm-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-sm-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-sm-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-sm-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-sm-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .m-sm-10 {
-    margin: 4rem !important;
-  }
-  .mt-sm-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-sm-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-sm-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-sm-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-sm-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-sm-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-sm-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .mt-md-0 {
-    margin-top: 0 !important;
-  }
-  .mr-md-0 {
-    margin-right: 0 !important;
-  }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-md-0 {
-    margin-left: 0 !important;
-  }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-md-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-md-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-md-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-md-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-md-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-md-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-md-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-md-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-md-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-md-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-4 {
-    margin: 1rem !important;
-  }
-  .mt-md-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-md-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-md-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-md-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-md-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-md-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-md-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-md-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-md-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-md-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-md-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-md-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-md-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-md-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-6 {
-    margin: 2rem !important;
-  }
-  .mt-md-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-md-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-md-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-md-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-md-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-md-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-md-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-md-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-md-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-md-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-md-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-md-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-md-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-md-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-8 {
-    margin: 3rem !important;
-  }
-  .mt-md-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-md-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-md-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-md-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-md-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-md-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-md-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-md-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-md-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-md-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-md-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-md-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-md-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-md-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .m-md-10 {
-    margin: 4rem !important;
-  }
-  .mt-md-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-md-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-md-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-md-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-md-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-md-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-md-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .mt-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mr-lg-0 {
-    margin-right: 0 !important;
-  }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-lg-0 {
-    margin-left: 0 !important;
-  }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-lg-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-lg-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-lg-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-lg-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-lg-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-lg-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-lg-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-lg-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-lg-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-lg-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-4 {
-    margin: 1rem !important;
-  }
-  .mt-lg-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-lg-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-lg-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-lg-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-lg-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-lg-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-lg-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-lg-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-lg-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-lg-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-lg-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-lg-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-lg-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-lg-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-6 {
-    margin: 2rem !important;
-  }
-  .mt-lg-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-lg-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-lg-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-lg-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-lg-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-lg-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-lg-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-lg-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-lg-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-lg-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-lg-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-lg-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-lg-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-lg-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-8 {
-    margin: 3rem !important;
-  }
-  .mt-lg-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-lg-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-lg-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-lg-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-lg-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-lg-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-lg-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-lg-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-lg-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-lg-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-lg-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-lg-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-lg-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-lg-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .m-lg-10 {
-    margin: 4rem !important;
-  }
-  .mt-lg-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-lg-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-lg-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-lg-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-lg-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-lg-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-lg-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .mt-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xl-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xl-0 {
-    margin-left: 0 !important;
-  }
-  .mx-xl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .my-xl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .mxn-xl-0 {
-    margin-right: -0 !important;
-    margin-left: -0 !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xl-1 {
-    margin-left: 0.25rem !important;
-  }
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .mxn-xl-1 {
-    margin-right: -0.25rem !important;
-    margin-left: -0.25rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xl-2 {
-    margin-left: 0.5rem !important;
-  }
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .mxn-xl-2 {
-    margin-right: -0.5rem !important;
-    margin-left: -0.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-3 {
-    margin: 0.75rem !important;
-  }
-  .mt-xl-3 {
-    margin-top: 0.75rem !important;
-  }
-  .mr-xl-3 {
-    margin-right: 0.75rem !important;
-  }
-  .mb-xl-3 {
-    margin-bottom: 0.75rem !important;
-  }
-  .ml-xl-3 {
-    margin-left: 0.75rem !important;
-  }
-  .mx-xl-3 {
-    margin-right: 0.75rem !important;
-    margin-left: 0.75rem !important;
-  }
-  .my-xl-3 {
-    margin-top: 0.75rem !important;
-    margin-bottom: 0.75rem !important;
-  }
-  .mxn-xl-3 {
-    margin-right: -0.75rem !important;
-    margin-left: -0.75rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-4 {
-    margin: 1rem !important;
-  }
-  .mt-xl-4 {
-    margin-top: 1rem !important;
-  }
-  .mr-xl-4 {
-    margin-right: 1rem !important;
-  }
-  .mb-xl-4 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xl-4 {
-    margin-left: 1rem !important;
-  }
-  .mx-xl-4 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .my-xl-4 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .mxn-xl-4 {
-    margin-right: -1rem !important;
-    margin-left: -1rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-5 {
-    margin: 1.5rem !important;
-  }
-  .mt-xl-5 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xl-5 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xl-5 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xl-5 {
-    margin-left: 1.5rem !important;
-  }
-  .mx-xl-5 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .my-xl-5 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .mxn-xl-5 {
-    margin-right: -1.5rem !important;
-    margin-left: -1.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-6 {
-    margin: 2rem !important;
-  }
-  .mt-xl-6 {
-    margin-top: 2rem !important;
-  }
-  .mr-xl-6 {
-    margin-right: 2rem !important;
-  }
-  .mb-xl-6 {
-    margin-bottom: 2rem !important;
-  }
-  .ml-xl-6 {
-    margin-left: 2rem !important;
-  }
-  .mx-xl-6 {
-    margin-right: 2rem !important;
-    margin-left: 2rem !important;
-  }
-  .my-xl-6 {
-    margin-top: 2rem !important;
-    margin-bottom: 2rem !important;
-  }
-  .mxn-xl-6 {
-    margin-right: -2rem !important;
-    margin-left: -2rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-7 {
-    margin: 2.5rem !important;
-  }
-  .mt-xl-7 {
-    margin-top: 2.5rem !important;
-  }
-  .mr-xl-7 {
-    margin-right: 2.5rem !important;
-  }
-  .mb-xl-7 {
-    margin-bottom: 2.5rem !important;
-  }
-  .ml-xl-7 {
-    margin-left: 2.5rem !important;
-  }
-  .mx-xl-7 {
-    margin-right: 2.5rem !important;
-    margin-left: 2.5rem !important;
-  }
-  .my-xl-7 {
-    margin-top: 2.5rem !important;
-    margin-bottom: 2.5rem !important;
-  }
-  .mxn-xl-7 {
-    margin-right: -2.5rem !important;
-    margin-left: -2.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-8 {
-    margin: 3rem !important;
-  }
-  .mt-xl-8 {
-    margin-top: 3rem !important;
-  }
-  .mr-xl-8 {
-    margin-right: 3rem !important;
-  }
-  .mb-xl-8 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xl-8 {
-    margin-left: 3rem !important;
-  }
-  .mx-xl-8 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .my-xl-8 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .mxn-xl-8 {
-    margin-right: -3rem !important;
-    margin-left: -3rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-9 {
-    margin: 3.5rem !important;
-  }
-  .mt-xl-9 {
-    margin-top: 3.5rem !important;
-  }
-  .mr-xl-9 {
-    margin-right: 3.5rem !important;
-  }
-  .mb-xl-9 {
-    margin-bottom: 3.5rem !important;
-  }
-  .ml-xl-9 {
-    margin-left: 3.5rem !important;
-  }
-  .mx-xl-9 {
-    margin-right: 3.5rem !important;
-    margin-left: 3.5rem !important;
-  }
-  .my-xl-9 {
-    margin-top: 3.5rem !important;
-    margin-bottom: 3.5rem !important;
-  }
-  .mxn-xl-9 {
-    margin-right: -3.5rem !important;
-    margin-left: -3.5rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .m-xl-10 {
-    margin: 4rem !important;
-  }
-  .mt-xl-10 {
-    margin-top: 4rem !important;
-  }
-  .mr-xl-10 {
-    margin-right: 4rem !important;
-  }
-  .mb-xl-10 {
-    margin-bottom: 4rem !important;
-  }
-  .ml-xl-10 {
-    margin-left: 4rem !important;
-  }
-  .mx-xl-10 {
-    margin-right: 4rem !important;
-    margin-left: 4rem !important;
-  }
-  .my-xl-10 {
-    margin-top: 4rem !important;
-    margin-bottom: 4rem !important;
-  }
-  .mxn-xl-10 {
-    margin-right: -4rem !important;
-    margin-left: -4rem !important;
-  }
-}
-.p-0 {
-  padding: 0 !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pr-0 {
-  padding-right: 0 !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pl-0 {
-  padding-left: 0 !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pr-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pl-1 {
-  padding-left: 0.25rem !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pr-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pl-2 {
-  padding-left: 0.5rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 0.75rem !important;
-}
-
-.pt-3 {
-  padding-top: 0.75rem !important;
-}
-
-.pr-3 {
-  padding-right: 0.75rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 0.75rem !important;
-}
-
-.pl-3 {
-  padding-left: 0.75rem !important;
-}
-
-.px-3 {
-  padding-right: 0.75rem !important;
-  padding-left: 0.75rem !important;
-}
-
-.py-3 {
-  padding-top: 0.75rem !important;
-  padding-bottom: 0.75rem !important;
-}
-
-.p-4 {
-  padding: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1rem !important;
-}
-
-.pr-4 {
-  padding-right: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1rem !important;
-}
-
-.pl-4 {
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.p-5 {
-  padding: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 1.5rem !important;
-}
-
-.pr-5 {
-  padding-right: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pl-5 {
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.p-6 {
-  padding: 2rem !important;
-}
-
-.pt-6 {
-  padding-top: 2rem !important;
-}
-
-.pr-6 {
-  padding-right: 2rem !important;
-}
-
-.pb-6 {
-  padding-bottom: 2rem !important;
-}
-
-.pl-6 {
-  padding-left: 2rem !important;
-}
-
-.px-6 {
-  padding-right: 2rem !important;
-  padding-left: 2rem !important;
-}
-
-.py-6 {
-  padding-top: 2rem !important;
-  padding-bottom: 2rem !important;
-}
-
-.p-7 {
-  padding: 2.5rem !important;
-}
-
-.pt-7 {
-  padding-top: 2.5rem !important;
-}
-
-.pr-7 {
-  padding-right: 2.5rem !important;
-}
-
-.pb-7 {
-  padding-bottom: 2.5rem !important;
-}
-
-.pl-7 {
-  padding-left: 2.5rem !important;
-}
-
-.px-7 {
-  padding-right: 2.5rem !important;
-  padding-left: 2.5rem !important;
-}
-
-.py-7 {
-  padding-top: 2.5rem !important;
-  padding-bottom: 2.5rem !important;
-}
-
-.p-8 {
-  padding: 3rem !important;
-}
-
-.pt-8 {
-  padding-top: 3rem !important;
-}
-
-.pr-8 {
-  padding-right: 3rem !important;
-}
-
-.pb-8 {
-  padding-bottom: 3rem !important;
-}
-
-.pl-8 {
-  padding-left: 3rem !important;
-}
-
-.px-8 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-8 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.p-9 {
-  padding: 3.5rem !important;
-}
-
-.pt-9 {
-  padding-top: 3.5rem !important;
-}
-
-.pr-9 {
-  padding-right: 3.5rem !important;
-}
-
-.pb-9 {
-  padding-bottom: 3.5rem !important;
-}
-
-.pl-9 {
-  padding-left: 3.5rem !important;
-}
-
-.px-9 {
-  padding-right: 3.5rem !important;
-  padding-left: 3.5rem !important;
-}
-
-.py-9 {
-  padding-top: 3.5rem !important;
-  padding-bottom: 3.5rem !important;
-}
-
-.p-10 {
-  padding: 4rem !important;
-}
-
-.pt-10 {
-  padding-top: 4rem !important;
-}
-
-.pr-10 {
-  padding-right: 4rem !important;
-}
-
-.pb-10 {
-  padding-bottom: 4rem !important;
-}
-
-.pl-10 {
-  padding-left: 4rem !important;
-}
-
-.px-10 {
-  padding-right: 4rem !important;
-  padding-left: 4rem !important;
-}
-
-.py-10 {
-  padding-top: 4rem !important;
-  padding-bottom: 4rem !important;
-}
-
-@media (min-width: 20rem) {
-  .p-xs-0 {
-    padding: 0 !important;
-  }
-  .pt-xs-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xs-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xs-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xs-0 {
-    padding-left: 0 !important;
-  }
-  .px-xs-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xs-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xs-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xs-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xs-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xs-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xs-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xs-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xs-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xs-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xs-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xs-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xs-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xs-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xs-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xs-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xs-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xs-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xs-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xs-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xs-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xs-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xs-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xs-4 {
-    padding: 1rem !important;
-  }
-  .pt-xs-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xs-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xs-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xs-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xs-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xs-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xs-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xs-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xs-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xs-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xs-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xs-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xs-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xs-6 {
-    padding: 2rem !important;
-  }
-  .pt-xs-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xs-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xs-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xs-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xs-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xs-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xs-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xs-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xs-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xs-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xs-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xs-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xs-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xs-8 {
-    padding: 3rem !important;
-  }
-  .pt-xs-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xs-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xs-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xs-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xs-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xs-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xs-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xs-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xs-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xs-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xs-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xs-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xs-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xs-10 {
-    padding: 4rem !important;
-  }
-  .pt-xs-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xs-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xs-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xs-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xs-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xs-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 31.25rem) {
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pr-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-sm-0 {
-    padding-left: 0 !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-sm-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-sm-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-sm-4 {
-    padding: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-sm-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-sm-4 {
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-sm-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-sm-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-sm-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-sm-6 {
-    padding: 2rem !important;
-  }
-  .pt-sm-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-sm-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-sm-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-sm-6 {
-    padding-left: 2rem !important;
-  }
-  .px-sm-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-sm-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-sm-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-sm-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-sm-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-sm-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-sm-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-sm-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-sm-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-sm-8 {
-    padding: 3rem !important;
-  }
-  .pt-sm-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-sm-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-sm-8 {
-    padding-left: 3rem !important;
-  }
-  .px-sm-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-sm-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-sm-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-sm-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-sm-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-sm-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-sm-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-sm-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-sm-10 {
-    padding: 4rem !important;
-  }
-  .pt-sm-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-sm-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-sm-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-sm-10 {
-    padding-left: 4rem !important;
-  }
-  .px-sm-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-sm-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 50rem) {
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .pt-md-0 {
-    padding-top: 0 !important;
-  }
-  .pr-md-0 {
-    padding-right: 0 !important;
-  }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-md-0 {
-    padding-left: 0 !important;
-  }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-md-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-md-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-md-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-md-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-md-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-md-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-md-4 {
-    padding: 1rem !important;
-  }
-  .pt-md-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-md-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-md-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-md-4 {
-    padding-left: 1rem !important;
-  }
-  .px-md-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-md-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-md-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-md-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-md-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-md-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-md-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-md-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-md-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-md-6 {
-    padding: 2rem !important;
-  }
-  .pt-md-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-md-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-md-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-md-6 {
-    padding-left: 2rem !important;
-  }
-  .px-md-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-md-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-md-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-md-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-md-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-md-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-md-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-md-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-md-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-md-8 {
-    padding: 3rem !important;
-  }
-  .pt-md-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-md-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-md-8 {
-    padding-left: 3rem !important;
-  }
-  .px-md-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-md-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-md-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-md-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-md-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-md-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-md-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-md-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-md-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-md-10 {
-    padding: 4rem !important;
-  }
-  .pt-md-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-md-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-md-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-md-10 {
-    padding-left: 4rem !important;
-  }
-  .px-md-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-md-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 66.5rem) {
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .pt-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pr-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-lg-0 {
-    padding-left: 0 !important;
-  }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-lg-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-lg-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-lg-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-lg-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-lg-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-lg-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-lg-4 {
-    padding: 1rem !important;
-  }
-  .pt-lg-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-lg-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-lg-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-lg-4 {
-    padding-left: 1rem !important;
-  }
-  .px-lg-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-lg-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-lg-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-lg-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-lg-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-lg-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-lg-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-lg-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-lg-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-lg-6 {
-    padding: 2rem !important;
-  }
-  .pt-lg-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-lg-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-lg-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-lg-6 {
-    padding-left: 2rem !important;
-  }
-  .px-lg-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-lg-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-lg-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-lg-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-lg-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-lg-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-lg-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-lg-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-lg-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-lg-8 {
-    padding: 3rem !important;
-  }
-  .pt-lg-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-lg-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-lg-8 {
-    padding-left: 3rem !important;
-  }
-  .px-lg-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-lg-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-lg-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-lg-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-lg-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-lg-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-lg-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-lg-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-lg-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-lg-10 {
-    padding: 4rem !important;
-  }
-  .pt-lg-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-lg-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-lg-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-lg-10 {
-    padding-left: 4rem !important;
-  }
-  .px-lg-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-lg-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media (min-width: 87.5rem) {
-  .p-xl-0 {
-    padding: 0 !important;
-  }
-  .pt-xl-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xl-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xl-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xl-0 {
-    padding-left: 0 !important;
-  }
-  .px-xl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .py-xl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .p-xl-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xl-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xl-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xl-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xl-1 {
-    padding-left: 0.25rem !important;
-  }
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .p-xl-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xl-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xl-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xl-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xl-2 {
-    padding-left: 0.5rem !important;
-  }
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .p-xl-3 {
-    padding: 0.75rem !important;
-  }
-  .pt-xl-3 {
-    padding-top: 0.75rem !important;
-  }
-  .pr-xl-3 {
-    padding-right: 0.75rem !important;
-  }
-  .pb-xl-3 {
-    padding-bottom: 0.75rem !important;
-  }
-  .pl-xl-3 {
-    padding-left: 0.75rem !important;
-  }
-  .px-xl-3 {
-    padding-right: 0.75rem !important;
-    padding-left: 0.75rem !important;
-  }
-  .py-xl-3 {
-    padding-top: 0.75rem !important;
-    padding-bottom: 0.75rem !important;
-  }
-  .p-xl-4 {
-    padding: 1rem !important;
-  }
-  .pt-xl-4 {
-    padding-top: 1rem !important;
-  }
-  .pr-xl-4 {
-    padding-right: 1rem !important;
-  }
-  .pb-xl-4 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xl-4 {
-    padding-left: 1rem !important;
-  }
-  .px-xl-4 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .py-xl-4 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .p-xl-5 {
-    padding: 1.5rem !important;
-  }
-  .pt-xl-5 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xl-5 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xl-5 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xl-5 {
-    padding-left: 1.5rem !important;
-  }
-  .px-xl-5 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .py-xl-5 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .p-xl-6 {
-    padding: 2rem !important;
-  }
-  .pt-xl-6 {
-    padding-top: 2rem !important;
-  }
-  .pr-xl-6 {
-    padding-right: 2rem !important;
-  }
-  .pb-xl-6 {
-    padding-bottom: 2rem !important;
-  }
-  .pl-xl-6 {
-    padding-left: 2rem !important;
-  }
-  .px-xl-6 {
-    padding-right: 2rem !important;
-    padding-left: 2rem !important;
-  }
-  .py-xl-6 {
-    padding-top: 2rem !important;
-    padding-bottom: 2rem !important;
-  }
-  .p-xl-7 {
-    padding: 2.5rem !important;
-  }
-  .pt-xl-7 {
-    padding-top: 2.5rem !important;
-  }
-  .pr-xl-7 {
-    padding-right: 2.5rem !important;
-  }
-  .pb-xl-7 {
-    padding-bottom: 2.5rem !important;
-  }
-  .pl-xl-7 {
-    padding-left: 2.5rem !important;
-  }
-  .px-xl-7 {
-    padding-right: 2.5rem !important;
-    padding-left: 2.5rem !important;
-  }
-  .py-xl-7 {
-    padding-top: 2.5rem !important;
-    padding-bottom: 2.5rem !important;
-  }
-  .p-xl-8 {
-    padding: 3rem !important;
-  }
-  .pt-xl-8 {
-    padding-top: 3rem !important;
-  }
-  .pr-xl-8 {
-    padding-right: 3rem !important;
-  }
-  .pb-xl-8 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xl-8 {
-    padding-left: 3rem !important;
-  }
-  .px-xl-8 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-xl-8 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .p-xl-9 {
-    padding: 3.5rem !important;
-  }
-  .pt-xl-9 {
-    padding-top: 3.5rem !important;
-  }
-  .pr-xl-9 {
-    padding-right: 3.5rem !important;
-  }
-  .pb-xl-9 {
-    padding-bottom: 3.5rem !important;
-  }
-  .pl-xl-9 {
-    padding-left: 3.5rem !important;
-  }
-  .px-xl-9 {
-    padding-right: 3.5rem !important;
-    padding-left: 3.5rem !important;
-  }
-  .py-xl-9 {
-    padding-top: 3.5rem !important;
-    padding-bottom: 3.5rem !important;
-  }
-  .p-xl-10 {
-    padding: 4rem !important;
-  }
-  .pt-xl-10 {
-    padding-top: 4rem !important;
-  }
-  .pr-xl-10 {
-    padding-right: 4rem !important;
-  }
-  .pb-xl-10 {
-    padding-bottom: 4rem !important;
-  }
-  .pl-xl-10 {
-    padding-left: 4rem !important;
-  }
-  .px-xl-10 {
-    padding-right: 4rem !important;
-    padding-left: 4rem !important;
-  }
-  .py-xl-10 {
-    padding-top: 4rem !important;
-    padding-bottom: 4rem !important;
-  }
-}
-@media print {
-  .site-footer,
-  .site-button,
-  #edit-this-page,
-  #back-to-top,
-  .site-nav,
-  .main-header {
-    display: none !important;
-  }
-  hr {
-    margin-top: 1rem;
-    margin-bottom: 1rem;
-  }
-  .side-bar {
-    width: 100%;
-    height: auto;
-    border-right: 0 !important;
-    /* Disable display: flex and position: fixed from non-print styles */
-    position: static;
-    display: block;
-  }
-  .site-header {
-    border-bottom: 1px solid #eeebee;
-  }
-  .site-title {
-    font-size: 1rem !important;
-    font-weight: 700 !important;
-  }
-  .text-small {
-    font-size: 8pt !important;
-  }
-  pre.highlight {
-    border: 1px solid #eeebee;
-  }
-  .main {
-    max-width: none;
-    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */
-  }
-}
-a.skip-to-main {
-  left: -999px;
-  position: absolute;
-  top: auto;
-  width: 1px;
-  height: 1px;
-  overflow: hidden;
-  z-index: -999;
-}
-
-a.skip-to-main:focus,
-a.skip-to-main:active {
-  color: #7253ed;
-  background-color: #fff;
-  left: auto;
-  top: auto;
-  width: 30%;
-  height: auto;
-  overflow: auto;
-  margin: 10px 35%;
-  padding: 5px;
-  border-radius: 15px;
-  border: 4px solid #5e41d0;
-  text-align: center;
-  font-size: 1.2em;
-  z-index: 999;
-}
-
-div.opaque {
-  background-color: #fff;
-}
-
-p.note, blockquote.note {
-  border: 1px #2c84fa solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note::before, blockquote.note::before {
-  color: #183385;
-  content: "Note";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.note > .note-title, blockquote.note > .note-title {
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.note-title, blockquote.note-title {
-  border: 1px #2c84fa solid;
-  border-left: 4px solid #183385;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.note-title > p:first-child, blockquote.note-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #183385;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.note {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note > p:first-child {
-  margin-top: 0;
-}
-blockquote.note > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.note-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.note-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.note-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.warning, blockquote.warning {
-  border: 1px #f77e7e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning::before, blockquote.warning::before {
-  color: #dd2e2e;
-  content: "Warning";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.warning > .warning-title, blockquote.warning > .warning-title {
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.warning-title, blockquote.warning-title {
-  border: 1px #f77e7e solid;
-  border-left: 4px solid #dd2e2e;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.warning-title > p:first-child, blockquote.warning-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #dd2e2e;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.warning {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning > p:first-child {
-  margin-top: 0;
-}
-blockquote.warning > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.warning-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.warning-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.warning-title > p:last-child {
-  margin-bottom: 0;
-}
-
-p.tip, blockquote.tip {
-  border: 1px #41d693 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip::before, blockquote.tip::before {
-  color: #026e57;
-  content: "Tip";
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-p.tip > .tip-title, blockquote.tip > .tip-title {
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-p.tip-title, blockquote.tip-title {
-  border: 1px #41d693 solid;
-  border-left: 4px solid #026e57;
-  border-radius: 4px;
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
-  padding: 0.8rem;
-}
-p.tip-title > p:first-child, blockquote.tip-title > p:first-child {
-  margin-top: 0;
-  margin-bottom: 0;
-  color: #026e57;
-  display: block;
-  font-weight: bold;
-  text-transform: uppercase;
-  font-size: 0.75em;
-  padding-bottom: 0.125rem;
-}
-
-blockquote.tip {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip > p:first-child {
-  margin-top: 0;
-}
-blockquote.tip > p:last-child {
-  margin-bottom: 0;
-}
-
-blockquote.tip-title {
-  margin-left: 0;
-  margin-right: 0;
-}
-blockquote.tip-title > p:nth-child(2) {
-  margin-top: 0;
-}
-blockquote.tip-title > p:last-child {
-  margin-bottom: 0;
-}
-
-/*# sourceMappingURL=just-the-docs-light.css.map */
\ No newline at end of file
diff --git a/docs/_site/assets/css/just-the-docs-light.css.map b/docs/_site/assets/css/just-the-docs-light.css.map
deleted file mode 100644
index 82f5d83..0000000
--- a/docs/_site/assets/css/just-the-docs-light.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/accessible-pygments/github-light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/vendor/normalize.scss/normalize.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/base.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/color_schemes/light.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/_variables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/content.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/navigation.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/labels.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/support/mixins/_buttons.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/search.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/tables.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/code.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_colors.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_layout.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_typography.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_lists.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/utilities/_spacing.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/print.scss","../../../../../../../opt/homebrew/lib/ruby/gems/4.0.0/gems/just-the-docs-0.12.0/_sass/skiptomain.scss","just-the-docs-light.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAAkB;;;AAClB;EAAgB;EAAiB;AACjC;EAAkB;EAAiB;AACnC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAkB;EAAiB;AACnC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAqB;AACtC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAoB;AACrC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAgB;EAAiB;AACjC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AAClC;EAAiB;EAAiB;AChFlC;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE,cCJa;;;ADOf;EACE;;;AAGF;EACE;;AEwBA;EACE;;ACvBA;EHHJ;IE8BI;;;;AFxBJ;EACE,aIfiB;EJgBjB;EACA,aIbiB;EJcjB,OIUY;EJTZ,kBIOM;EJNN;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;EACA,aI1CyB;EJ2CzB,OIlBY;;;AJqBd;EACE;EACA;;;AAGF;EACE,OItBW;EJuBX;;;AAGF;EACE;EACA,uBI/BY;EJgCZ;;AAEA;EACE;;;AAIJ;EACE,aIvEiB;EJwEjB;EACA,aIvEiB;;;AJ0EnB;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,kBI/DY;EJgEZ;;;AAIF;EACE;EAGA;EACA;EACA;EACA;;;AK7GF;EACE;EACA;EACA;EACA,kBD6BY;;ADrBV;EEZJ;IAOI;IACA;IACA,ODwFW;ICvFX;IACA;IACA;;;AFAA;EEZJ;IAgBI;IACA,WD+EQ;;;ADpFR;EEQF;IAEI,aD2ES;;;ADrFX;EEQF;IAQI;;;AAOF;EACE;EACA,kBDJQ;;ADrBV;EEuBA;IAKI;IACA,kBDdA;;;ACiBF;EACE;;AFjCJ;EEgCE;IAII;;;;AAOV;EACE;;AF5CE;EE2CJ;IAII;IACA,WDyCY;;;;ACrChB;EACE,aDaK;ECZL,gBDYK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EEoDJ;IFrCI,eCqDG;IDpDH,cCoDG;;;ADpEH;EEoDJ;IAOI,aDSG;ICRH,gBDQG;;;;ACJP;EACE;EACA;;AFlEE;EEgEJ;IAKI;IACA;IACA,QDmBY;;;;ACfhB;AAAA;AAAA;EAGE;;AF9EE;EE2EJ;AAAA;AAAA;IAMI,ODGQ;;;;ACCZ;EACE;;AAEA;EACE;;AFzFA;EEqFJ;IAQI;IACA,aDxBG;ICyBH,gBD7BG;IC8BH;IACA;;;;AAIJ;EACE;EACA,YDbc;ECcd;;AFxGE;EEqGJ;IAMI,QDjBY;ICkBZ,YDlBY;ICmBZ;;;;AAIJ;EACE;EACA;EACA;EACA;EACA,aDrDK;ECsDL,gBDtDK;ECuDL,ODpGY;ECqGZ;EF9GA,eCuDK;EDtDL,cCsDK;;ADlEH;EEiHJ;IFlGI,eCqDG;IDpDH,cCoDG;;;AF1BL;EACE;;AC3CA;EEiHJ;IHlEI;IACA,aErDuB;;;ADKvB;EEiHJ;IAeI,aDhEG;ICiEH,gBDjEG;;;;ACgFP;EACE;EACA;EACA,SDjFK;ECkFL;EACA;;;AFrJE;EEyJF;IACE;;;AAIJ;EACE;;;AAQF;EACE;;;AAOF;EACE;EACA;EACA;EACA,aDjHK;ECkHL,gBDlHK;EDvDL,eCuDK;EDtDL,cCsDK;;ADlEH;EE+KJ;IFhKI,eCqDG;IDpDH,cCoDG;;;AFlEL;EACE;;ACHA;EE+KJ;IHxKI;;;ACPA;EE+KJ;IAYI;IACA;;;;AAIJ;EACE,OD9HK;EC+HL,QD/HK;ECgIL,OD1KW;;;AElCb;EACE,aFEoB;;AEApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAIA;EACE,YF+CC;;AE3CL;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OFfM;EEgBN;EACA;;AJrBN;EACE;;ACbA;EG2BE;IJVF;;;ACjBA;EG2BE;IAUI;;;AAIJ;EACE;;AAGE;EACE;EACA;;AAOV;EACE;;AAGE;EACE;EACA;EACA,OF7CM;EE8CN;;AAMJ;EACE;;AAIJ;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAmBE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKN;EACE;EACA;EACA,OFnFG;EEoFH;EACA,eFzFG;EE0FH,cF1FG;EE2FH;;AH1JA;EGmJF;IAUI;IACA;;;AAGF;EACE;EACA;EACA;EACA,OF5IO;EE6IP;;AAYF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE,YF9JG;;;AG3EP;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;ALyBF;EACE;;ACvBA;EILF;ILgCE;;;AC3BA;EDYF;IACE;;;ACbA;EILF;ILsBE;;;AKZA;EACE;EACA,YH+DC;EG9DD,aHuDC;EGtDD,gBHsDC;EGrDD;EACA;EAGE,eHwDD;EGvDC,cHmDD;;ADlEH;EIKA;IAiBI,YH8CD;IG7CC;IAEE,eH2CH;IG1CG,cH0CH;;;AGnCD;EACE,OHgCD;EG/BC,QH+BD;EG9BC;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AASJ;EACE;EAEE;EAGF,OHQC;EGPD,QHOC;EGND;EACA,OHxCO;EGyCP;;AJlEF;EIwDA;IAaI,OHDD;IGEC,QHFD;IGGC;;;AAGF;EACE;;AAQA;EACE;;AAKN;EACE;EACA,cH1BC;EG2BD;;AAEA;EACE;;AAEA;EACE,OHjFI;;AGoFN;EACE,OHrFI;;AG2FR;EAEI;;AAMJ;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;AL9HA;EACE;;ACHA;EI2HJ;ILpHI;;;ACPA;EI2HJ;IASI;IACA,YHnEG;IGoEH;;EAEA;IACE;;;;AAMJ;EACE;;AAEA;EACE;;AAGE;EACE,OH9HG;;AGiIL;EACE,OHlIG;;;AG2Ib;EACE;EACA;;ALpKA;EACE;;ACHA;EIoKJ;IL7JI;;;AKkKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AJrLA;EIoKJ;IAqBI,eHvHG;;;;ADlEH;EI+LJ;IAEI;;;;AAIJ;EACE;EACA,eHtIK;EGuIL;;;AAGF;EACE;;AL1MA;EACE;;ACHA;EI2MJ;ILpMI;;;AKwMF;EACE;;AAGF;EACE;EACA,cHrJG;EGsJH,aHtJG;EGuJH,OHvMU;EGwMV;;AAIA;EACE;;;ACxON;AAAA;EAEE;;ANyEA;AAAA;EACE;EACA,aEvEuB;;ADKvB;EKXJ;AAAA;INiFI;;;;AA5BF;AAAA;AAAA;EACE;;AC3CA;EKJJ;AAAA;AAAA;INmDI;IACA,aErDuB;;;;AFqCzB;AAAA;EACE;;ACjCA;EKEJ;AAAA;INmCI;;;;AM9BJ;AAAA;EAEE;EACA;EACA;;ANTA;AAAA;EACE;;ACHA;EKOJ;AAAA;INAI;;;;AMSJ;EACE;;;ANLA;AAAA;EACE;;ACbA;EKoBJ;AAAA;INHI;;;;AAfF;AAAA;EACE;;ACHA;EKyBJ;AAAA;INlBI;;;;AALF;EACE;;ACHA;EK8BJ;INvBI;;;;AM2BJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvDF;AAAA;EAEE;EACA;EACA,cLoEK;EKnEL,aLmEK;EKlEL,OLiBM;EKhBN;EACA;EACA,kBL6BS;EK5BT;;APAA;AAAA;EACE;;ACHA;EMRJ;AAAA;IPeI;;;;AOAJ;EACE,kBL4BU;;;AKzBZ;EACE,kBLcW;;;AKXb;EACE,kBL4BQ;;;AKzBV;EACE,OLFY;EKGZ,kBLkBW;;;AMlDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,ON2BW;EM1BX;EACA;EACA;EACA,kBTTkB;ESUlB;EACA,eNyEc;EMxEd,YACE;EAEF;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;;AAGF;EAEE;;AAGF;EAIE;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;AAKA;EAEE;EACA;EACA;EACA;EACA;;;AAKN;EACE,ONnCW;EMoCX;EACA;;AAEA;EAIE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EAEE;;;AAIJ;ECnGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADgFJ;ECvGE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADoFJ;EC3GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;ADwFJ;EC/GE,OP0BM;EOzBN;EACA;EACA,YACE;;AAGF;EAEE,OPiBI;EOhBJ;EACA;;AAGF;EAGE;EACA;EACA;;AAGF;EACE;;;AD4FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AE3HF;EACE;EACA;EACA;EACA,QRgFM;EQ/EN,SRuEK;EQtEL;;ATME;ESZJ;IASI;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA,QR8DK;EQ7DL;EACA,eRmEc;EQlEd,YACE;EAEF;;ATdE;ESKJ;IAYI;IACA;IACA,WRwEmB;IQvEnB;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,ORhBY;EQiBZ,kBRnBM;EQoBN;EACA;EACA;EACA;EACA;;ATvCE;ES2BJ;IAeI;IACA;IACA,kBR7BI;IQ8BJ;;;AAGF;EACE;;AAEA;EACE,OR3BO;;;AQgCb;EACE;EACA;EACA;EACA,cRKK;;ADlEH;ESyDJ;IAOI,cRIG;IQHH;;;AAGF;EACE;EACA;EACA;EACA,ORxDU;;;AQ4Dd;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBRpEM;EQqEN,4BRPc;EQQd,2BRRc;EQSd,YACE;;ATvFA;ES4EJ;IAeI;IACA,ORDmB;IQEnB;;;;AAIJ;EACE;EACA,eRpCK;EQqCL;;AV9EA;EACE;;ACvBA;ESiGJ;IVtEI;;;AC3BA;EDYF;IACE;;;ACbA;ESiGJ;IVhFI;;;;AU2FJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE,kBX5Ha;;;AWgIjB;EACE;EACA,aR9DK;EQ+DL,gBR/DK;;ADhEH;ES4HJ;IAMI;IACA;IACA,eRpEG;IQqEH;;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AVnIF;EACE;;ACbA;ES8IF;IV7HE;;;ACjBA;EDEF;IACE;;;ACHA;ES8IF;IVvIE;;;AUgJF;EACE,ORtFG;EQuFH,QRvFG;EQwFH,cR1FG;EQ2FH,ORlIS;EQmIT;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA,OR5JY;EQ6JZ;EACA;;AVvLA;EACE;;ACOA;ESyKJ;IV5KI;;;;AUsLJ;EACE;EACA,aRrHK;EQsHL,gBRtHK;EQuHL,cRrHK;EQsHL,aRxHK;EQyHL,ORxKY;EQyKZ;EACA,aR/GO;EQgHP,mBRtKY;;AFpBZ;EACE;;ACHA;ESmLJ;IV5KI;;;ACPA;ESmLJ;IAaI;IACA;IACA,cRlIG;IQmIH;IACA;;;;AAIJ;EACE,YR1IK;;;AQ6IP;EACE;;;AAGF;EACE;;AVrMA;EACE;;ACbA;ESgNJ;IV/LI;;;;AUoMJ;EACE;EACA,ORrJK;EQsJL,QRtJK;EQuJL;EACA,ORnJK;EQoJL,QRpJK;EQqJL,kBR7MM;EQ8MN;EACA;EACA,YACE;EAEF;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,QRxLI;EQyLJ;;ATjQA;ES+PF;IAKI,ORzKiB;IQ0KjB,YACE;;;AAKN;EACE,kBR7PI;;ADfJ;ES2QF;IAII;;;AT/QF;ESmRF;IAEI;;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA,YACE;;ATlSF;ESwSA;IACE;IACA;IACA;;;AAIJ;EACE,aRxOI;;ADxEJ;ES+SF;IAII;;;;AC9TN;EACE;EACA;EACA;EACA,eT0EK;ESzEL;EACA,eTkFc;ESjFd,YACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA,kBTIM;ESHN;EACA;;AXDA;AAAA;EACE;;ACbA;EUOJ;AAAA;IXUI;;;AWAF;AAAA;EACE;;;AAOE;AAAA;EAEE;;AAGF;EACE,gBTkCD;;;AS3BL;EACE;;;AC9CF;EACE;EACA;EACA,kBVmBI;EUlBJ;EACA,eV+EY;;;AU1EhB;EACE,cVkBY;;;AUiCd;AAAA;AAAA;EAGE;EACA,eVMK;EULL,kBV7CM;EU8CN,eVgBc;EUfd;EACA;EACA;EACA;;AAIA;AAAA;AAAA;EACE,OVLG;EUMH;EACA;EACA;EACA;EACA,SVVG;EUWH;EACA;EACA,OV7DU;EU8DV;;AAEA;AAAA;AAAA;EACE,MVjEQ;;AUoEV;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;;AASJ;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAUJ;EACE;EACA,eVrEK;;AU6CL;EACE;EACA,SV/CG;EUgDH;EACA;EACA,eVtCY;;AUyCd;AAAA;EAEE;EACA;EACA;;;AAwBF;AAAA;EAEE;EACA,SVpFG;EUqFH;EACA;EACA,eV3EY;;;AUmFhB;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA,kBV3JI;EU4JJ;;AZzKF;AAAA;EACE;;ACHA;EWsKF;AAAA;IZ/JE;;;AYyKF;EACE;EACA,eVjHG;EUkHH,cVlHG;;AUqHL;EACE;EACA;;;AAKJ;AAAA;EAEE,SV9HK;EU+HL,eV/HK;EUgIL;EACA;EACA,eVtHc;;AUwHd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;AAAA;EAEE,YV9MM;EUmNJ,OVjNU;;;AUsNd;EACE,YVzNM;;;AWzBR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACvOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AbrBE;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;Ab5CJ;Ea+BE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAQR;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;Ad3GA;EACE;;ACOA;EcZJ;IfSI;;;;AAKF;EACE;;ACHA;EcRJ;IfeI;;;;AAKF;EACE;;ACbA;EcJJ;IfqBI;;;;AAKF;EACE;;ACvBA;EcAJ;If2BI;;;;AAKF;EACE;;ACjCA;EcIJ;IfiCI;;;;AAKF;EACE;;AC3CA;EcQJ;IfuCI;IACA,aErDuB;;;;AF0DzB;EACE;EACA,aE5DuB;;ADKvB;EcYJ;If+CI;;;;AAKF;EACE;EACA,aEvEuB;;ADKvB;EcgBJ;IfsDI;;;;AAKF;EACE;EACA,aElFuB;;ADKvB;EcoBJ;If6DI;;;;AAKF;EACE;EACA,aE7FuB;;ADKvB;EcwBJ;IfoEI;;;;AehEJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,abxDiB;;;Aa2DnB;EACE,ab1DyB;;;Aa6D3B;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/EF;EACE;EACA;EACA;;AAGE;EACE;;;ACLN;EACE;EACA;;;AAQA;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAhCF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AhBlCA;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhBzEJ;EgB6CE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAaN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAvBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AhB7GA;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AhB/IJ;EgBwHE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAvBF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AC3JR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;AAEA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AC3CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE,OjBwBW;EiBvBX,kBjBaM;EiBZN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACtBF;EACE,kBlBsBM;;;AkBnBR;EACI;EACA;EACA,elB8EY;EkB7EZ;EACA;;AAEA;EACI,OlB4BG;EkB3BH;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlBkBK;EkBjBL;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBmDY;EkBlDZ;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBKY;EkBJZ;EACA;;AAEA;EACI,OlBjCE;EkBkCF;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB3CI;EkB4CJ;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elBtBY;EkBuBZ;EACA;;AACA;EACE;EACA;EACA,OlB7DI;EkB8DJ;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACI;EACA;EACA,elBpEY;EkBqEZ;EACA;;AAEA;EACI,OlBlHI;EkBmHJ;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE,OlB5HM;EkB6HN;EACA;EACA;EACA;EACA;;;AAIN;EACI;EACA;EACA,elB/FY;EkBgGZ;EACA;;AACA;EACE;EACA;EACA,OlB9IM;EkB+IN;EACA;EACA;EACA;EACA;;;AAIN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE","sourcesContent":["/*\ngenerated by accessible-pygments \nCopyright (c) 2022, Quansight Labs\nLicensed under the BSD license, see LICENSE for details.\n--\ngenerated by Pygments \nCopyright 2006-2025 by the Pygments team.\nLicensed under the BSD license, see LICENSE for details.\n*/\n\n.highlight .hll { background-color: #0969da4a }\n.highlight .c { color: #6E7781 } /* Comment */\n.highlight .err { color: #CF222E } /* Error */\n.highlight .k { color: #CF222E } /* Keyword */\n.highlight .l { color: #953800 } /* Literal */\n.highlight .n { color: #8250DF } /* Name */\n.highlight .o { color: #116329 } /* Operator */\n.highlight .p { color: #24292F } /* Punctuation */\n.highlight .ch { color: #6E7781 } /* Comment.Hashbang */\n.highlight .cm { color: #6E7781 } /* Comment.Multiline */\n.highlight .cp { color: #6E7781 } /* Comment.Preproc */\n.highlight .cpf { color: #6E7781 } /* Comment.PreprocFile */\n.highlight .c1 { color: #6E7781 } /* Comment.Single */\n.highlight .cs { color: #6E7781 } /* Comment.Special */\n.highlight .gd { color: #0550AE } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #CF222E } /* Generic.Error */\n.highlight .gh { color: #0550AE } /* Generic.Heading */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #0550AE } /* Generic.Subheading */\n.highlight .kc { color: #0550AE } /* Keyword.Constant */\n.highlight .kd { color: #CF222E } /* Keyword.Declaration */\n.highlight .kn { color: #CF222E } /* Keyword.Namespace */\n.highlight .kp { color: #CF222E } /* Keyword.Pseudo */\n.highlight .kr { color: #CF222E } /* Keyword.Reserved */\n.highlight .kt { color: #CF222E } /* Keyword.Type */\n.highlight .ld { color: #953800 } /* Literal.Date */\n.highlight .m { color: #953800 } /* Literal.Number */\n.highlight .s { color: #0550AE } /* Literal.String */\n.highlight .na { color: #953800 } /* Name.Attribute */\n.highlight .nb { color: #953800 } /* Name.Builtin */\n.highlight .nc { color: #0550AE } /* Name.Class */\n.highlight .no { color: #0550AE } /* Name.Constant */\n.highlight .nd { color: #953800 } /* Name.Decorator */\n.highlight .ni { color: #116329 } /* Name.Entity */\n.highlight .ne { color: #8250DF } /* Name.Exception */\n.highlight .nf { color: #0550AE } /* Name.Function */\n.highlight .nl { color: #953800 } /* Name.Label */\n.highlight .nn { color: #24292F } /* Name.Namespace */\n.highlight .nx { color: #8250DF } /* Name.Other */\n.highlight .py { color: #0550AE } /* Name.Property */\n.highlight .nt { color: #116329 } /* Name.Tag */\n.highlight .nv { color: #953800 } /* Name.Variable */\n.highlight .ow { color: #8250DF } /* Operator.Word */\n.highlight .pm { color: #24292F } /* Punctuation.Marker */\n.highlight .w { color: #24292F } /* Text.Whitespace */\n.highlight .mb { color: #953800 } /* Literal.Number.Bin */\n.highlight .mf { color: #953800 } /* Literal.Number.Float */\n.highlight .mh { color: #953800 } /* Literal.Number.Hex */\n.highlight .mi { color: #953800 } /* Literal.Number.Integer */\n.highlight .mo { color: #953800 } /* Literal.Number.Oct */\n.highlight .sa { color: #0550AE } /* Literal.String.Affix */\n.highlight .sb { color: #0550AE } /* Literal.String.Backtick */\n.highlight .sc { color: #0550AE } /* Literal.String.Char */\n.highlight .dl { color: #0550AE } /* Literal.String.Delimiter */\n.highlight .sd { color: #0550AE } /* Literal.String.Doc */\n.highlight .s2 { color: #0550AE } /* Literal.String.Double */\n.highlight .se { color: #0550AE } /* Literal.String.Escape */\n.highlight .sh { color: #0550AE } /* Literal.String.Heredoc */\n.highlight .si { color: #0550AE } /* Literal.String.Interpol */\n.highlight .sx { color: #0550AE } /* Literal.String.Other */\n.highlight .sr { color: #0550AE } /* Literal.String.Regex */\n.highlight .s1 { color: #0550AE } /* Literal.String.Single */\n.highlight .ss { color: #0550AE } /* Literal.String.Symbol */\n.highlight .bp { color: #953800 } /* Name.Builtin.Pseudo */\n.highlight .fm { color: #0550AE } /* Name.Function.Magic */\n.highlight .vc { color: #953800 } /* Name.Variable.Class */\n.highlight .vg { color: #953800 } /* Name.Variable.Global */\n.highlight .vi { color: #953800 } /* Name.Variable.Instance */\n.highlight .vm { color: #953800 } /* Name.Variable.Magic */\n.highlight .il { color: #953800 } /* Literal.Number.Integer.Long */\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n   ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n  line-height: 1.15; /* 1 */\n  text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n  /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n  /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  appearance: auto;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n  appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  appearance: auto; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n  display: none;\n}\n","// Base element style overrides\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\n:root {\n  color-scheme: $color-scheme;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nhtml {\n  scroll-behavior: smooth;\n\n  @include fs-4;\n}\n\nbody {\n  font-family: $body-font-family;\n  font-size: inherit;\n  line-height: $body-line-height;\n  color: $body-text-color;\n  background-color: $body-background-color;\n  overflow-wrap: break-word;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n  margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n#toctitle {\n  margin-top: 0;\n  margin-bottom: 1em;\n  font-weight: 500;\n  line-height: $body-heading-line-height;\n  color: $body-heading-color;\n}\n\np {\n  margin-top: 1em;\n  margin-bottom: 1em;\n}\n\na {\n  color: $link-color;\n  text-decoration: none;\n}\n\na:not([class]) {\n  text-decoration: underline;\n  text-decoration-color: $border-color;\n  text-underline-offset: 2px;\n\n  &:hover {\n    text-decoration-color: rgba($link-color, 0.45);\n  }\n}\n\ncode {\n  font-family: $mono-font-family;\n  font-size: 0.75em;\n  line-height: $body-line-height;\n}\n\nfigure,\npre {\n  margin: 0;\n}\n\nli {\n  margin: 0.25em 0;\n}\n\nimg {\n  max-width: 100%;\n  height: auto;\n}\n\nhr {\n  height: 1px;\n  padding: 0;\n  margin: $sp-6 0;\n  background-color: $border-color;\n  border: 0;\n}\n\n// adds a GitHub-style sidebar to blockquotes\nblockquote {\n  margin: 10px 0;\n\n  // resets user-agent stylesheets for blockquotes\n  margin-block-start: 0;\n  margin-inline-start: 0;\n  padding-left: 1rem;\n  border-left: 3px solid $border-color;\n}\n","$color-scheme: light !default;\n$body-background-color: $white !default;\n$body-heading-color: $grey-dk-300 !default;\n$body-text-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$sidebar-color: $grey-lt-000 !default;\n$base-button-color: #f7f7f7 !default;\n$btn-primary-color: $purple-100 !default;\n$code-background-color: $white !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n$table-background-color: $white !default;\n$search-background-color: $white !default;\n$search-result-preview-color: $grey-dk-100 !default;\n\n@import \"./vendor/accessible-pygments/github-light\";\n","// TODO: would be good to consider refactoring these mixins in a way that\n// the & { } selector is not necessary. Note that removing the & { }\n// will trip a SCSS deprecation warning -\n// see https://sass-lang.com/documentation/breaking-changes/mixed-decls/\n// stylelint-disable block-no-redundant-nested-style-rules\n@mixin fs-1 {\n  & {\n    font-size: $font-size-1 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-1-sm !important;\n  }\n}\n\n@mixin fs-2 {\n  & {\n    font-size: $font-size-2 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-3 !important;\n  }\n}\n\n@mixin fs-3 {\n  & {\n    font-size: $font-size-3 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-4 !important;\n  }\n}\n\n@mixin fs-4 {\n  & {\n    font-size: $font-size-4 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-5 !important;\n  }\n}\n\n@mixin fs-5 {\n  & {\n    font-size: $font-size-5 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-6 !important;\n  }\n}\n\n@mixin fs-6 {\n  & {\n    font-size: $font-size-6 !important;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n}\n\n@mixin fs-7 {\n  & {\n    font-size: $font-size-7 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-8 !important;\n  }\n}\n\n@mixin fs-8 {\n  & {\n    font-size: $font-size-8 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-9 !important;\n  }\n}\n\n@mixin fs-9 {\n  & {\n    font-size: $font-size-9 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10 !important;\n  }\n}\n\n@mixin fs-10 {\n  & {\n    font-size: $font-size-10 !important;\n    line-height: $body-heading-line-height;\n  }\n\n  @include mq(sm) {\n    font-size: $font-size-10-sm !important;\n  }\n}\n","// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n//   ..medium and up styles\n// }\n@mixin mq($name) {\n  // Retrieves the value from the key\n  $value: map-get($media-queries, $name);\n\n  // If the key exists in the map\n  @if $value {\n    // Prints a media query based on the value\n    @media (min-width: $value) {\n      @content;\n    }\n  } @else {\n    @warn \"No value could be retrieved from `#{$media-query}`. Please make sure it is defined in `$media-queries` map.\";\n  }\n}\n\n// Responsive container\n\n@mixin container {\n  padding-right: $gutter-spacing-sm;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-right: $gutter-spacing;\n    padding-left: $gutter-spacing;\n  }\n}\n","// Typography\n\n// prettier-ignore\n$body-font-family: system-ui, -apple-system, blinkmacsystemfont, \"Segoe UI\",\n  roboto, \"Helvetica Neue\", arial, sans-serif, \"Segoe UI Emoji\" !default;\n$mono-font-family: \"SFMono-Regular\", menlo, consolas, monospace !default;\n$root-font-size: 16px !default; // DEPRECATED: previously base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n// Font size\n// `-sm` suffix is the size at the small (and above) media query\n\n$font-size-1: 0.5625rem !default;\n$font-size-1-sm: 0.625rem !default;\n$font-size-2: 0.6875rem !default; // h4 - uppercased!, h6 not uppercased, text-small\n$font-size-3: 0.75rem !default; // h5\n$font-size-4: 0.875rem !default;\n$font-size-5: 1rem !default; // h3\n$font-size-6: 1.125rem !default; // h2\n$font-size-7: 1.5rem !default;\n$font-size-8: 2rem !default; // h1\n$font-size-9: 2.25rem !default;\n$font-size-10: 2.625rem !default;\n$font-size-10-sm: 3rem !default;\n\n// Colors\n\n$white: #fff !default;\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n// Spacing\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n  sp-0: 0,\n  sp-1: $spacing-unit * 0.25,\n  sp-2: $spacing-unit * 0.5,\n  sp-3: $spacing-unit * 0.75,\n  sp-4: $spacing-unit,\n  sp-5: $spacing-unit * 1.5,\n  sp-6: $spacing-unit * 2,\n  sp-7: $spacing-unit * 2.5,\n  sp-8: $spacing-unit * 3,\n  sp-9: $spacing-unit * 3.5,\n  sp-10: $spacing-unit * 4,\n) !default;\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5  rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1    rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5  rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2    rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5  rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3    rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5  rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4  rem == 64px\n\n// Borders\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n// Grid system\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 16.5rem !default;\n$nav-width-md: 15.5rem !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 50rem !default;\n$header-height: 3.75rem !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n// Media queries in pixels\n\n$media-queries: (\n  xs: 20rem,\n  sm: 31.25rem,\n  md: $content-width,\n  lg: $content-width + $nav-width,\n  xl: 87.5rem,\n) !default;\n","// The basic two column layout\n\n.side-bar {\n  z-index: 0;\n  display: flex;\n  flex-wrap: wrap;\n  background-color: $sidebar-color;\n\n  @include mq(md) {\n    flex-flow: column nowrap;\n    position: fixed;\n    width: $nav-width-md;\n    height: 100%;\n    border-right: $border $border-color;\n    align-items: flex-end;\n  }\n\n  @include mq(lg) {\n    width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n    min-width: $nav-width;\n  }\n\n  & + .main {\n    @include mq(md) {\n      margin-left: $nav-width-md;\n    }\n\n    @include mq(lg) {\n      // stylelint-disable function-name-case\n      // disable for Max(), we want to use the CSS max() function\n      margin-left: Max(\n        #{$nav-width},\n        calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})\n      );\n      // stylelint-enable function-name-case\n    }\n\n    .main-header {\n      display: none;\n      background-color: $sidebar-color;\n\n      @include mq(md) {\n        display: flex;\n        background-color: $body-background-color;\n      }\n\n      &.nav-open {\n        display: block;\n\n        @include mq(md) {\n          display: flex;\n        }\n      }\n    }\n  }\n}\n\n.main {\n  margin: auto;\n\n  @include mq(md) {\n    position: relative;\n    max-width: $content-width;\n  }\n}\n\n.main-content-wrap {\n  padding-top: $gutter-spacing-sm;\n  padding-bottom: $gutter-spacing-sm;\n\n  @include container;\n\n  @include mq(md) {\n    padding-top: $gutter-spacing;\n    padding-bottom: $gutter-spacing;\n  }\n}\n\n.main-header {\n  z-index: 0;\n  border-bottom: $border $border-color;\n\n  @include mq(md) {\n    display: flex;\n    justify-content: space-between;\n    height: $header-height;\n  }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n  width: 100%;\n\n  @include mq(lg) {\n    width: $nav-width;\n  }\n}\n\n.site-nav {\n  display: none;\n\n  &.nav-open {\n    display: block;\n  }\n\n  @include mq(md) {\n    display: block;\n    padding-top: $sp-8;\n    padding-bottom: $gutter-spacing-sm;\n    overflow-y: auto;\n    flex: 1 1 auto;\n  }\n}\n\n.site-header {\n  display: flex;\n  min-height: $header-height;\n  align-items: center;\n\n  @include mq(md) {\n    height: $header-height;\n    max-height: $header-height;\n    border-bottom: $border $border-color;\n  }\n}\n\n.site-title {\n  flex-grow: 1;\n  display: flex;\n  height: 100%;\n  align-items: center;\n  padding-top: $sp-3;\n  padding-bottom: $sp-3;\n  color: $body-heading-color;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n  @include container;\n\n  @include fs-6;\n\n  @include mq(md) {\n    padding-top: $sp-2;\n    padding-bottom: $sp-2;\n  }\n}\n\n@if variable-exists(logo) {\n  .site-logo {\n    width: 100%;\n    height: 100%;\n    background-image: url($logo);\n    background-repeat: no-repeat;\n    background-position: left center;\n    background-size: contain;\n  }\n}\n\n.site-button {\n  display: flex;\n  height: 100%;\n  padding: $gutter-spacing-sm;\n  align-items: center;\n  outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n}\n\n@include mq(md) {\n  .site-header .site-button {\n    display: none;\n  }\n}\n\n.site-title:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 80%,\n    rgba($feedback-color, 0) 100%\n  );\n}\n\n.site-button:hover {\n  background-image: linear-gradient(\n    -90deg,\n    rgba($feedback-color, 1) 0%,\n    rgba($feedback-color, 0.8) 100%\n  );\n}\n\n.site-footer {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  padding-top: $sp-4;\n  padding-bottom: $sp-4;\n\n  @include container;\n\n  @include fs-2;\n\n  @include mq(md) {\n    position: static;\n    justify-self: end;\n  }\n}\n\n.icon {\n  width: $sp-5;\n  height: $sp-5;\n  color: $link-color;\n}\n","@charset \"UTF-8\";\n\n// Styles for rendered markdown in the .main-content container\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id\n\n.main-content {\n  line-height: $content-line-height;\n\n  ol,\n  ul,\n  dl,\n  pre,\n  address,\n  blockquote,\n  .table-wrapper {\n    margin-top: 0.5em;\n  }\n\n  a {\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  ul,\n  ol {\n    padding-left: 1.5em;\n  }\n\n  li {\n    .highlight {\n      margin-top: $sp-1;\n    }\n  }\n\n  ol {\n    list-style-type: none;\n    counter-reset: step-counter;\n\n    > li {\n      position: relative;\n\n      &::before {\n        position: absolute;\n        top: 0.2em;\n        left: -1.6em;\n        color: $grey-dk-000;\n        content: counter(step-counter);\n        counter-increment: step-counter;\n        @include fs-3;\n\n        @include mq(sm) {\n          top: 0.11em;\n        }\n      }\n\n      ol {\n        counter-reset: sub-counter;\n\n        > li {\n          &::before {\n            content: counter(sub-counter, lower-alpha);\n            counter-increment: sub-counter;\n          }\n        }\n      }\n    }\n  }\n\n  ul {\n    list-style: none;\n\n    > li {\n      &::before {\n        position: absolute;\n        margin-left: -1.4em;\n        color: $grey-dk-000;\n        content: \"•\";\n      }\n    }\n  }\n\n  .task-list-item {\n    &::before {\n      content: \"\";\n    }\n  }\n\n  .task-list-item-checkbox {\n    margin-right: 0.6em;\n    margin-left: -1.4em;\n\n    // The same margin-left is used above for ul > li::before\n  }\n\n  hr + * {\n    margin-top: 0;\n  }\n\n  h1:first-of-type {\n    margin-top: 0.5em;\n  }\n\n  dl {\n    display: grid;\n    grid-template: auto / 10em 1fr;\n  }\n\n  dt,\n  dd {\n    margin: 0.25em 0;\n  }\n\n  dt {\n    grid-column: 1;\n    font-weight: 500;\n    text-align: right;\n\n    &::after {\n      content: \":\";\n    }\n  }\n\n  dd {\n    grid-column: 2;\n    margin-bottom: 0;\n    margin-left: 1em;\n\n    blockquote,\n    div,\n    dl,\n    dt,\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6,\n    li,\n    ol,\n    p,\n    pre,\n    table,\n    ul,\n    .table-wrapper {\n      &:first-child {\n        margin-top: 0;\n      }\n    }\n  }\n\n  dd,\n  ol,\n  ul {\n    dl:first-child {\n      dt:first-child,\n      dd:nth-child(2) {\n        margin-top: 0;\n      }\n    }\n  }\n\n  .anchor-heading {\n    position: absolute;\n    right: -$sp-4;\n    width: $sp-5;\n    height: 100%;\n    padding-right: $sp-1;\n    padding-left: $sp-1;\n    overflow: visible;\n\n    @include mq(md) {\n      right: auto;\n      left: -$sp-5;\n    }\n\n    svg {\n      display: inline-block;\n      width: 100%;\n      height: 100%;\n      color: $link-color;\n      visibility: hidden;\n    }\n  }\n\n  .anchor-heading:hover,\n  .anchor-heading:focus,\n  h1:hover > .anchor-heading,\n  h2:hover > .anchor-heading,\n  h3:hover > .anchor-heading,\n  h4:hover > .anchor-heading,\n  h5:hover > .anchor-heading,\n  h6:hover > .anchor-heading {\n    svg {\n      visibility: visible;\n    }\n  }\n\n  summary {\n    cursor: pointer;\n  }\n\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  #toctitle {\n    position: relative;\n    margin-top: 1.5em;\n    margin-bottom: 0.25em;\n\n    + table,\n    + .table-wrapper,\n    + .code-example,\n    + .highlighter-rouge,\n    + .sectionbody .listingblock {\n      margin-top: 1em;\n    }\n\n    + p:not(.label) {\n      margin-top: 0;\n    }\n  }\n\n  > h1:first-child,\n  > h2:first-child,\n  > h3:first-child,\n  > h4:first-child,\n  > h5:first-child,\n  > h6:first-child,\n  > .sect1:first-child > h2,\n  > .sect2:first-child > h3,\n  > .sect3:first-child > h4,\n  > .sect4:first-child > h5,\n  > .sect5:first-child > h6 {\n    margin-top: $sp-2;\n  }\n}\n","// Main nav, breadcrumb, etc...\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n  padding: 0;\n  margin-top: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-list-item {\n    position: relative;\n    margin: 0;\n\n    @include fs-4;\n\n    @include mq(md) {\n      @include fs-3;\n    }\n\n    .nav-list-link {\n      display: block;\n      min-height: $nav-list-item-height-sm;\n      padding-top: $sp-1;\n      padding-bottom: $sp-1;\n      line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @if $nav-list-expander-right {\n        padding-right: $nav-list-item-height-sm;\n        padding-left: $gutter-spacing-sm;\n      } @else {\n        padding-right: $gutter-spacing-sm;\n        padding-left: $nav-list-item-height-sm;\n      }\n\n      @include mq(md) {\n        min-height: $nav-list-item-height;\n        line-height: #{$nav-list-item-height - 2 * $sp-1};\n        @if $nav-list-expander-right {\n          padding-right: $nav-list-item-height;\n          padding-left: $gutter-spacing;\n        } @else {\n          padding-right: $gutter-spacing;\n          padding-left: $nav-list-item-height;\n        }\n      }\n\n      &.external > svg {\n        width: $sp-4;\n        height: $sp-4;\n        vertical-align: text-bottom;\n      }\n\n      &.active {\n        font-weight: 600;\n        text-decoration: none;\n      }\n\n      &:hover,\n      &.active {\n        color: darken($link-color, 5%);\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 80%,\n          rgba($feedback-color, 0) 100%\n        );\n      }\n    }\n\n    .nav-list-expander {\n      position: absolute;\n      @if $nav-list-expander-right {\n        right: 0;\n      }\n\n      width: $nav-list-item-height-sm;\n      height: $nav-list-item-height-sm;\n      padding: #{$nav-list-item-height-sm * 0.25};\n      color: $link-color;\n      outline-offset: -1px; // Fixes outline clipping on both desktop/mobile \"views\"\n\n      @include mq(md) {\n        width: $nav-list-item-height;\n        height: $nav-list-item-height;\n        padding: #{$nav-list-item-height * 0.25};\n      }\n\n      &:hover {\n        background-image: linear-gradient(\n          -90deg,\n          rgba($feedback-color, 1) 0%,\n          rgba($feedback-color, 0.8) 100%\n        );\n      }\n\n      @if $nav-list-expander-right {\n        svg {\n          transform: rotate(90deg);\n        }\n      }\n    }\n\n    > .nav-list {\n      display: none;\n      padding-left: $sp-3;\n      list-style: none;\n\n      .nav-list-item {\n        position: relative;\n\n        .nav-list-link {\n          color: $nav-child-link-color;\n        }\n\n        .nav-list-expander {\n          color: $nav-child-link-color;\n        }\n      }\n    }\n\n    &.active {\n      > .nav-list-expander svg {\n        @if $nav-list-expander-right {\n          transform: rotate(-90deg);\n        } @else {\n          transform: rotate(90deg);\n        }\n      }\n\n      > .nav-list {\n        display: block;\n      }\n    }\n  }\n}\n\n.nav-category {\n  padding: $sp-2 $gutter-spacing-sm;\n  font-weight: 600;\n  text-align: start;\n  text-transform: uppercase;\n  border-bottom: $border $border-color;\n  @include fs-2;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing;\n    margin-top: $gutter-spacing-sm;\n    text-align: start;\n\n    &:first-child {\n      margin-top: 0;\n    }\n  }\n}\n\n.nav-list.nav-category-list {\n  > .nav-list-item {\n    margin: 0;\n\n    > .nav-list {\n      padding: 0;\n\n      > .nav-list-item {\n        > .nav-list-link {\n          color: $link-color;\n        }\n\n        > .nav-list-expander {\n          color: $link-color;\n        }\n      }\n    }\n  }\n}\n\n// Aux nav\n\n.aux-nav {\n  height: 100%;\n  overflow-x: auto;\n  @include fs-2;\n\n  .aux-nav-list {\n    display: flex;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n\n  .aux-nav-list-item {\n    display: inline-block;\n    height: 100%;\n    padding: 0;\n    margin: 0;\n  }\n\n  @include mq(md) {\n    padding-right: $gutter-spacing-sm;\n  }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n  @include mq(md) {\n    margin-top: -$sp-4;\n  }\n}\n\n.breadcrumb-nav-list {\n  padding-left: 0;\n  margin-bottom: $sp-3;\n  list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n  display: table-cell;\n  @include fs-2;\n\n  &::before {\n    display: none;\n  }\n\n  &::after {\n    display: inline-block;\n    margin-right: $sp-2;\n    margin-left: $sp-2;\n    color: $grey-dk-000;\n    content: \"/\";\n  }\n\n  &:last-child {\n    &::after {\n      content: \"\";\n    }\n  }\n}\n","// Typography\n// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id\n\nh1,\n.text-alpha {\n  font-weight: 300;\n\n  @include fs-8;\n}\n\nh2,\n.text-beta,\n#toctitle {\n  @include fs-6;\n}\n\nh3,\n.text-gamma {\n  @include fs-5;\n}\n\nh4,\n.text-delta {\n  font-weight: 400;\n  text-transform: uppercase;\n  letter-spacing: 0.1em;\n\n  @include fs-2;\n}\n\nh4 code {\n  text-transform: none;\n}\n\nh5,\n.text-epsilon {\n  @include fs-3;\n}\n\nh6,\n.text-zeta {\n  @include fs-2;\n}\n\n.text-small {\n  @include fs-2;\n}\n\n.text-mono {\n  font-family: $mono-font-family !important;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n","// Labels (not the form kind)\n\n// this :not() prevents a style clash with Mermaid.js's\n// diagram labels, which also use .label\n// for more, see https://github.com/just-the-docs/just-the-docs/issues/1272\n// and the accompanying PR\n.label:not(g),\n.label-blue:not(g) {\n  display: inline-block;\n  padding: 0.16em 0.56em;\n  margin-right: $sp-2;\n  margin-left: $sp-2;\n  color: $white;\n  text-transform: uppercase;\n  vertical-align: middle;\n  background-color: $blue-100;\n  border-radius: 12px;\n\n  @include fs-2;\n}\n\n.label-green:not(g) {\n  background-color: $green-300;\n}\n\n.label-purple:not(g) {\n  background-color: $purple-100;\n}\n\n.label-red:not(g) {\n  background-color: $red-300;\n}\n\n.label-yellow:not(g) {\n  color: $grey-dk-200;\n  background-color: $yellow-200;\n}\n","// Buttons and things that look like buttons\n// stylelint-disable color-named\n\n.btn {\n  display: inline-block;\n  box-sizing: border-box;\n  padding: 0.3em 1em;\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: 500;\n  line-height: 1.5;\n  color: $link-color;\n  text-decoration: none;\n  vertical-align: baseline;\n  cursor: pointer;\n  background-color: $base-button-color;\n  border-width: 0;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  appearance: none;\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: 0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: darken($link-color, 2%);\n  }\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    text-decoration: none;\n    background-color: darken($base-button-color, 1%);\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($base-button-color, 3%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken(#dcdcdc, 5%);\n  }\n\n  &:disabled,\n  &.disabled {\n    &,\n    &:hover {\n      color: rgba(102, 102, 102, 0.5);\n      cursor: default;\n      background-color: rgba(229, 229, 229, 0.5);\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n\n.btn-outline {\n  color: $link-color;\n  background: transparent;\n  box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n  &:hover,\n  &:active,\n  &.zeroclipboard-is-hover,\n  &.zeroclipboard-is-active {\n    color: darken($link-color, 4%);\n    text-decoration: none;\n    background-color: transparent;\n    box-shadow: inset 0 0 0 3px $grey-lt-300;\n  }\n\n  &:focus {\n    text-decoration: none;\n    outline: none;\n    box-shadow:\n      inset 0 0 0 2px $grey-dk-100,\n      0 0 0 3px rgba(blue, 0.25);\n  }\n\n  &:focus:hover,\n  &.selected:focus {\n    box-shadow: inset 0 0 0 2px $grey-dk-100;\n  }\n}\n\n.btn-primary {\n  @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n  @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n  @include btn-color($white, $blue-200);\n}\n\n.btn-green {\n  @include btn-color($white, $green-300);\n}\n\n.btn-reset {\n  background: none;\n  border: none;\n  margin: 0;\n  text-align: inherit;\n  font: inherit;\n  border-radius: 0;\n  appearance: none;\n}\n","// Colored button\n\n@mixin btn-color($fg, $bg) {\n  color: $fg;\n  background-color: darken($bg, 2%);\n  background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n  box-shadow:\n    0 1px 3px rgba(0, 0, 0, 0.25),\n    0 4px 10px rgba(0, 0, 0, 0.12);\n\n  &:hover,\n  &.zeroclipboard-is-hover {\n    color: $fg;\n    background-color: darken($bg, 4%);\n    background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n  }\n\n  &:active,\n  &.selected,\n  &.zeroclipboard-is-active {\n    background-color: darken($bg, 5%);\n    background-image: none;\n    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n  }\n\n  &.selected:hover {\n    background-color: darken($bg, 10%);\n  }\n}\n","// Search input and autocomplete\n\n.search {\n  position: relative;\n  z-index: 2;\n  flex-grow: 1;\n  height: $sp-10;\n  padding: $sp-2;\n  transition: padding linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: relative !important;\n    width: auto !important;\n    height: 100% !important;\n    padding: 0;\n    transition: none;\n  }\n}\n\n.search-input-wrap {\n  position: relative;\n  z-index: 1;\n  height: $sp-8;\n  overflow: hidden;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  transition: height linear #{$transition-duration * 0.5};\n\n  @include mq(md) {\n    position: absolute;\n    width: 100%;\n    max-width: $search-results-width;\n    height: 100% !important;\n    border-radius: 0;\n    box-shadow: none;\n    transition: width ease $transition-duration;\n  }\n}\n\n.search-input {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing-sm + $sp-5};\n  font-size: 1rem;\n  color: $body-text-color;\n  background-color: $search-background-color;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 0;\n  border-left: 0;\n  border-radius: 0;\n\n  @include mq(md) {\n    padding: $sp-2 $gutter-spacing-sm $sp-2 #{$gutter-spacing + $sp-5};\n    font-size: 0.875rem;\n    background-color: $body-background-color;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  &:focus {\n    outline-offset: -1px;\n\n    + .search-label .search-icon {\n      color: $link-color;\n    }\n  }\n}\n\n.search-label {\n  position: absolute;\n  display: flex;\n  height: 100%;\n  padding-left: $gutter-spacing-sm;\n\n  @include mq(md) {\n    padding-left: $gutter-spacing;\n    transition: padding-left linear #{$transition-duration * 0.5};\n  }\n\n  .search-icon {\n    width: #{$sp-4 * 1.2};\n    height: #{$sp-4 * 1.2};\n    align-self: center;\n    color: $grey-dk-000;\n  }\n}\n\n.search-results {\n  position: absolute;\n  left: 0;\n  display: none;\n  width: 100%;\n  max-height: calc(100% - #{$sp-10});\n  overflow-y: auto;\n  background-color: $search-background-color;\n  border-bottom-right-radius: $border-radius;\n  border-bottom-left-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n\n  @include mq(md) {\n    top: 100%;\n    width: $search-results-width;\n    max-height: calc(100vh - 200%) !important;\n  }\n}\n\n.search-results-list {\n  padding-left: 0;\n  margin-bottom: $sp-1;\n  list-style: none;\n  @include fs-4;\n\n  @include mq(md) {\n    @include fs-3;\n  }\n}\n\n.search-results-list-item {\n  padding: 0;\n  margin: 0;\n}\n\n.search-result {\n  display: block;\n  padding: $sp-1 $sp-3;\n  outline-offset: -1px;\n\n  &:hover,\n  &.active {\n    background-color: $feedback-color;\n  }\n}\n\n.search-result-title {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 40%;\n    padding-right: $sp-2;\n    vertical-align: top;\n  }\n}\n\n.search-result-doc {\n  display: flex;\n  align-items: center;\n  overflow-wrap: break-word;\n\n  &.search-result-doc-parent {\n    opacity: 0.5;\n    @include fs-3;\n\n    @include mq(md) {\n      @include fs-2;\n    }\n  }\n\n  .search-result-icon {\n    width: $sp-4;\n    height: $sp-4;\n    margin-right: $sp-2;\n    color: $link-color;\n    flex-shrink: 0;\n  }\n\n  .search-result-doc-title {\n    overflow: auto;\n  }\n}\n\n.search-result-section {\n  margin-left: #{$sp-4 + $sp-2};\n  overflow-wrap: break-word;\n}\n\n.search-result-rel-url {\n  display: block;\n  margin-left: #{$sp-4 + $sp-2};\n  overflow: hidden;\n  color: $search-result-preview-color;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  @include fs-1;\n}\n\n.search-result-previews {\n  display: block;\n  padding-top: $sp-2;\n  padding-bottom: $sp-2;\n  padding-left: $sp-4;\n  margin-left: $sp-2;\n  color: $search-result-preview-color;\n  overflow-wrap: break-word;\n  border-left: $border;\n  border-left-color: $border-color;\n  @include fs-2;\n\n  @include mq(sm) {\n    display: inline-block;\n    width: 60%;\n    padding-left: $sp-2;\n    margin-left: 0;\n    vertical-align: top;\n  }\n}\n\n.search-result-preview + .search-result-preview {\n  margin-top: $sp-1;\n}\n\n.search-result-highlight {\n  font-weight: bold;\n}\n\n.search-no-result {\n  padding: $sp-2 $sp-3;\n  @include fs-3;\n}\n\n.search-button {\n  position: fixed;\n  right: $sp-4;\n  bottom: $sp-4;\n  display: flex;\n  width: $sp-9;\n  height: $sp-9;\n  background-color: $search-background-color;\n  border: 1px solid rgba($link-color, 0.3);\n  border-radius: #{$sp-9 * 0.5};\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n  align-items: center;\n  justify-content: center;\n}\n\n.search-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1;\n  width: 0;\n  height: 0;\n  background-color: rgba(0, 0, 0, 0.3);\n  opacity: 0;\n  transition:\n    opacity ease $transition-duration,\n    width 0s $transition-duration,\n    height 0s $transition-duration;\n}\n\n.search-active {\n  .search {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    padding: 0;\n  }\n\n  .search-input-wrap {\n    height: $sp-10;\n    border-radius: 0;\n\n    @include mq(md) {\n      width: $search-results-width;\n      box-shadow:\n        0 1px 2px rgba(0, 0, 0, 0.12),\n        0 3px 10px rgba(0, 0, 0, 0.08);\n    }\n  }\n\n  .search-input {\n    background-color: $search-background-color;\n\n    @include mq(md) {\n      padding-left: 2.3rem;\n    }\n  }\n\n  .search-label {\n    @include mq(md) {\n      padding-left: 0.6rem;\n    }\n  }\n\n  .search-results {\n    display: block;\n  }\n\n  .search-overlay {\n    width: 100%;\n    height: 100%;\n    opacity: 1;\n    transition:\n      opacity ease $transition-duration,\n      width 0s,\n      height 0s;\n  }\n\n  @include mq(md) {\n    .main {\n      position: fixed;\n      right: 0;\n      left: 0;\n    }\n  }\n\n  .main-header {\n    padding-top: $sp-10;\n\n    @include mq(md) {\n      padding-top: 0;\n    }\n  }\n}\n","// Tables\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $sp-5;\n  overflow-x: auto;\n  border-radius: $border-radius;\n  box-shadow:\n    0 1px 2px rgba(0, 0, 0, 0.12),\n    0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n  display: table;\n  min-width: 100%;\n  border-collapse: separate;\n}\n\nth,\ntd {\n  min-width: 7.5rem;\n  padding: $sp-2 $sp-3;\n  background-color: $table-background-color;\n  border-bottom: $border rgba($border-color, 0.5);\n  border-left: $border $border-color;\n\n  @include fs-3;\n\n  &:first-of-type {\n    border-left: 0;\n  }\n}\n\ntbody {\n  tr {\n    &:last-of-type {\n      th,\n      td {\n        border-bottom: 0;\n      }\n\n      td {\n        padding-bottom: $sp-3;\n      }\n    }\n  }\n}\n\nthead {\n  th {\n    border-bottom: $border $border-color;\n  }\n}\n","// Code and syntax highlighting\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty\n\n// {% raw %}\n\n// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.\n:not(pre, figure) {\n  & > code {\n    padding: 0.2em 0.15em;\n    font-weight: 400;\n    background-color: $code-background-color;\n    border: $border $border-color;\n    border-radius: $border-radius;\n  }\n}\n\n// Avoid appearance of dark border around visited code links in Safari\na:visited code {\n  border-color: $border-color;\n}\n\n// Content structure for highlighted code blocks using fences or Liquid\n//\n// ```[LANG]...```, no kramdown line_numbers:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//\n// ```[LANG]...```, kramdown line_numbers = true:\n//   div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.rouge-gutter.gl > pre.lineno\n//   | td.rouge-code > pre\n//\n// {% highlight LANG %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//\n// {% highlight LANG linenos %}...{% endhighlight %}:\n//   figure.highlight > pre > code.language-LANG\n//   > div.table-wrapper > table.rouge-table > tbody > tr\n//   > td.gutter.gl > pre.lineno\n//   | td.code > pre\n//\n// ----...---- (AsciiDoc)\n//   div.listingblock > div.content > pre.rouge.highlight\n//\n// fix_linenos removes the outermost pre when it encloses table.rouge-table\n//\n// See docs/index-test.md for some tests.\n//\n// No kramdown line_numbers: fences and Liquid highlighting look the same.\n// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?\n\n// ```[LANG]...```\n// or in AsciiDoc:\n//\n//     ----\n//     ...\n//     ----\n\n// the code may appear with 3 different types:\n// container \\ case:  default case,          code with line number,   code with html rendering\n// top level:         div.highlighter-rouge, figure.highlight,        figure.highlight\n// second level:      div.highlight,         div.table-wrapper,       pre.highlight\n// third level:       pre.highlight,         td.code,                 absent\n// last level:        code,                  pre,                     code (optionality)\n// highlighter level: span,                  span,                    span\n// the spacing are only in the second level for case 1, 3 and in the third level for case 2\n// in AsciiDoc, there is a parent container that contains optionally a title and the content.\n\n// select top level container\ndiv.highlighter-rouge,\ndiv.listingblock > div.content,\nfigure.highlight {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n  background-color: $code-background-color;\n  border-radius: $border-radius;\n  box-shadow: none;\n  -webkit-overflow-scrolling: touch;\n  position: relative;\n  padding: 0;\n\n  // copy button (or other button)\n  // the button appear only when there is a hover on the code or focus on button\n  > button {\n    width: $sp-3;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: $sp-3;\n    border: none;\n    background: none;\n    color: $body-text-color;\n    box-sizing: content-box;\n\n    svg {\n      fill: $body-text-color;\n    }\n\n    &:active {\n      text-decoration: none;\n      outline: none;\n      opacity: 1;\n    }\n\n    &:focus {\n      opacity: 1;\n      outline: 2px solid $link-color;\n    }\n  }\n\n  // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button\n  &:hover {\n    > button {\n      cursor: copy;\n      opacity: 1;\n    }\n  }\n}\n\n// setting the spacing and scrollbar on the second level for the first case\n// remove all space on the second and third level\n// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc\n@mixin scroll-and-spacing($code-div, $pre-select) {\n  #{$code-div} {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n\n  #{$pre-select},\n  code {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n// for Markdown\ndiv.highlighter-rouge {\n  @include scroll-and-spacing(\"div.highlight\", \"pre.highlight\");\n}\n\n// for AsciiDoc. we also need to fix the margins for its parent container.\ndiv.listingblock {\n  margin-top: 0;\n  margin-bottom: $sp-3;\n\n  @include scroll-and-spacing(\"div.content\", \"div.content > pre\");\n}\n\n// {% highlight LANG %}...{% endhighlight %},\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the second level for the thirt case\n// the css rule are apply only to the last code enviroment\n// setting the scroolbar\nfigure.highlight {\n  pre,\n  :not(pre) > code {\n    overflow-x: auto;\n    padding: $sp-3;\n    margin: 0;\n    border: 1px solid $body-text-color;\n    border-radius: $border-radius;\n  }\n}\n\n// ```[LANG]...```, kramdown line_numbers = true,\n// {% highlight LANG linenos %}...{% endhighlight %}:\n\n// setting the spacing and scrollbar on the thirt level for the second case\n.highlight .table-wrapper {\n  padding: $sp-3 0;\n  margin: 0;\n  border: 0;\n  box-shadow: none;\n\n  td,\n  pre {\n    min-width: 0;\n    padding: 0;\n    background-color: $code-background-color;\n    border: 0;\n\n    @include fs-2;\n  }\n\n  td.gl {\n    width: 1em;\n    padding-right: $sp-3;\n    padding-left: $sp-3;\n  }\n\n  pre {\n    margin: 0;\n    line-height: 2;\n  }\n}\n\n// Code examples: html render of a code\n.code-example,\n.listingblock > .title {\n  padding: $sp-3;\n  margin-bottom: $sp-3;\n  overflow: auto;\n  border: 1px solid $border-color;\n  border-radius: $border-radius;\n\n  + .highlighter-rouge,\n  + .sectionbody .listingblock,\n  + .content,\n  + figure.highlight {\n    position: relative;\n    margin-top: -$sp-4;\n    border-right: 1px solid $border-color;\n    border-bottom: 1px solid $border-color;\n    border-left: 1px solid $border-color;\n    border-top-left-radius: 0;\n    border-top-right-radius: 0;\n  }\n}\n\n// Mermaid diagram code blocks should be left unstyled.\ncode.language-mermaid {\n  padding: 0;\n  background-color: inherit;\n  border: 0;\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight,\npre.highlight {\n  background: $code-background-color; // Code Background\n  // For Backwards Compatibility Before $code-linenumber-color was added\n  @if variable-exists(code-linenumber-color) {\n    color: $code-linenumber-color; // Code Line Numbers\n  } @else {\n    color: $body-text-color; // Code Line Numbers\n  }\n}\n\n// Override OneDarkJekyll Colors for Code Blocks\n.highlight pre {\n  background: $code-background-color; // Code Background\n}\n\n// {% endraw %}\n","// Utility classes for colors\n\n// Text colors\n\n.text-grey-dk-000 {\n  color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n  color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n  color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n  color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n  color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n  color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n  color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n  color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n  color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n  color: $blue-000 !important;\n}\n\n.text-blue-100 {\n  color: $blue-100 !important;\n}\n\n.text-blue-200 {\n  color: $blue-200 !important;\n}\n\n.text-blue-300 {\n  color: $blue-300 !important;\n}\n\n.text-green-000 {\n  color: $green-000 !important;\n}\n\n.text-green-100 {\n  color: $green-100 !important;\n}\n\n.text-green-200 {\n  color: $green-200 !important;\n}\n\n.text-green-300 {\n  color: $green-300 !important;\n}\n\n.text-purple-000 {\n  color: $purple-000 !important;\n}\n\n.text-purple-100 {\n  color: $purple-100 !important;\n}\n\n.text-purple-200 {\n  color: $purple-200 !important;\n}\n\n.text-purple-300 {\n  color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n  color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n  color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n  color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n  color: $yellow-300 !important;\n}\n\n.text-red-000 {\n  color: $red-000 !important;\n}\n\n.text-red-100 {\n  color: $red-100 !important;\n}\n\n.text-red-200 {\n  color: $red-200 !important;\n}\n\n.text-red-300 {\n  color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n  background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n  background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n  background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n  background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n  background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n  background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n  background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n  background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n  background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n  background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n  background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n  background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n  background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n  background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n  background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n  background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n  background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n  background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n  background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n  background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n  background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n  background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n  background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n  background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n  background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n  background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n  background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n  background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n  background-color: $red-300 !important;\n}\n","// Utility classes for layout\n\n// Display\n\n.d-block {\n  display: block !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n// Screenreader-only\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip-path: inset(50%);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .d-sm-block, .d-md-none, .d-lg-inline\n      .d-#{$media-query}-block {\n        display: block !important;\n      }\n      .d-#{$media-query}-flex {\n        display: flex !important;\n      }\n      .d-#{$media-query}-inline {\n        display: inline !important;\n      }\n      .d-#{$media-query}-inline-block {\n        display: inline-block !important;\n      }\n      .d-#{$media-query}-none {\n        display: none !important;\n      }\n    }\n  }\n}\n\n// Horizontal alignment\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.flex-justify-start {\n  justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n  justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n  justify-content: space-between !important;\n}\n\n.flex-justify-around {\n  justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n  vertical-align: baseline !important;\n}\n\n.v-align-bottom {\n  vertical-align: bottom !important;\n}\n\n.v-align-middle {\n  vertical-align: middle !important;\n}\n\n.v-align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.v-align-text-top {\n  vertical-align: text-top !important;\n}\n\n.v-align-top {\n  vertical-align: top !important;\n}\n","// Utility classes for typography\n\n.fs-1 {\n  @include fs-1;\n}\n\n.fs-2 {\n  @include fs-2;\n}\n\n.fs-3 {\n  @include fs-3;\n}\n\n.fs-4 {\n  @include fs-4;\n}\n\n.fs-5 {\n  @include fs-5;\n}\n\n.fs-6 {\n  @include fs-6;\n}\n\n.fs-7 {\n  @include fs-7;\n}\n\n.fs-8 {\n  @include fs-8;\n}\n\n.fs-9 {\n  @include fs-9;\n}\n\n.fs-10 {\n  @include fs-10;\n}\n\n.fw-300 {\n  font-weight: 300 !important;\n}\n\n.fw-400 {\n  font-weight: 400 !important;\n}\n\n.fw-500 {\n  font-weight: 500 !important;\n}\n\n.fw-700 {\n  font-weight: 700 !important;\n}\n\n.lh-0 {\n  line-height: 0 !important;\n}\n\n.lh-default {\n  line-height: $body-line-height;\n}\n\n.lh-tight {\n  line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n  letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n  letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n  letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n","// Utility classes for lists\n\n// stylelint-disable selector-max-type\n\n.list-style-none {\n  padding: 0 !important;\n  margin: 0 !important;\n  list-style: none !important;\n\n  li {\n    &::before {\n      display: none !important;\n    }\n  }\n}\n","// Utility classes for margins and padding\n\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before\n\n// Margin spacer utilities\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .m-0, .m-1, .m-2...\n  .m-#{$scale} {\n    margin: #{$size} !important;\n  }\n  .mt-#{$scale} {\n    margin-top: #{$size} !important;\n  }\n  .mr-#{$scale} {\n    margin-right: #{$size} !important;\n  }\n  .mb-#{$scale} {\n    margin-bottom: #{$size} !important;\n  }\n  .ml-#{$scale} {\n    margin-left: #{$size} !important;\n  }\n\n  .mx-#{$scale} {\n    margin-right: #{$size} !important;\n    margin-left: #{$size} !important;\n  }\n\n  .my-#{$scale} {\n    margin-top: #{$size} !important;\n    margin-bottom: #{$size} !important;\n  }\n\n  .mxn-#{$scale} {\n    margin-right: -#{$size} !important;\n    margin-left: -#{$size} !important;\n  }\n  .mx-#{$scale}-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @for $i from 1 through length($spacers) {\n    @include mq($media-query) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .m-sm-0, .m-md-1, .m-lg-2...\n      .m-#{$media-query}-#{$scale} {\n        margin: #{$size} !important;\n      }\n      .mt-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n      }\n      .mr-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n      }\n      .mb-#{$media-query}-#{$scale} {\n        margin-bottom: #{$size} !important;\n      }\n      .ml-#{$media-query}-#{$scale} {\n        margin-left: #{$size} !important;\n      }\n\n      .mx-#{$media-query}-#{$scale} {\n        margin-right: #{$size} !important;\n        margin-left: #{$size} !important;\n      }\n\n      .my-#{$media-query}-#{$scale} {\n        margin-top: #{$size} !important;\n        margin-bottom: #{$size} !important;\n      }\n\n      .mxn-#{$media-query}-#{$scale} {\n        margin-right: -#{$size} !important;\n        margin-left: -#{$size} !important;\n      }\n    }\n  }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n  $size: #{map-get($spacers, sp-#{$i - 1})};\n  $scale: #{$i - 1};\n\n  // .p-0, .p-1, .p-2...\n  .p-#{$scale} {\n    padding: #{$size} !important;\n  }\n  .pt-#{$scale} {\n    padding-top: #{$size} !important;\n  }\n  .pr-#{$scale} {\n    padding-right: #{$size} !important;\n  }\n  .pb-#{$scale} {\n    padding-bottom: #{$size} !important;\n  }\n  .pl-#{$scale} {\n    padding-left: #{$size} !important;\n  }\n\n  .px-#{$scale} {\n    padding-right: #{$size} !important;\n    padding-left: #{$size} !important;\n  }\n\n  .py-#{$scale} {\n    padding-top: #{$size} !important;\n    padding-bottom: #{$size} !important;\n  }\n}\n\n@each $media-query in map-keys($media-queries) {\n  @include mq($media-query) {\n    @for $i from 1 through length($spacers) {\n      $size: #{map-get($spacers, sp-#{$i - 1})};\n      $scale: #{$i - 1};\n\n      // .p-sm-0, .p-md-1, .p-lg-2...\n      .p-#{$media-query}-#{$scale} {\n        padding: #{$size} !important;\n      }\n      .pt-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n      }\n      .pr-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n      }\n      .pb-#{$media-query}-#{$scale} {\n        padding-bottom: #{$size} !important;\n      }\n      .pl-#{$media-query}-#{$scale} {\n        padding-left: #{$size} !important;\n      }\n\n      .px-#{$media-query}-#{$scale} {\n        padding-right: #{$size} !important;\n        padding-left: #{$size} !important;\n      }\n\n      .py-#{$media-query}-#{$scale} {\n        padding-top: #{$size} !important;\n        padding-bottom: #{$size} !important;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type\n\n@media print {\n  .site-footer,\n  .site-button,\n  #edit-this-page,\n  #back-to-top,\n  .site-nav,\n  .main-header {\n    display: none !important;\n  }\n\n  hr {\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n  }\n\n  .side-bar {\n    width: 100%;\n    height: auto;\n    border-right: 0 !important;\n\n    /* Disable display: flex and position: fixed from non-print styles */\n    position: static;\n    display: block;\n  }\n\n  .site-header {\n    border-bottom: 1px solid $border-color;\n  }\n\n  .site-title {\n    font-size: 1rem !important;\n    font-weight: 700 !important;\n  }\n\n  .text-small {\n    font-size: 8pt !important;\n  }\n\n  pre.highlight {\n    border: 1px solid $border-color;\n  }\n\n  .main {\n    max-width: none;\n    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */\n  }\n}\n","// Skipnav\n// Skip to main content\n\na.skip-to-main {\n  left: -999px;\n  position: absolute;\n  top: auto;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  z-index: -999;\n}\n\na.skip-to-main:focus,\na.skip-to-main:active {\n  color: $link-color;\n  background-color: $body-background-color;\n  left: auto;\n  top: auto;\n  width: 30%;\n  height: auto;\n  overflow: auto;\n  margin: 10px 35%;\n  padding: 5px;\n  border-radius: 15px;\n  border: 4px solid $btn-primary-color;\n  text-align: center;\n  font-size: 1.2em;\n  z-index: 999;\n}\n","\n@import \"./support/support\";\n@import \"./custom/setup\";\n@import \"./color_schemes/light\";\n\n@import \"./modules\";\ndiv.opaque {\n  background-color: $body-background-color;\n}\n\np.note, blockquote.note {\n    border: 1px $blue-000 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $blue-300;\n        content: \"Note\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .note-title {\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.note-title, blockquote.note-title {\n    border: 1px $blue-000 solid;\n    border-left: $border-radius solid $blue-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $blue-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.note {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.note-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.warning, blockquote.warning {\n    border: 1px $red-000 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $red-300;\n        content: \"Warning\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .warning-title {\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.warning-title, blockquote.warning-title {\n    border: 1px $red-000 solid;\n    border-left: $border-radius solid $red-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $red-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.warning {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.warning-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n\np.tip, blockquote.tip {\n    border: 1px $green-000 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    \n    &::before {\n        color: $green-300;\n        content: \"Tip\";\n        display: block;\n        font-weight: bold;\n        text-transform: uppercase;\n        font-size: .75em;\n        padding-bottom: .125rem;\n    }\n    \n    > .tip-title {\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\np.tip-title, blockquote.tip-title {\n    border: 1px $green-000 solid;\n    border-left: $border-radius solid $green-300;\n    border-radius: $border-radius;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n    padding: .8rem;\n    > p:first-child {\n      margin-top: 0;\n      margin-bottom: 0;\n      color: $green-300;\n      display: block;\n      font-weight: bold;\n      text-transform: uppercase;\n      font-size: .75em;\n      padding-bottom: .125rem;\n    }\n}\n\nblockquote.tip {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:first-child {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\nblockquote.tip-title {\n  margin-left: 0;\n  margin-right: 0;\n\n  > p:nth-child(2) {\n    margin-top: 0;\n  }\n\n  > p:last-child {\n    margin-bottom: 0;\n  }\n}\n\n\n@import \"./custom/custom\";\n\n\n"],"file":"just-the-docs-light.css"}
\ No newline at end of file
diff --git a/docs/_site/assets/js/just-the-docs.js b/docs/_site/assets/js/just-the-docs.js
deleted file mode 100644
index 70e2be1..0000000
--- a/docs/_site/assets/js/just-the-docs.js
+++ /dev/null
@@ -1,603 +0,0 @@
-(function (jtd, undefined) {
-
-// Event handling
-
-jtd.addEvent = function(el, type, handler) {
-  if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
-}
-jtd.removeEvent = function(el, type, handler) {
-  if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
-}
-jtd.onReady = function(ready) {
-  // in case the document is already rendered
-  if (document.readyState!='loading') ready();
-  // modern browsers
-  else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
-  // IE <= 8
-  else document.attachEvent('onreadystatechange', function(){
-      if (document.readyState=='complete') ready();
-  });
-}
-
-// Show/hide mobile menu
-
-function initNav() {
-  jtd.addEvent(document, 'click', function(e){
-    var target = e.target;
-    while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
-      target = target.parentNode;
-    }
-    if (target) {
-      e.preventDefault();
-      target.ariaExpanded = target.parentNode.classList.toggle('active');
-    }
-  });
-
-  const siteNav = document.getElementById('site-nav');
-  const mainHeader = document.getElementById('main-header');
-  const menuButton = document.getElementById('menu-button');
-
-  disableHeadStyleSheets();
-
-  jtd.addEvent(menuButton, 'click', function(e){
-    e.preventDefault();
-
-    if (menuButton.classList.toggle('nav-open')) {
-      siteNav.classList.add('nav-open');
-      mainHeader.classList.add('nav-open');
-      menuButton.ariaExpanded = true;
-    } else {
-      siteNav.classList.remove('nav-open');
-      mainHeader.classList.remove('nav-open');
-      menuButton.ariaExpanded = false;
-    }
-  });
-}
-
-// The  element is assumed to include the following stylesheets:
-// - a  to /assets/css/just-the-docs-head-nav.css,
-//             with id 'jtd-head-nav-stylesheet'
-// - a      Condition Processor | Cubex Framework                Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Condition Processor

The Condition Processor provides declarative authorization and validation for controller methods using PHP 8 attributes. It integrates with the DI container’s resolveMethod() to evaluate conditions before a method executes.

Overview

flowchart TD
-    Resolve["resolveMethod()"] --> Scan["Scan attributes"]
-    Scan --> Collect["Collect PreConditions<br/>remove SkipConditions"]
-    Collect --> Check{"Conditions<br/>remaining?"}
-    Check -->|No| Execute["Execute method"]
-    Check -->|Yes| Eval{"process(ctx)<br/>returns null?"}
-    Eval -->|All pass| Execute
-    Eval -->|Non-null| Interrupt["Return interrupt value"]
-

Attributes

#[PreCondition]

Marks a method (or class) with a condition that must pass before execution:

use Cubex\Attributes\PreCondition;
-
-class AdminController extends Controller
-{
-  #[PreCondition(RequiresAuth::class)]
-  #[PreCondition(RequiresRole::class, ['admin'])]
-  public function getUsers(): Response
-  {
-    return new JsonResponse($this->listUsers());
-  }
-}
-

The attribute accepts:

  • $class — The fully qualified class name implementing ConditionResult
  • $args (optional) — Constructor arguments passed when instantiating the condition

#[SkipCondition]

Exempts a method from a specific PreCondition. This is useful when a class-level condition should not apply to certain methods:

#[PreCondition(RequiresAuth::class)]
-class DashboardController extends Controller
-{
-  public function getIndex(): Response
-  {
-    // RequiresAuth IS evaluated
-    return new TextResponse('Dashboard');
-  }
-
-  #[SkipCondition(RequiresAuth::class)]
-  public function getHealthCheck(): Response
-  {
-    // RequiresAuth is SKIPPED
-    return new TextResponse('OK');
-  }
-}
-

Both attributes are repeatable (IS_REPEATABLE) and can target any element (TARGET_ALL).

Implementing ConditionResult

Create a condition by implementing the ConditionResult interface:

use Cubex\Attributes\ConditionResult;
-use Packaged\Context\Context;
-
-class RequiresAuth implements ConditionResult
-{
-  public function process(Context $ctx): mixed
-  {
-    if ($ctx->request()->headers->has('Authorization'))
-    {
-      return null; // Allow execution to proceed
-    }
-
-    // Interrupt — this value becomes the method's return
-    return new Response('Unauthorized', 401);
-  }
-}
-

The process() method:

  • Returns null to allow execution to continue
  • Returns any non-null value to interrupt execution — the returned value replaces the method’s normal return value

Conditions with Arguments

Pass constructor arguments via the attribute:

class RequiresRole implements ConditionResult
-{
-  public function __construct(private string $role)
-  {
-  }
-
-  public function process(Context $ctx): mixed
-  {
-    $user = $ctx->meta()->get('user');
-    if ($user && $user->hasRole($this->role))
-    {
-      return null;
-    }
-    return new Response('Forbidden', 403);
-  }
-}
-
#[PreCondition(RequiresRole::class, ['admin'])]
-public function getAdminPanel(): Response
-{
-  // Only accessible to users with the 'admin' role
-}
-

How It Works Internally

The ConditionProcessor class integrates with packaged/di-container’s reflection system:

  1. ConditionProcessor extends AttributeWatcher and implements ReflectionInterrupt
  2. When resolveMethod() is called on a controller method, the DI container’s reflection observers are notified
  3. ConditionProcessor scans the method (and class) for #[PreCondition] and #[SkipCondition] attributes
  4. Skip conditions are collected first — any PreCondition whose class appears in the skip list is removed
  5. Each remaining condition is instantiated (via DI if available, for constructor injection) and process($context) is called
  6. If any condition returns non-null, shouldInterruptMethod() returns true and the interrupt value is used as the method’s return value
// This happens automatically inside Controller::_prepareHandler()
-// when Cubex DI is available:
-
-$conditionProcessor = new ConditionProcessor($cubex);
-$result = $di->resolveMethod($controller, $methodName, [], [$conditionProcessor]);
-

Execution Flow

sequenceDiagram
-    participant DI as DI Container
-    participant CP as ConditionProcessor
-    participant Cond as ConditionResult
-    participant Method as Controller Method
-
-    Note over CP: Collect attributes,<br/>remove skipped conditions
-
-    loop Each condition
-        CP->>Cond: process(context)
-        alt pass (null)
-            Note over CP: Continue
-        else fail (non-null)
-            CP-->>DI: interrupt with result
-            Note over Method: Method NOT called
-        end
-    end
-
-    Note over CP: All conditions passed
-    DI->>Method: invoke with injected params
-    Method-->>DI: return value
-

Multiple Conditions

When multiple #[PreCondition] attributes are present, they are evaluated in order. The first condition to return a non-null value stops evaluation:

#[PreCondition(RequiresAuth::class)]       // Checked first
-#[PreCondition(RequiresRole::class, ['editor'])]  // Checked second
-#[PreCondition(RateLimiter::class)]        // Checked third
-public function postArticle(): Response
-{
-  // All three conditions must pass (return null)
-}
-

Class-Level vs Method-Level

Attributes on the class apply to all methods. Method-level attributes are additive. Use #[SkipCondition] to exempt specific methods:

#[PreCondition(RequiresAuth::class)]
-class SecureController extends Controller
-{
-  // RequiresAuth applies to all methods
-
-  #[PreCondition(RequiresRole::class, ['admin'])]
-  public function getAdmin(): Response
-  {
-    // Both RequiresAuth AND RequiresRole apply
-  }
-
-  #[SkipCondition(RequiresAuth::class)]
-  public function getPublic(): Response
-  {
-    // RequiresAuth is skipped, no conditions apply
-  }
-}
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/console.html b/docs/_site/console.html deleted file mode 100644 index 3f45521..0000000 --- a/docs/_site/console.html +++ /dev/null @@ -1,135 +0,0 @@ - Console | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Console

Cubex integrates with Symfony Console to provide CLI command support. It adds auto-configuration from INI files, DocBlock-driven argument/option definition, and DI integration.

CLI Entry Point

<?php
-// cubex
-$loader = require_once('vendor/autoload.php');
-exit((new \Cubex\Cubex(__DIR__, $loader))->cli());
-
sequenceDiagram
-    participant Entry as cubex
-    participant Cubex
-    participant Console
-    participant Config as INI Config
-    participant Command
-
-    rect rgb(240, 240, 255)
-    Note right of Entry: Setup
-    Entry->>Cubex: cli()
-    Cubex->>Console: getConsole()
-    Console->>Config: read [console] section
-    Config-->>Console: commands & patterns
-    Note over Console: Register commands + BuiltInWebServer
-    end
-
-    rect rgb(240, 255, 240)
-    Note right of Entry: Execute
-    Cubex->>Console: run(input, output)
-    Console->>Command: find + execute()
-    Command-->>Console: exit code
-    Console-->>Cubex: exit code
-    end
-

Configuration

Commands are configured via INI files in your conf/ directory under the [console] section:

; conf/defaults.ini
-[console]
-commands[migrate] = "App\Commands\MigrateCommand"
-commands[seed] = "App\Commands\SeedCommand"
-
-patterns[] = "App\Commands\%s"
-patterns[] = "App\Console\%s"
-

Commands

The commands map registers named commands. Keys are command names, values are fully qualified class names:

commands[db:migrate] = "App\Commands\Database\MigrateCommand"
-commands[cache:clear] = "App\Commands\Cache\ClearCommand"
-

Patterns

Patterns enable auto-discovery of commands by name. When a command is not found by its registered name, the console tries each pattern with the class name derived from the command name.

For example, with pattern App\Commands\%s, running my.command will try to resolve App\Commands\My\Command.

ConsoleCommand

ConsoleCommand extends Symfony’s Command with automatic argument/option configuration from method signatures and DocBlock annotations.

Defining Commands

Create a command by extending ConsoleCommand and implementing one of three method signatures:

use Cubex\Console\ConsoleCommand;
-
-/**
- * @name greet
- * @description Greet a user by name
- */
-class GreetCommand extends ConsoleCommand
-{
-  /**
-   * Short description for --uppercase option
-   * @short u
-   * @flag
-   */
-  public bool $uppercase = false;
-
-  public function executeCommand(
-    InputInterface $input,
-    OutputInterface $output,
-    string $name,
-    string $greeting = 'Hello'
-  ): int
-  {
-    $message = "{$greeting}, {$name}!";
-
-    if ($this->uppercase)
-    {
-      $message = strtoupper($message);
-    }
-
-    $output->writeln($message);
-    return 0;
-  }
-}
-
php cubex greet Alice
-# Hello, Alice!
-
-php cubex greet Alice --uppercase -greeting "Good morning"
-# GOOD MORNING, ALICE!
-

Method Signatures

ConsoleCommand dispatches to the first available method:

Method Signature Notes
executeCommand (InputInterface, OutputInterface, ...args) Full access to I/O; extra params become arguments
process (...args) Simplified; params become arguments
_execute (InputInterface, OutputInterface) Fallback; manually read input

Parameters after the first two in executeCommand (or all parameters in process) are automatically registered as console arguments.

Auto-Configured Arguments

Method parameters are converted to console arguments:

public function process(string $name, int $count = 1): int
-{
-  // $name  → required argument
-  // $count → optional argument (default: 1)
-  return 0;
-}
-

Auto-Configured Options from Properties

Public properties are converted to console options. DocBlock annotations control behavior:

Annotation Effect Example
@short Single-letter shortcut @short v-v
@description Option description in help @description Enable verbose
@flag Boolean flag (no value) @flag--verbose
@valuerequired Value is required @valuerequired
/**
- * The output format
- * @short f
- * @valuerequired
- */
-public string $format = 'json';
-
-/**
- * Run in dry-run mode
- * @short n
- * @flag
- */
-public bool $dryRun = false;
-

DocBlock Command Metadata

Use DocBlock annotations on the class to set the command name and description:

/**
- * @name cache:clear
- * @description Clear the application cache
- */
-class ClearCacheCommand extends ConsoleCommand
-{
-  // ...
-}
-

If @name is not specified, the command name defaults to the lowercase class basename.

Context and DI Access

ConsoleCommand implements both ContextAware and CubexAware, so you have full access to the framework:

class MigrateCommand extends ConsoleCommand
-{
-  public function process(): int
-  {
-    $db = $this->getCubex()->retrieve(DbConnection::class);
-    $config = $this->getContext()->config();
-    // ...
-    return 0;
-  }
-}
-

Built-In Web Server

Cubex includes a serve command that starts PHP’s built-in web server:

php cubex serve
-# Starts server at 127.0.0.1:8888
-
-php cubex serve -p 3000
-# Custom port
-
-php cubex serve --host 0.0.0.0
-# Bind to all interfaces
-
-php cubex serve -d
-# Enable xdebug
-
-php cubex serve --useNextAvailablePort
-# Auto-increment port if 8888 is in use
-

serve Options

Option Short Description
--host   Server hostname (default: 127.0.0.1)
--port -p Server port (default: 8888)
--router   PHP router script (default: public/index.php)
--workers -w Number of PHP CLI server workers (default: 5)
--debug -d Enable xdebug
--debugIdeKey -idekey IDE key for xdebug (default: PHPSTORM)
--showCommand   Display the raw command being executed
--showfig   Show ASCII figlet banner (default: true)
--useNextAvailablePort   Auto-find next available port
--cubexLocalSubDomain -c Use {value}.cubex-local.com as host
--comment   Extra output text

Server Configuration via INI

Host and port can also be configured in INI files:

; conf/defaults.ini
-[serve]
-host = "0.0.0.0"
-port = 9000
-

Registering Commands Programmatically

Use the ConsoleCreateEvent to add commands at runtime:

use Cubex\Console\Events\ConsoleCreateEvent;
-
-$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) {
-  $e->getConsole()->add(new CustomCommand());
-});
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/controllers.html b/docs/_site/controllers.html deleted file mode 100644 index 27eaa10..0000000 --- a/docs/_site/controllers.html +++ /dev/null @@ -1,93 +0,0 @@ - Controllers | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Controllers

Controllers extend RouteProcessor and add HTTP verb-based method resolution, automatic response preparation, and integration with the DI container.

Controller Method Resolution

When a route returns a string (e.g., "login"), the Controller resolves it to a method on the controller class by trying HTTP verb-prefixed method names:

flowchart LR
-    Route["Route string<br/>e.g. 'login'"] --> IsXHR{"AJAX?"}
-
-    IsXHR -->|Yes| Ajax["ajaxLogin()"]
-    Ajax -->|Not found| AjaxVerb["ajaxGetLogin()"]
-    AjaxVerb -->|Not found| Verb
-
-    IsXHR -->|No| Verb["getLogin() /<br/>postLogin()"]
-    Verb -->|Not found| Process["processLogin()"]
-    Process -->|Not found| Error["No match"]
-
-    Ajax -->|Found| Call["_prepareResponse()"]
-    AjaxVerb -->|Found| Call
-    Verb -->|Found| Call
-    Process -->|Found| Call
-

The resolution order (from _getRouteMethods()) for a route string "login" is:

Priority XHR Request Regular GET Regular POST
1 ajaxLogin() getLogin() postLogin()
2 ajaxGetLogin() processLogin() processLogin()
3 getLogin() / postLogin()    
4 processLogin()    

The process prefix acts as a catch-all that matches any HTTP verb.

Basic Controller

use Cubex\Controller\Controller;
-use Packaged\Http\Response\TextResponse;
-
-class UserController extends Controller
-{
-  protected function _generateRoutes(): Generator
-  {
-    yield self::_route('/profile', 'profile');
-    yield self::_route('/settings', 'settings');
-    return 'index';
-  }
-
-  public function getIndex(): TextResponse
-  {
-    return new TextResponse('User index');
-  }
-
-  public function getProfile(): TextResponse
-  {
-    $userId = $this->routeData()->get('id');
-    return new TextResponse("Profile for {$userId}");
-  }
-
-  public function getSettings(): string
-  {
-    return 'Settings page';
-  }
-
-  public function postSettings(): TextResponse
-  {
-    // Handle settings form submission
-    return new TextResponse('Settings saved');
-  }
-}
-

Response Preparation

Controller::_prepareResponse() automatically converts return values into Response objects:

Return Type Conversion
Response Returned as-is
ViewModel Creates a View via createView(), renders it
Renderable Calls render() to get string content
ISafeHtmlProducer Produces safe HTML content
string / stringable Wrapped in a CubexResponse
null Falls back to output buffer content

If the return value is ContextAware or CubexAware, the context and Cubex instance are set on it before processing.

Convenience Methods

Controllers provide shortcuts for common context operations:

// Access the current request
-$request = $this->request();
-
-// Access route data (captured path variables)
-$id = $this->routeData()->get('id');
-

DI-Aware Method Resolution

When a Cubex instance is available, controller methods are resolved through the DI container using resolveMethod(). This enables:

  • Constructor injection of method parameters
  • Attribute-based conditions via ConditionProcessor (see Condition Processor)
class ApiController extends Controller
-{
-  #[PreCondition(RequiresAuth::class)]
-  public function getSecure(UserService $users): Response
-  {
-    // $users is resolved via DI
-    // RequiresAuth condition is checked first
-    return new TextResponse('Secure content');
-  }
-}
-

SingleRouteController

For controllers that handle a single endpoint with verb-based dispatch only (no sub-routes):

use Cubex\Controller\SingleRouteController;
-
-class HealthCheckController extends SingleRouteController
-{
-  public function get(): TextResponse
-  {
-    return new TextResponse('OK');
-  }
-
-  public function post(): TextResponse
-  {
-    return new TextResponse('Received');
-  }
-}
-

SingleRouteController returns an empty string from _generateRoutes(), which the controller resolves to get(), post(), ajax(), or process() depending on the HTTP verb.

AuthedController (Deprecated)

AuthedController is deprecated. Use Middleware or Condition Processor attributes instead.

AuthedController calls canProcess() before routing. If it returns false, the request is rejected with a 403 response:

use Cubex\Controller\AuthedController;
-
-class AdminController extends AuthedController
-{
-  public function canProcess(&$response): bool
-  {
-    return $this->getContext()->request()->has('admin_token');
-  }
-
-  public function getIndex(): string
-  {
-    return 'Admin panel';
-  }
-}
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/dependency-injection.html b/docs/_site/dependency-injection.html deleted file mode 100644 index 898bbca..0000000 --- a/docs/_site/dependency-injection.html +++ /dev/null @@ -1,76 +0,0 @@ - Dependency Injection | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Dependency Injection

The Cubex class is the DI container for the framework. It extends DependencyInjector from packaged/di-container and provides sharing, factories, auto-resolution, and method injection.

Container Basics

The Cubex instance itself is the DI container — there is no separate container object:

$cubex = new Cubex(__DIR__, $loader);
-
-// Share a singleton
-$cubex->share(LoggerInterface::class, new FileLogger('/var/log/app.log'));
-
-// Register a factory
-$cubex->factory(
-  DbConnection::class,
-  fn() => new DbConnection($cubex->retrieve(Config::class))
-);
-
-// Retrieve an instance
-$logger = $cubex->retrieve(LoggerInterface::class);
-

Core Methods

share($abstract, $concrete)

Registers a singleton binding. Subsequent calls to retrieve() return the same instance:

$cubex->share(CacheInterface::class, new RedisCache($config));
-
-// Both calls return the same RedisCache instance
-$cache1 = $cubex->retrieve(CacheInterface::class);
-$cache2 = $cubex->retrieve(CacheInterface::class);
-// $cache1 === $cache2
-

factory($abstract, callable $factory)

Registers a factory that is called each time retrieve() is invoked:

$cubex->factory(
-  RequestContext::class,
-  fn() => new RequestContext(time())
-);
-
-// Each call creates a new instance
-$ctx1 = $cubex->retrieve(RequestContext::class);
-$ctx2 = $cubex->retrieve(RequestContext::class);
-// $ctx1 !== $ctx2
-

retrieve($abstract, $parameters = [], $shared = true, $attemptNewAbstract = true)

Resolves an abstract to a concrete instance. Resolution order:

  1. Check for a shared singleton
  2. Check for a registered factory
  3. If $attemptNewAbstract is true, attempt to build a new instance via constructor injection
// Resolves registered binding
-$logger = $cubex->retrieve(LoggerInterface::class);
-
-// Auto-instantiation: if UserService has no binding,
-// Cubex tries to construct it, injecting dependencies
-$users = $cubex->retrieve(UserService::class);
-

resolve($class, $parameters = [])

Resolves a class with constructor injection. Dependencies are recursively resolved from the container:

class UserService
-{
-  public function __construct(
-    private DbConnection $db,
-    private CacheInterface $cache
-  ) {}
-}
-
-// Both DbConnection and CacheInterface are resolved from the container
-$service = $cubex->resolve(UserService::class);
-

resolveMethod($object, $method, $parameters = [])

Invokes a method on an object, injecting parameters from the container. This is used internally by Controller for DI-aware method dispatch:

class OrderController extends Controller
-{
-  public function getOrder(OrderService $orders): Response
-  {
-    // $orders is injected by the DI container
-    $id = $this->routeData()->get('id');
-    return new JsonResponse($orders->find($id));
-  }
-}
-

The CubexAware Pattern

Components that need access to the DI container implement CubexAware:

use Cubex\CubexAware;
-use Cubex\CubexAwareTrait;
-
-class MyService implements CubexAware
-{
-  use CubexAwareTrait;
-
-  public function doWork(): void
-  {
-    $db = $this->getCubex()->retrieve(DbConnection::class);
-    // ...
-  }
-}
-

The framework automatically sets the Cubex instance on CubexAware objects during handler preparation and response processing.

Interface Methods

Method Description
setCubex(Cubex $cubex) Set the Cubex container reference
getCubex(): ?Cubex Get the Cubex container
hasCubex(): bool Check if a Cubex reference is available

Auto-Wired Route Handlers

When a route returns a class name string (e.g., DashboardController::class), the RouteProcessor resolves it through the DI container:

protected function _generateRoutes(): Generator
-{
-  // DashboardController is resolved via $cubex->retrieve()
-  // Its constructor dependencies are auto-injected
-  yield self::_route('/dashboard', DashboardController::class);
-}
-

If the context does not have a Cubex reference, the class is instantiated directly with new.

Built-In Bindings

Cubex automatically registers these bindings during construction:

Abstract Concrete Type
ClassLoader Composer autoloader Shared
DependencyInjector The Cubex instance itself Shared
Context Factory from Request::createFromGlobals() Factory

Accessing the Container

From any CubexAware component:

$cubex = $this->getCubex();
-

From a Context (if it is a CubexAware Cubex context):

$cubex = Cubex::fromContext($context);
-

Or use the global singleton (if available):

$cubex = Cubex::instance();
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/events.html b/docs/_site/events.html deleted file mode 100644 index a3662f5..0000000 --- a/docs/_site/events.html +++ /dev/null @@ -1,122 +0,0 @@ - Events | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Events

Cubex uses an event system based on Channel from packaged/event. Events are fired at key points in the HTTP and CLI lifecycles, allowing you to hook into framework behavior without modifying core code.

Event Channels

There are two event channels:

Channel Accessed Via Purpose
Cubex channel $cubex->listen() Framework-level lifecycle events
Context channel $context->events() Context-specific events

Listening for Events

On the Cubex Channel

use Cubex\Events\Handle\ResponsePrepareEvent;
-
-$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $event) {
-  $response = $event->getResponse();
-  $response->headers->set('X-Powered-By', 'Cubex');
-});
-

On the Context Channel

use Cubex\Context\Events\ConsoleLaunchedEvent;
-
-$context->events()->listen(
-  ConsoleLaunchedEvent::class,
-  function (ConsoleLaunchedEvent $event) {
-    // Console is starting up
-  }
-);
-

Event Hierarchy

classDiagram
-    class AbstractEvent {
-        +getType() string
-    }
-    class ShutdownEvent
-    class ContextEvent {
-        <<abstract>>
-        +getContext() Context
-    }
-    class PreExecuteEvent {
-        +getHandler()
-    }
-    class HandlerEvent {
-        <<abstract>>
-        +getHandler() Handler
-    }
-    class ResponseEvent {
-        <<abstract>>
-        +getResponse() Response
-    }
-    class ResponsePrepareEvent
-    class ResponsePreparedEvent
-    class ResponsePreSendHeadersEvent
-    class ResponsePreSendContentEvent
-    class HandleCompleteEvent
-    class ConsoleEvent {
-        <<abstract>>
-        +getConsole() Console
-    }
-    class ConsoleCreateEvent
-    class ConsolePrepareEvent {
-        +getInput() InputInterface
-        +getOutput() OutputInterface
-    }
-
-    AbstractEvent <|-- ShutdownEvent
-    AbstractEvent <|-- ContextEvent
-    ContextEvent <|-- PreExecuteEvent
-    ContextEvent <|-- HandlerEvent
-    ContextEvent <|-- ConsoleEvent
-    HandlerEvent <|-- ResponseEvent
-    ResponseEvent <|-- ResponsePrepareEvent
-    ResponseEvent <|-- ResponsePreparedEvent
-    ResponseEvent <|-- ResponsePreSendHeadersEvent
-    ResponseEvent <|-- ResponsePreSendContentEvent
-    ResponseEvent <|-- HandleCompleteEvent
-    ConsoleEvent <|-- ConsoleCreateEvent
-    ConsoleEvent <|-- ConsolePrepareEvent
-

HTTP Lifecycle Events

These events fire on the Cubex channel during Cubex::handle():

Event When It Fires Available Data
PreExecuteEvent Before the handler’s handle() is called Context, Handler
ResponsePrepareEvent After handler returns, before cookies/prepare Context, Handler, Response
ResponsePreparedEvent After $response->prepare() is called Context, Handler, Response
ResponsePreSendHeadersEvent Before $response->sendHeaders() Context, Handler, Response
ResponsePreSendContentEvent Before $response->sendContent() Context, Handler, Response
HandleCompleteEvent After the full response has been sent Context, Handler, Response
ShutdownEvent During $cubex->shutdown()

Event Flow

sequenceDiagram
-    participant Cubex
-    participant Channel as Cubex Channel
-    participant Handler
-
-    rect rgb(240, 240, 255)
-    Cubex->>Channel: PreExecuteEvent
-    Cubex->>Handler: handle(context)
-    Handler-->>Cubex: Response
-    end
-
-    rect rgb(240, 255, 240)
-    Cubex->>Channel: ResponsePrepareEvent
-    Note over Cubex: Apply cookies, prepare
-    Cubex->>Channel: ResponsePreparedEvent
-    end
-
-    rect rgb(255, 240, 240)
-    Cubex->>Channel: PreSendHeadersEvent
-    Cubex->>Channel: PreSendContentEvent
-    Cubex->>Channel: HandleCompleteEvent
-    end
-
-    Cubex->>Channel: ShutdownEvent
-

PreExecuteEvent is also fired by RouteProcessor::_processHandler() when a sub-handler is executed during route resolution.

CLI Lifecycle Events

CLI events fire on both channels:

Event Channel When It Fires Available Data
ConsoleLaunchedEvent Context At the start of Cubex::cli() Input, Output
ConsoleCreatedEvent Context When the Console object is first created Console
ConsoleCreateEvent Cubex Same time as ConsoleCreatedEvent Context, Console
ConsolePrepareEvent Cubex Just before console->run() Context, Console, Input, Output

Event Data Access

All context events provide access to the context:

$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) {
-  $context = $e->getContext();
-  $handler = $e->getHandler();
-});
-

Response events add access to the handler and response:

$cubex->listen(ResponsePrepareEvent::class, function (ResponsePrepareEvent $e) {
-  $context  = $e->getContext();
-  $handler  = $e->getHandler();
-  $response = $e->getResponse();
-});
-

Console events provide access to the console application:

$cubex->listen(ConsolePrepareEvent::class, function (ConsolePrepareEvent $e) {
-  $console = $e->getConsole();
-  $input   = $e->getInput();
-  $output  = $e->getOutput();
-});
-

Common Use Cases

Adding Response Headers

$cubex->listen(ResponsePreparedEvent::class, function (ResponsePreparedEvent $e) {
-  $e->getResponse()->headers->set('X-Request-Id', uniqid());
-});
-

Logging Request Duration

$cubex->listen(PreExecuteEvent::class, function (PreExecuteEvent $e) {
-  $e->getContext()->meta()->set('request_start', microtime(true));
-});
-
-$cubex->listen(HandleCompleteEvent::class, function (HandleCompleteEvent $e) {
-  $start = $e->getContext()->meta()->get('request_start');
-  $duration = microtime(true) - $start;
-  Cubex::log()->info('Request completed', ['duration_ms' => $duration * 1000]);
-});
-

Registering Console Commands Dynamically

$cubex->listen(ConsoleCreateEvent::class, function (ConsoleCreateEvent $e) {
-  $e->getConsole()->add(new MigrateCommand());
-  $e->getConsole()->add(new SeedCommand());
-});
-

Server Timing

The Cubex\Context\Context class automatically adds Server-Timing headers to responses via a listener on ResponsePreSendHeadersEvent. Use the context’s timer API:

$timer = $context->newTimer('db-query', 'Database query');
-// ... perform query ...
-$timer->stop();
-
-// The Server-Timing header is added automatically before headers are sent
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/index.html b/docs/_site/index.html deleted file mode 100644 index 8f85051..0000000 --- a/docs/_site/index.html +++ /dev/null @@ -1,47 +0,0 @@ - Cubex Framework | Documentation for the Cubex PHP 8.2+ web application framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Cubex Framework

Cubex is a PHP 8.2+ web application framework that provides routing, dependency injection, middleware, console commands, and a ViewModel layer. It is built on top of packaged/* libraries and Symfony components.

Requirements

  • PHP 8.2 or later
  • Composer

Installation

composer require cubex/framework
-

Quick Start

Create a basic HTTP application with a router:

<?php
-// public/index.php
-
-use Cubex\Cubex;
-use Cubex\Routing\Router;
-use Packaged\Http\Response\TextResponse;
-use Packaged\Routing\Handler\FuncHandler;
-
-$loader = require __DIR__ . '/../vendor/autoload.php';
-$cubex = new Cubex(__DIR__ . '/..', $loader);
-
-$router = Router::i()
-  ->onPath('/', new FuncHandler(fn() => new TextResponse('Hello, Cubex!')))
-  ->onPath('/about', new FuncHandler(fn() => new TextResponse('About page')));
-
-$response = $cubex->handle($router);
-$cubex->shutdown();
-

Configuration

Cubex loads INI configuration files from a conf/ directory relative to your project root. Files are loaded in cascade order:

  1. conf/defaults.ini
  2. conf/defaults/config.ini
  3. conf/{environment}.ini
  4. conf/{environment}/config.ini

The environment is set via the CUBEX_ENV environment variable.

Core Concepts

Topic Description
Request Lifecycle How HTTP requests and CLI commands flow through the framework
Routing Generator-based route matching with the Router fluent API
Controllers HTTP verb method resolution and response preparation
Dependency Injection The DI container, sharing, factories, and auto-resolution
Middleware Onion-layer middleware chain for request/response processing
ViewModels ViewModel/View separation, templating, and JSON rendering
Events Framework lifecycle events and the Channel dispatcher
Console Symfony Console integration with auto-configured commands
Condition Processor PHP 8 attribute-based pre-conditions and skip-conditions

Architecture Overview

flowchart TD
-  subgraph HTTP["HTTP Request"]
-    direction TB
-    Entry["public/index.php"] --> CubexBoot["Bootstrap"]
-    CubexBoot --> CtxInit["Context Init"]
-    CtxInit --> Handle["Cubex::handle()"]
-    Handle --> Router["Router / Controller"]
-    Router --> MW["Middleware"]
-    MW --> Handler["Handler"]
-    Handler --> Response["Response"]
-  end
-
-  subgraph CLI["CLI Command"]
-    direction TB
-    CLIEntry["cubex"] --> CLIBoot["Bootstrap"]
-    CLIBoot --> CLICtx["Context Init"]
-    CLICtx --> CLICli["Cubex::cli()"]
-    CLICli --> Console["Console"]
-    Console --> Command["ConsoleCommand"]
-  end
-
-  subgraph Core["Core Services"]
-    DI["DI Container"] ~~~ Config["INI Config"]
-    Context["Context"] ~~~ Events["Event Channel"]
-  end
-
-  HTTP -.-> Core
-  CLI -.-> Core
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/middleware.html b/docs/_site/middleware.html deleted file mode 100644 index 4387f20..0000000 --- a/docs/_site/middleware.html +++ /dev/null @@ -1,123 +0,0 @@ - Middleware | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Middleware

Cubex provides an onion-layer middleware system that wraps handlers. Each middleware can process the request before and after the inner handler executes.

Middleware Chain

sequenceDiagram
-    participant Client
-    participant MH as MiddlewareHandler
-    participant MW1 as Middleware 1
-    participant MW2 as Middleware 2
-    participant Handler as Inner Handler
-
-    rect rgb(240, 240, 255)
-    Note right of Client: Request
-    Client->>MH: handle(context)
-    MH->>MW1: handle(context)
-    MW1->>MW2: next(context)
-    MW2->>Handler: next(context)
-    end
-
-    rect rgb(240, 255, 240)
-    Note right of Client: Response
-    Handler-->>MW2: Response
-    MW2-->>MW1: Response
-    MW1-->>MH: Response
-    MH-->>Client: Response
-    end
-

Middleware executes in an onion pattern:

  1. The outermost middleware receives the request first
  2. Each middleware can run logic before calling next() to pass to the next layer
  3. The innermost layer is the actual handler
  4. Responses bubble back through each middleware in reverse order

Implementing Middleware

Extend the abstract Middleware base class:

use Cubex\Middleware\Middleware;
-use Packaged\Context\Context;
-use Symfony\Component\HttpFoundation\Response;
-
-class TimingMiddleware extends Middleware
-{
-  public function handle(Context $c): Response
-  {
-    $start = microtime(true);
-
-    // Call the next handler in the chain
-    $response = $this->next($c);
-
-    $duration = microtime(true) - $start;
-    $response->headers->set('X-Response-Time', round($duration * 1000) . 'ms');
-
-    return $response;
-  }
-}
-

The key parts:

  • Extend Middleware (or implement MiddlewareInterface directly)
  • Call $this->next($c) to pass control to the next middleware or the inner handler
  • You can modify the request (context) before calling next() and modify the response after

MiddlewareInterface

For full control, implement the interface directly:

use Cubex\Middleware\MiddlewareInterface;
-use Packaged\Context\Context;
-use Packaged\Routing\Handler\Handler;
-use Symfony\Component\HttpFoundation\Response;
-
-class AuthMiddleware implements MiddlewareInterface
-{
-  private Handler $_next;
-
-  public function setNext(Handler $handler): Handler
-  {
-    $this->_next = $handler;
-    return $this;
-  }
-
-  public function handle(Context $c): Response
-  {
-    if (!$c->request()->headers->has('Authorization'))
-    {
-      return new Response('Unauthorized', 401);
-    }
-
-    return $this->_next->handle($c);
-  }
-}
-

Using MiddlewareHandler

MiddlewareHandler wraps a handler with a chain of middleware:

use Cubex\Middleware\MiddlewareHandler;
-
-$handler = new MiddlewareHandler($router);
-$handler->append(new TimingMiddleware());
-$handler->append(new AuthMiddleware());
-$handler->append(new CorsMiddleware());
-
-$response = $cubex->handle($handler);
-

MiddlewareHandler Methods

Method Description
__construct(Handler $handler) Create a middleware handler wrapping an inner handler
append(MiddlewareInterface $mw) Add middleware to the end of the chain (outermost)
prepend(MiddlewareInterface $mw) Add middleware to the front of the chain (innermost)
add(MiddlewareInterface $mw, ?int $mode) Add with explicit mode (PREPEND or APPEND)
remove(MiddlewareInterface\|string $mw) Remove the first middleware matching the instance or class name
replace(MiddlewareInterface\|string $old, MiddlewareInterface $new) Replace the first matching middleware

Execution Order

Middleware added with append() wraps further out, while prepend() wraps closer to the inner handler:

$handler = new MiddlewareHandler($router);
-$handler->append(new A());  // Outermost
-$handler->append(new B());  // Even more outer
-$handler->prepend(new C()); // Innermost (closest to router)
-
-// Execution order: B → A → C → Router → C → A → B
-

Common Middleware Patterns

Short-Circuit Middleware

Return a response directly without calling next() to stop the chain:

class MaintenanceMiddleware extends Middleware
-{
-  public function handle(Context $c): Response
-  {
-    if ($this->isMaintenanceMode())
-    {
-      return new Response('Service unavailable', 503);
-    }
-
-    return $this->next($c);
-  }
-}
-

Request Modification

Modify the context before passing it along:

class JsonBodyMiddleware extends Middleware
-{
-  public function handle(Context $c): Response
-  {
-    $request = $c->request();
-    if ($request->getContentTypeFormat() === 'json')
-    {
-      $data = json_decode($request->getContent(), true);
-      $request->request->replace($data ?? []);
-    }
-
-    return $this->next($c);
-  }
-}
-

Response Modification

Transform the response on the way back:

class CompressionMiddleware extends Middleware
-{
-  public function handle(Context $c): Response
-  {
-    $response = $this->next($c);
-
-    if (str_contains($c->request()->headers->get('Accept-Encoding', ''), 'gzip'))
-    {
-      $compressed = gzencode($response->getContent());
-      $response->setContent($compressed);
-      $response->headers->set('Content-Encoding', 'gzip');
-    }
-
-    return $response;
-  }
-}
-

This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/request-lifecycle.html b/docs/_site/request-lifecycle.html deleted file mode 100644 index e4fe5f7..0000000 --- a/docs/_site/request-lifecycle.html +++ /dev/null @@ -1,77 +0,0 @@ - Request Lifecycle | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Request Lifecycle

Cubex handles both HTTP requests and CLI commands through distinct but related lifecycles. Both begin with bootstrapping a Cubex instance and creating a Context.

HTTP Lifecycle

The HTTP lifecycle is driven by Cubex::handle(Handler $handler). Here is the full flow:

sequenceDiagram
-    participant Entry as index.php
-    participant Cubex
-    participant Ctx as Context
-    participant Channel as Event Channel
-    participant Handler
-    participant Response
-
-    rect rgb(240, 240, 255)
-    Note right of Entry: Setup
-    Entry->>Cubex: new Cubex($root, $loader)
-    Entry->>Cubex: handle($handler)
-    Cubex->>Ctx: getContext()
-    Cubex->>Ctx: initialize()
-    Cubex->>Handler: setContext($ctx)
-    end
-
-    rect rgb(240, 255, 240)
-    Note right of Entry: Execute
-    Cubex->>Channel: PreExecuteEvent
-    Cubex->>Handler: handle($ctx)
-    Handler-->>Cubex: Response
-    end
-
-    rect rgb(255, 240, 240)
-    Note right of Entry: Send Response
-    Cubex->>Channel: ResponsePrepareEvent
-    Cubex->>Response: apply cookies, prepare()
-    Cubex->>Channel: ResponsePreparedEvent
-    Cubex->>Channel: PreSendHeadersEvent
-    Cubex->>Response: sendHeaders()
-    Cubex->>Channel: PreSendContentEvent
-    Cubex->>Response: sendContent()
-    Cubex->>Channel: HandleCompleteEvent
-    end
-
-    Entry->>Cubex: shutdown()
-    Cubex->>Channel: ShutdownEvent
-

Bootstrap

$loader = require __DIR__ . '/../vendor/autoload.php';
-$cubex = new Cubex(__DIR__ . '/..', $loader);
-

The constructor:

  1. Sets the project root path
  2. Creates an event Channel named 'cubex'
  3. Shares the ClassLoader and DependencyInjector (itself) in the DI container
  4. Registers a Context factory that creates contexts from Request::createFromGlobals()

Context Preparation

When handle() is called, it retrieves the shared Context from the DI container. The context is prepared with:

  • Environment from the CUBEX_ENV environment variable
  • Project root path
  • Configuration loaded from INI files in cascade order
  • Cubex reference set on the context (if CubexAware)

Handler Execution

The handler (typically a Router, Application, or Controller) receives the context and produces a Response. If the handler is ContextAware, its context is set before execution.

Response Processing

After the handler returns a response, Cubex:

  1. Fires ResponsePrepareEvent (listeners can modify the response)
  2. Applies cookies from the context’s cookie jar
  3. Calls $response->prepare($request) to finalize headers
  4. Fires ResponsePreparedEvent
  5. Sends headers, flushes, then sends content
  6. Calls fastcgi_finish_request() if running under PHP-FPM
  7. Fires HandleCompleteEvent

Exception Handling

By default, Cubex catches exceptions in production environments and re-throws them in local and dev environments. This behavior is controlled by setThrowEnvironments():

$cubex->setThrowEnvironments([Context::ENV_LOCAL, Context::ENV_DEV]);
-

CLI Lifecycle

The CLI lifecycle is driven by Cubex::cli():

sequenceDiagram
-    participant Entry as cubex
-    participant Cubex
-    participant Ctx as Context
-    participant Channel as Event Channel
-    participant Console
-    participant Command
-
-    rect rgb(240, 240, 255)
-    Note right of Entry: Bootstrap
-    Entry->>Cubex: new Cubex($root, $loader)
-    Entry->>Cubex: cli($input, $output)
-    Cubex->>Ctx: getContext()
-    end
-
-    rect rgb(240, 255, 240)
-    Note right of Entry: Console Setup
-    Cubex->>Ctx: trigger(ConsoleLaunchedEvent)
-    Cubex->>Console: create Console
-    Cubex->>Ctx: trigger(ConsoleCreatedEvent)
-    Cubex->>Channel: ConsoleCreateEvent
-    Note over Console: Registers commands from config
-    end
-
-    rect rgb(255, 240, 240)
-    Note right of Entry: Execute
-    Cubex->>Channel: ConsolePrepareEvent
-    Cubex->>Console: run($input, $output)
-    Console->>Command: execute()
-    Command-->>Console: exit code
-    Console-->>Cubex: exit code
-    end
-

CLI Bootstrap

$loader = require __DIR__ . '/../vendor/autoload.php';
-$cubex = new Cubex(__DIR__ . '/..', $loader);
-exit($cubex->cli());
-

Cubex::cli() creates default ArgvInput and ConsoleOutput if none are provided, then:

  1. Fires ConsoleLaunchedEvent on the context event channel
  2. Creates the Console application (lazy, cached)
  3. Fires ConsoleCreatedEvent (context channel) and ConsoleCreateEvent (cubex channel)
  4. Fires ConsolePrepareEvent on the cubex channel
  5. Runs the console application
  6. Returns the exit code (capped at 255)

Shutdown

Call $cubex->shutdown() after handling completes. This fires the ShutdownEvent exactly once (guarded against double-shutdown). If shutdown is not called explicitly, the destructor will attempt it and log a warning.


This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/routing.html b/docs/_site/routing.html deleted file mode 100644 index f19481f..0000000 --- a/docs/_site/routing.html +++ /dev/null @@ -1,56 +0,0 @@ - Routing | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Routing

Cubex uses a generator-based routing system built on packaged/routing. Routes are defined by yielding conditions from _generateRoutes(), and the framework traverses them to find a matching handler.

How Route Resolution Works

flowchart TD
-    Start["handle()"] --> GetHandler["_getHandler(context)"]
-    GetHandler --> GenRoutes["_generateRoutes()"]
-    GenRoutes --> Check{"Next condition?"}
-    Check -->|Yes| Eval{"Matches?"}
-    Check -->|No| Default["Default handler"]
-    Eval -->|No| Check
-    Eval -->|Yes| IsRoute{"Traversable?"}
-    IsRoute -->|Yes| Traverse["Traverse sub-handler"] --> Check
-    IsRoute -->|No| Handler["Matched handler"]
-    Handler --> Prepare["_prepareHandler()"]
-    Default --> Prepare
-    Prepare --> Process["_processHandler()"]
-    Process --> PrepResp["_prepareResponse()"]
-

The RouteSelector base class (from packaged/routing) calls _generateRoutes() and iterates through the yielded ConditionHandler pairs. For each:

  1. The condition is evaluated against the current context
  2. If the handler is a Route (traversable), it recurses into the sub-handler
  3. Otherwise, the matched handler is returned

The result passes through _prepareHandler() (string-to-class resolution, redirect handling) and then _processHandler() (execution).

The Router Class

Router provides a fluent API for defining routes without subclassing:

use Cubex\Routing\Router;
-use Packaged\Http\Response\TextResponse;
-use Packaged\Routing\Handler\FuncHandler;
-
-$router = Router::i()
-  ->onPath('/hello', new FuncHandler(
-    fn() => new TextResponse('Hello, World!')
-  ))
-  ->onPathFunc('/greet/{name}', function ($ctx) {
-    $name = $ctx->routeData()->get('name');
-    return new TextResponse("Hello, {$name}!");
-  })
-  ->setDefaultHandler(new FuncHandler(
-    fn() => new TextResponse('Not Found', 404)
-  ));
-

Router Methods

Method Description
Router::i() Static factory for a new Router instance
onPath($path, $handler) Add a route matching the given path pattern
onPathFunc($path, callable $func) Add a route with a callable (wrapped in FuncHandler)
setDefaultHandler(Handler $handler) Set the fallback handler when no route matches
addCondition(ConditionHandler $cond) Add a custom condition/handler pair
getHandler(Context $ctx) Resolve the matching handler for a context

Path Patterns

Path matching uses RequestCondition from packaged/routing. Patterns support:

Syntax Description Example
/literal Exact path segment /users
/{name} Named path variable /users/{id}
/{name@constraint} Constrained variable /{id@num}
Prefix matching Routes match path prefixes by default /api matches /api/users

Route data (captured variables) is available via $context->routeData().

Generator-Based Routes

For custom route processors, override _generateRoutes() to yield route conditions:

use Cubex\Routing\RouteProcessor;
-use Packaged\Routing\ConditionHandler;
-use Packaged\Routing\Handler\FuncHandler;
-use Packaged\Routing\RequestCondition;
-
-class MyRouter extends RouteProcessor
-{
-  protected function _generateRoutes(): Generator
-  {
-    yield self::_route('/dashboard', DashboardController::class);
-    yield self::_route('/api', ApiRouter::class);
-    yield self::_route('/health', new FuncHandler(
-      fn() => new TextResponse('OK')
-    ));
-    // Default handler returned (not yielded)
-    return new FuncHandler(fn() => new TextResponse('Not Found', 404));
-  }
-}
-

The _route() helper (from RouteSelector) creates ConditionHandler pairs from a path and handler.

Redirect Shorthand

String handlers beginning with @ are treated as redirects:

@301!/new-url     → 301 redirect to /new-url
-@302!/other       → 302 redirect to /other
-

This is handled in RouteProcessor::_prepareHandler().

Handler Resolution Chain

When _prepareHandler() processes a handler, it follows this chain:

  1. String containing \: Treated as a class name — resolved via DI container (if Cubex is available) or instantiated directly
  2. String starting with @: Parsed as a redirect (@{code}!{url})
  3. Callable: Invoked directly, result processed recursively
  4. Handler instance: handle() is called with the context
  5. String (in Controller): Resolved to controller methods via HTTP verb prefixes (see Controllers)

Nested Routing

Routes can be nested by returning other RouteProcessor instances (routers, applications, or controllers) as handlers:

protected function _generateRoutes(): Generator
-{
-  // ApiRouter is itself a RouteProcessor with its own _generateRoutes()
-  yield self::_route('/api', ApiRouter::class);
-  yield self::_route('/admin', AdminController::class);
-}
-

The path is consumed segment by segment as the route traverses into nested handlers.


This site uses Just the Docs, a documentation theme for Jekyll.
diff --git a/docs/_site/viewmodels.html b/docs/_site/viewmodels.html deleted file mode 100644 index d7dbbce..0000000 --- a/docs/_site/viewmodels.html +++ /dev/null @@ -1,163 +0,0 @@ - ViewModels | Cubex Framework Skip to main content Link Menu Expand (external link) Document Search Copy Copied

ViewModels

Cubex separates data (Models/ViewModels) from presentation (Views). This pattern keeps business logic out of templates and makes models independently testable and JSON-serializable.

Class Hierarchy

classDiagram
-    class Model {
-        <<interface>>
-        +jsonSerialize() mixed
-    }
-    class View {
-        <<interface>>
-        +setModel(Model data)
-        +render() string
-    }
-    class ViewModel {
-        +setView(string viewClass) self
-        +createView() View
-        +lock() self
-    }
-    class AbstractView {
-        <<abstract>>
-        +setModel(Model data)
-        +render() string
-    }
-    class TemplatedViewModel {
-        +render() string
-        +addVariant(string variant) self
-    }
-    class JsonView {
-        +setFlags(int flags) self
-        +render() string
-    }
-    class ArrayModel {
-        +set(array data) self
-        +addItem(value, key) self
-    }
-
-    Model <|.. ViewModel
-    View <|.. AbstractView
-    ViewModel <|-- TemplatedViewModel
-    View <|.. TemplatedViewModel
-    AbstractView <|-- JsonView
-    ViewModel <|-- ArrayModel
-

ViewModel

The primary data container. Holds data as public properties, supports JSON serialization, and can create a corresponding View:

use Cubex\ViewModel\ViewModel;
-
-class UserProfileModel extends ViewModel
-{
-  protected string $_defaultView = UserProfileView::class;
-
-  public string $name;
-  public string $email;
-  public int $age;
-}
-

Creating and Using

$model = new UserProfileModel();
-$model->name = 'Alice';
-$model->email = 'alice@example.com';
-$model->age = 30;
-
-// Create the associated view and render
-$view = $model->createView();
-$html = $view->render();
-
-// Or serialize to JSON
-$json = json_encode($model);
-// {"name":"Alice","email":"alice@example.com","age":30}
-

Locking (Immutability)

Call lock() to freeze the model’s state. After locking, property values are captured and the model becomes read-only:

$model->lock();
-
-// Properties are still readable
-echo $model->name; // "Alice"
-
-// But setting throws an exception
-$model->name = 'Bob'; // Throws: "Cannot set property 'name' ... is immutable"
-

Locked models serialize from their frozen snapshot rather than live properties.

Custom View Override

Override the view class at creation time:

$view = $model->createView(MobileUserProfileView::class);
-

View

Views receive a model and render it to a string. Implement the View interface:

use Cubex\ViewModel\View;
-use Cubex\ViewModel\Model;
-
-class UserProfileView implements View
-{
-  private Model $_model;
-
-  public function setModel(Model $data): void
-  {
-    $this->_model = $data;
-  }
-
-  public function render(): string
-  {
-    return "<div class='profile'>"
-      . "<h1>{$this->_model->name}</h1>"
-      . "<p>{$this->_model->email}</p>"
-      . "</div>";
-  }
-}
-

AbstractView

A convenient base class that stores the model and provides a _render() hook:

use Cubex\ViewModel\AbstractView;
-
-class UserCardView extends AbstractView
-{
-  protected function _render(): ?ISafeHtmlProducer
-  {
-    // Access the model via $this->_model
-    return new SafeHtml("<div>{$this->_model->name}</div>");
-  }
-}
-

TemplatedViewModel

Combines ViewModel and View into a single class. Renders using .phtml template files located alongside the class file:

use Cubex\ViewModel\TemplatedViewModel;
-
-class DashboardPage extends TemplatedViewModel
-{
-  public int $userCount;
-  public int $orderCount;
-  public array $recentOrders;
-}
-

With a template at DashboardPage.phtml in the same directory:

<!-- DashboardPage.phtml -->
-<div class="dashboard">
-  <h1>Dashboard</h1>
-  <p>Users: <?= $this->userCount ?></p>
-  <p>Orders: <?= $this->orderCount ?></p>
-  <ul>
-    <?php foreach($this->recentOrders as $order): ?>
-      <li><?= $order['id'] ?>: <?= $order['total'] ?></li>
-    <?php endforeach; ?>
-  </ul>
-</div>
-

Template Variants

Add variant templates that take priority over the default. Useful for device-specific or A/B test rendering:

$page = new DashboardPage();
-$page->addVariant('mobile');
-// Looks for DashboardPage.mobile.phtml first,
-// falls back to DashboardPage.phtml
-echo $page->render();
-

Self-Rendering

TemplatedViewModel acts as its own view. Calling createView() without an override returns $this:

$page = new DashboardPage();
-$view = $page->createView(); // Returns $page itself
-echo $view->render();        // Renders the template
-

JsonView

Renders any Model as JSON:

use Cubex\ViewModel\JsonView;
-
-$model = new UserProfileModel();
-$model->name = 'Alice';
-$model->email = 'alice@example.com';
-
-$view = new JsonView();
-$view->setModel($model);
-$view->setFlags(JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
-echo $view->render();
-

ArrayModel

A ViewModel backed by a simple array instead of typed properties:

use Cubex\ViewModel\ArrayModel;
-
-$model = new ArrayModel();
-$model->addItem('Alice', 'name');
-$model->addItem('alice@example.com', 'email');
-$model->set(['tags' => ['admin', 'user']]);
-
-echo json_encode($model);
-// {"name":"Alice","email":"alice@example.com","tags":["admin","user"]}
-

ViewModel Flow in Controllers

When a controller method returns a ViewModel, the framework handles view creation and rendering automatically:

flowchart LR
-    Controller["Controller returns<br/>ViewModel"] --> SetCtx["Set context/cubex"]
-    SetCtx --> CreateView["createView()"]
-    CreateView --> SetModel["setModel()"]
-    SetModel --> Render["render()"]
-    Render --> Response["CubexResponse"]
-
class ProfileController extends Controller
-{
-  public function getIndex(): UserProfileModel
-  {
-    $model = new UserProfileModel();
-    $model->name = 'Alice';
-    $model->email = 'alice@example.com';
-    // Controller::_prepareResponse() handles the rest
-    return $model;
-  }
-}
-

This site uses Just the Docs, a documentation theme for Jekyll.