From 2db352880a7c6694ce8677231b5221b6c060a855 Mon Sep 17 00:00:00 2001 From: Meakk Date: Mon, 12 Aug 2024 20:51:33 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20f3d-app/?= =?UTF-8?q?f3d@c30103c7105b5c57379777efcb97d577267ae8d8=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.html | 2 +- LICENSE.html | 2 +- _licenses.html | 2 +- assets/css/just-the-docs-dark.css | 2 +- assets/css/just-the-docs-default.css | 2 +- assets/css/just-the-docs-light.css | 2 +- doc/CHANGELOG.html | 2 +- doc/GALLERY.html | 2 +- doc/THIRD_PARTY_LICENSES.html | 2 +- doc/dev/BUILD.html | 2 +- doc/dev/BUILD_WASM.html | 2 +- doc/dev/CODING_STYLE.html | 2 +- doc/dev/GENERATE.html | 2 +- doc/dev/GETTING_STARTED.html | 2 +- doc/dev/GOVERNANCE.html | 2 +- doc/dev/MAINTAINERS.html | 2 +- doc/dev/README_DEV.html | 2 +- doc/dev/ROADMAPS_AND_RELEASES.html | 2 +- doc/dev/TESTING.html | 2 +- doc/libf3d/BINDINGS.html | 2 +- doc/libf3d/CLASSES.html | 2 +- doc/libf3d/OPTIONS.html | 2 +- doc/libf3d/OVERVIEW.html | 2 +- doc/libf3d/PLUGINS.html | 2 +- doc/libf3d/README_LIBF3D.html | 2 +- doc/user/ANIMATIONS.html | 2 +- doc/user/COLOR_MAPS.html | 2 +- doc/user/CONFIGURATION_FILE.html | 2 +- doc/user/DESKTOP_INTEGRATION.html | 2 +- doc/user/FINAL_SHADER.html | 2 +- doc/user/INSTALLATION.html | 2 +- doc/user/INTERACTIONS.html | 2 +- doc/user/LIMITATIONS_AND_TROUBLESHOOTING.html | 2 +- doc/user/OPTIONS.html | 2 +- doc/user/README_USER.html | 2 +- doc/user/USAGE.html | 2 +- index.html | 2 +- resources/colormaps/licenses.html | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index 2d593f0e7e..851d9949da 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -1 +1 @@ - Contribute | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

How to Contribute

F3D welcomes all contributors, regardless of skill level or experience!

Contributing as a User

Contributing to F3D can be as simple as pointing out a spelling mistake on the website, reporting a bug you encountered, or suggesting a new feature you feel would improve the application.

We use GitHub to manage the project and you can report new issues or weigh in on existing ones via our issue tracker.

Also, do not hesitate to join our Discord!

How to Get Started With Development

To contribute to F3D as a developer, first you may want to try and build F3D for yourself. If you are already familiar with software compilation, you can take a look at our build guide. If not, you may want to look at our getting started guide, that provide steps to compile F3D.

Once you are able to build F3D, you may want to take a look at the open issues! If you are a beginner, you may want to look at “good first issues”. If you already have some experience with programming and contribution, definitely look at “help wanted” issues. If an issue is interesting to you and is not yet assigned, then you should comment on the issue and ask for any help or clarification needed. F3D maintainers will see your comment, assign the issue to you and provide guidance as needed.

To get involved more deeply, please take a look at the roadmaps for the upcoming releases.

It is also recommended to reach out on Discord to simplify communication, but it is not required.

You can then fix the issue or implement the feature on your side and contribute it to the F3D repository by following the workflow described below.

Of course, if you are already using F3D and want to improve it for your specific needs, because you want a feature or found a bug, that is definitely possible. Feel free to reach out for guidance by opening an issue or asking on Discord.

Another way to get started is to improve the documentation, look for typos, or improve the examples and the gallery. Please share any ideas you may have!

F3D Development Workflow

F3D uses GitLab Flow. In a few words, here is how to contribute:

  • Fork the F3D repository on GitHub.
  • Create and push a feature branch on your fork containing new commits.
  • When it is ready for review or when you want to run the CI, create a pull request against f3d-app/f3d/master.
  • Once the PR is approved and CI comes back clean, a F3D maintainer will merge your pull request in the master branch.
  • The master now contains your changes and will be present in the next release!

Continuous Integration

F3D has pretty extensive continuous integration trying to cover all usecases for F3D. It means that if the change in your pull request breaks continuous integration, it will not be merged until it passes successfully. It also means that adding a new feature or behavior means adding an associated test. Make sure to check the results for yourself and ask for help if needed.

F3D continuous integration will also check the coverage as it is a good way to evaluate if new features are being tested or not. When adding code to F3D, always try to cover it by adding/modifying tests.

F3D continuous integration also checks formatting using clang-format and will inform you if changes needs to be made. Some formatting rules are not enforced by clang-format and will be checked during the review process.

When making changes to the libf3d public API, continuous integration will warn about making related changes to the bindings. This is required in order to merge the pull request.

Changelog

Whenever you make significant changes, either bugfixes or features, please update the changelog “Ongoing development” section. There are three subsections. “For F3D Users” are changes that impact actual F3D users and are related to F3D behaviors changing. “For developers” are changes that impact developers that build F3D. “For F3D packagers” are changes that impact anyone packaging F3D, eg: new CMake options.

F3D Architecture

F3D is divided into different components:

  • The f3d executable, in the application folder.
  • The libf3d library, in the library folder.
  • The extensions to VTK, in the vtkext folder.
  • The bindings for Python, Java, and WebAssembly, in their respective folders.
  • The plugins, providing all the different readers in the plugins directory.

The extensions to VTK are divided into two modules:

The libf3d library implements the whole logic of instancing and manipulating the different VTK classes, it is fully documented in the libf3d README.

The f3d executable itself uses libf3d and adds an application layer on top of it, especially the handling of command line options and a configuration file.

+ Contribute | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

How to Contribute

F3D welcomes all contributors, regardless of skill level or experience!

Contributing as a User

Contributing to F3D can be as simple as pointing out a spelling mistake on the website, reporting a bug you encountered, or suggesting a new feature you feel would improve the application.

We use GitHub to manage the project and you can report new issues or weigh in on existing ones via our issue tracker.

Also, do not hesitate to join our Discord!

How to Get Started With Development

To contribute to F3D as a developer, first you may want to try and build F3D for yourself. If you are already familiar with software compilation, you can take a look at our build guide. If not, you may want to look at our getting started guide, that provide steps to compile F3D.

Once you are able to build F3D, you may want to take a look at the open issues! If you are a beginner, you may want to look at “good first issues”. If you already have some experience with programming and contribution, definitely look at “help wanted” issues. If an issue is interesting to you and is not yet assigned, then you should comment on the issue and ask for any help or clarification needed. F3D maintainers will see your comment, assign the issue to you and provide guidance as needed.

To get involved more deeply, please take a look at the roadmaps for the upcoming releases.

It is also recommended to reach out on Discord to simplify communication, but it is not required.

You can then fix the issue or implement the feature on your side and contribute it to the F3D repository by following the workflow described below.

Of course, if you are already using F3D and want to improve it for your specific needs, because you want a feature or found a bug, that is definitely possible. Feel free to reach out for guidance by opening an issue or asking on Discord.

Another way to get started is to improve the documentation, look for typos, or improve the examples and the gallery. Please share any ideas you may have!

F3D Development Workflow

F3D uses GitLab Flow. In a few words, here is how to contribute:

  • Fork the F3D repository on GitHub.
  • Create and push a feature branch on your fork containing new commits.
  • When it is ready for review or when you want to run the CI, create a pull request against f3d-app/f3d/master.
  • Once the PR is approved and CI comes back clean, a F3D maintainer will merge your pull request in the master branch.
  • The master now contains your changes and will be present in the next release!

Continuous Integration

F3D has pretty extensive continuous integration trying to cover all usecases for F3D. It means that if the change in your pull request breaks continuous integration, it will not be merged until it passes successfully. It also means that adding a new feature or behavior means adding an associated test. Make sure to check the results for yourself and ask for help if needed.

F3D continuous integration will also check the coverage as it is a good way to evaluate if new features are being tested or not. When adding code to F3D, always try to cover it by adding/modifying tests.

F3D continuous integration also checks formatting using clang-format and will inform you if changes needs to be made. Some formatting rules are not enforced by clang-format and will be checked during the review process.

When making changes to the libf3d public API, continuous integration will warn about making related changes to the bindings. This is required in order to merge the pull request.

Changelog

Whenever you make significant changes, either bugfixes or features, please update the changelog “Ongoing development” section. There are three subsections. “For F3D Users” are changes that impact actual F3D users and are related to F3D behaviors changing. “For developers” are changes that impact developers that build F3D. “For F3D packagers” are changes that impact anyone packaging F3D, eg: new CMake options.

F3D Architecture

F3D is divided into different components:

  • The f3d executable, in the application folder.
  • The libf3d library, in the library folder.
  • The extensions to VTK, in the vtkext folder.
  • The bindings for Python, Java, and WebAssembly, in their respective folders.
  • The plugins, providing all the different readers in the plugins directory.

The extensions to VTK are divided into two modules:

The libf3d library implements the whole logic of instancing and manipulating the different VTK classes, it is fully documented in the libf3d README.

The f3d executable itself uses libf3d and adds an application layer on top of it, especially the handling of command line options and a configuration file.

diff --git a/LICENSE.html b/LICENSE.html index 6bfe170ff3..939e01a1e2 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -1 +1 @@ - License | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

BSD 3-Clause License

  • Copyright 2019-2021 Kitware SAS
  • Copyright 2021-2024 Michael Migliore, Mathieu Westphal

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ License | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

BSD 3-Clause License

  • Copyright 2019-2021 Kitware SAS
  • Copyright 2021-2024 Michael Migliore, Mathieu Westphal

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

diff --git a/_licenses.html b/_licenses.html index e79e18e4bd..5f6f04911e 100644 --- a/_licenses.html +++ b/_licenses.html @@ -1 +1 @@ - Licenses | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Table of contents

+ Licenses | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Table of contents

diff --git a/assets/css/just-the-docs-dark.css b/assets/css/just-the-docs-dark.css index a256ce0d40..2d4565fce5 100644 --- a/assets/css/just-the-docs-dark.css +++ b/assets/css/just-the-docs-dark.css @@ -1 +1 @@ -.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}.highlight,pre.highlight{background:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.highlight .hll{background:#31343f}.highlight .c{color:#63677e;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#e19ef5}.highlight .l{color:#a3eea0}.highlight .n{color:#dee2f7}.highlight .o{color:#dee2f7}.highlight .p{color:#dee2f7}.highlight .cm{color:#63677e;font-style:italic}.highlight .cp{color:#63677e;font-style:italic}.highlight .c1{color:#63677e;font-style:italic}.highlight .cs{color:#63677e;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#e19ef5}.highlight .kd{color:#e19ef5}.highlight .kn{color:#e19ef5}.highlight .kp{color:#e19ef5}.highlight .kr{color:#e19ef5}.highlight .kt{color:#e19ef5}.highlight .ld{color:#a3eea0}.highlight .m{color:#eddc96}.highlight .s{color:#a3eea0}.highlight .na{color:#eddc96}.highlight .nb{color:#fdce68}.highlight .nc{color:#fdce68}.highlight .no{color:#fdce68}.highlight .nd{color:#fdce68}.highlight .ni{color:#fdce68}.highlight .ne{color:#fdce68}.highlight .nf{color:#dee2f7}.highlight .nl{color:#fdce68}.highlight .nn{color:#dee2f7}.highlight .nx{color:#dee2f7}.highlight .py{color:#fdce68}.highlight .nt{color:#f9867b}.highlight .nv{color:#fdce68}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#eddc96}.highlight .mh{color:#eddc96}.highlight .mi{color:#eddc96}.highlight .mo{color:#eddc96}.highlight .sb{color:#a3eea0}.highlight .sc{color:#a3eea0}.highlight .sd{color:#a3eea0}.highlight .s2{color:#a3eea0}.highlight .se{color:#a3eea0}.highlight .sh{color:#a3eea0}.highlight .si{color:#a3eea0}.highlight .sx{color:#a3eea0}.highlight .sr{color:#7be2f9}.highlight .s1{color:#a3eea0}.highlight .ss{color:#7be2f9}.highlight .bp{color:#fdce68}.highlight .vc{color:#fdce68}.highlight .vg{color:#fdce68}.highlight .vi{color:#f9867b}.highlight .il{color:#eddc96}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:dark}*{box-sizing:border-box}html{font-size:.875rem !important;scroll-behavior:smooth}@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:#2c84fa;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(44,132,250,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, calc((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-right:1rem;padding-left:1rem;padding-top:1rem;padding-bottom: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{padding-right:1rem;padding-left:1rem;flex-grow:1;display:flex;height:100%;align-items:center;padding-top:.75rem;padding-bottom:.75rem;color:#f5f6fa;font-size:1.125rem !important}@media (min-width: 50rem){.site-title{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-title{font-size:1.5rem !important;line-height:1.25}}@media (min-width: 50rem){.site-title{padding-top:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{padding-right:1rem;padding-left:1rem;position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;font-size:.6875rem !important}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-footer{font-size:.75rem !important}}@media (min-width: 50rem){.site-footer{position:static;justify-self:end}}.icon{width:1.5rem;height:1.5rem;color:#2c84fa}.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:.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;font-size:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:#2c84fa;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:.5rem}.nav-list{padding:0;margin-top:0;margin-bottom:0;list-style:none}.nav-list .nav-list-item{font-size:.875rem !important;position:relative;margin:0}@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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#2c84fa}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #44434d;font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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:#2c84fa}.nav-list.nav-category-list>.nav-list-item>.nav-list>.nav-list-item>.nav-list-expander{color:#2c84fa}.aux-nav{height:100%;overflow-x:auto;font-size:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell;font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.5rem;color:#959396;content:"/"}.breadcrumb-nav-list-item:last-child::after{content:""}h1,.text-alpha{font-size:2rem !important;line-height:1.25;font-weight:300}@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-size:.6875rem !important;font-weight:400;text-transform:uppercase;letter-spacing:0.1em}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;font-size:.6875rem !important;border-radius:12px}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#2c84fa;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:#227efa}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#2e2b33}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#29262e;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#2c84fa;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:#1878fa;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:#2448a7;background-image:linear-gradient(#2b55c4, #2448a7);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:#22459e;background-image:linear-gradient(#2850b7,#22459e)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#21439a;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#1d3a85}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#27262b;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.search-input:focus+.search-label .search-icon{color:#2c84fa}.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:.25rem;list-style:none;font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#201f23}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5;font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#2c84fa;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#44434d;font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem;font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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(44,132,250,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{font-size:.75rem !important;min-width:7.5rem;padding:.5rem .75rem;background-color:#302d36;border-bottom:1px solid rgba(68,67,77,0.5);border-left:1px solid #44434d}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #44434d}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#31343f;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:.75rem;background-color:#31343f;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #31343f;background-color:#31343f;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important;min-width:0;padding:0;background-color:#31343f;border:0}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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:#2c84fa;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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} +.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}.highlight,pre.highlight{background:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.highlight .hll{background:#31343f}.highlight .c{color:#63677e;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#e19ef5}.highlight .l{color:#a3eea0}.highlight .n{color:#dee2f7}.highlight .o{color:#dee2f7}.highlight .p{color:#dee2f7}.highlight .cm{color:#63677e;font-style:italic}.highlight .cp{color:#63677e;font-style:italic}.highlight .c1{color:#63677e;font-style:italic}.highlight .cs{color:#63677e;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#e19ef5}.highlight .kd{color:#e19ef5}.highlight .kn{color:#e19ef5}.highlight .kp{color:#e19ef5}.highlight .kr{color:#e19ef5}.highlight .kt{color:#e19ef5}.highlight .ld{color:#a3eea0}.highlight .m{color:#eddc96}.highlight .s{color:#a3eea0}.highlight .na{color:#eddc96}.highlight .nb{color:#fdce68}.highlight .nc{color:#fdce68}.highlight .no{color:#fdce68}.highlight .nd{color:#fdce68}.highlight .ni{color:#fdce68}.highlight .ne{color:#fdce68}.highlight .nf{color:#dee2f7}.highlight .nl{color:#fdce68}.highlight .nn{color:#dee2f7}.highlight .nx{color:#dee2f7}.highlight .py{color:#fdce68}.highlight .nt{color:#f9867b}.highlight .nv{color:#fdce68}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#eddc96}.highlight .mh{color:#eddc96}.highlight .mi{color:#eddc96}.highlight .mo{color:#eddc96}.highlight .sb{color:#a3eea0}.highlight .sc{color:#a3eea0}.highlight .sd{color:#a3eea0}.highlight .s2{color:#a3eea0}.highlight .se{color:#a3eea0}.highlight .sh{color:#a3eea0}.highlight .si{color:#a3eea0}.highlight .sx{color:#a3eea0}.highlight .sr{color:#7be2f9}.highlight .s1{color:#a3eea0}.highlight .ss{color:#7be2f9}.highlight .bp{color:#fdce68}.highlight .vc{color:#fdce68}.highlight .vg{color:#fdce68}.highlight .vi{color:#f9867b}.highlight .il{color:#eddc96}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}html{font-size:.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:#2c84fa;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(44,132,250,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, calc((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:.75rem;padding-bottom:.75rem;color:#f5f6fa;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:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;padding-right:1rem;padding-left:1rem}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}.site-footer{font-size:.6875rem !important}@media (min-width: 31.25rem){.site-footer{font-size:.75rem !important}}@media (min-width: 50rem){.site-footer{position:static;justify-self:end}}.icon{width:1.5rem;height:1.5rem;color:#2c84fa}.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:.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:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:#2c84fa;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:.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:.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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#2c84fa}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #44434d}.nav-category{font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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:#2c84fa}.nav-list.nav-category-list>.nav-list-item>.nav-list>.nav-list-item>.nav-list-expander{color:#2c84fa}.aux-nav{height:100%;overflow-x:auto}.aux-nav{font-size:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell}.breadcrumb-nav-list-item{font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.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:.6875rem !important}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;border-radius:12px}.label:not(g),.label-blue:not(g){font-size:.6875rem !important}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#2c84fa;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:#227efa}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#2e2b33}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#29262e;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#2c84fa;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:#1878fa;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:#2448a7;background-image:linear-gradient(#2b55c4, #2448a7);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:#22459e;background-image:linear-gradient(#2850b7,#22459e)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#21439a;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#1d3a85}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#27262b;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.search-input:focus+.search-label .search-icon{color:#2c84fa}.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:.25rem;list-style:none}.search-results-list{font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#201f23}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5}.search-result-doc.search-result-doc-parent{font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#2c84fa;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap}.search-result-rel-url{font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#44434d}.search-result-previews{font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem}.search-no-result{font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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(44,132,250,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:.5rem .75rem;background-color:#302d36;border-bottom:1px solid rgba(68,67,77,0.5);border-left:1px solid #44434d}th,td{font-size:.75rem !important}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #44434d}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#31343f;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:.75rem;background-color:#31343f;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #31343f;background-color:#31343f;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{min-width:0;padding:0;background-color:#31343f;border:0}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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:#2c84fa;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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} diff --git a/assets/css/just-the-docs-default.css b/assets/css/just-the-docs-default.css index a256ce0d40..2d4565fce5 100644 --- a/assets/css/just-the-docs-default.css +++ b/assets/css/just-the-docs-default.css @@ -1 +1 @@ -.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}.highlight,pre.highlight{background:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.highlight .hll{background:#31343f}.highlight .c{color:#63677e;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#e19ef5}.highlight .l{color:#a3eea0}.highlight .n{color:#dee2f7}.highlight .o{color:#dee2f7}.highlight .p{color:#dee2f7}.highlight .cm{color:#63677e;font-style:italic}.highlight .cp{color:#63677e;font-style:italic}.highlight .c1{color:#63677e;font-style:italic}.highlight .cs{color:#63677e;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#e19ef5}.highlight .kd{color:#e19ef5}.highlight .kn{color:#e19ef5}.highlight .kp{color:#e19ef5}.highlight .kr{color:#e19ef5}.highlight .kt{color:#e19ef5}.highlight .ld{color:#a3eea0}.highlight .m{color:#eddc96}.highlight .s{color:#a3eea0}.highlight .na{color:#eddc96}.highlight .nb{color:#fdce68}.highlight .nc{color:#fdce68}.highlight .no{color:#fdce68}.highlight .nd{color:#fdce68}.highlight .ni{color:#fdce68}.highlight .ne{color:#fdce68}.highlight .nf{color:#dee2f7}.highlight .nl{color:#fdce68}.highlight .nn{color:#dee2f7}.highlight .nx{color:#dee2f7}.highlight .py{color:#fdce68}.highlight .nt{color:#f9867b}.highlight .nv{color:#fdce68}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#eddc96}.highlight .mh{color:#eddc96}.highlight .mi{color:#eddc96}.highlight .mo{color:#eddc96}.highlight .sb{color:#a3eea0}.highlight .sc{color:#a3eea0}.highlight .sd{color:#a3eea0}.highlight .s2{color:#a3eea0}.highlight .se{color:#a3eea0}.highlight .sh{color:#a3eea0}.highlight .si{color:#a3eea0}.highlight .sx{color:#a3eea0}.highlight .sr{color:#7be2f9}.highlight .s1{color:#a3eea0}.highlight .ss{color:#7be2f9}.highlight .bp{color:#fdce68}.highlight .vc{color:#fdce68}.highlight .vg{color:#fdce68}.highlight .vi{color:#f9867b}.highlight .il{color:#eddc96}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:dark}*{box-sizing:border-box}html{font-size:.875rem !important;scroll-behavior:smooth}@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:#2c84fa;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(44,132,250,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, calc((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-right:1rem;padding-left:1rem;padding-top:1rem;padding-bottom: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{padding-right:1rem;padding-left:1rem;flex-grow:1;display:flex;height:100%;align-items:center;padding-top:.75rem;padding-bottom:.75rem;color:#f5f6fa;font-size:1.125rem !important}@media (min-width: 50rem){.site-title{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-title{font-size:1.5rem !important;line-height:1.25}}@media (min-width: 50rem){.site-title{padding-top:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{padding-right:1rem;padding-left:1rem;position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;font-size:.6875rem !important}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-footer{font-size:.75rem !important}}@media (min-width: 50rem){.site-footer{position:static;justify-self:end}}.icon{width:1.5rem;height:1.5rem;color:#2c84fa}.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:.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;font-size:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:#2c84fa;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:.5rem}.nav-list{padding:0;margin-top:0;margin-bottom:0;list-style:none}.nav-list .nav-list-item{font-size:.875rem !important;position:relative;margin:0}@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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#2c84fa}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #44434d;font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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:#2c84fa}.nav-list.nav-category-list>.nav-list-item>.nav-list>.nav-list-item>.nav-list-expander{color:#2c84fa}.aux-nav{height:100%;overflow-x:auto;font-size:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell;font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.5rem;color:#959396;content:"/"}.breadcrumb-nav-list-item:last-child::after{content:""}h1,.text-alpha{font-size:2rem !important;line-height:1.25;font-weight:300}@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-size:.6875rem !important;font-weight:400;text-transform:uppercase;letter-spacing:0.1em}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;font-size:.6875rem !important;border-radius:12px}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#2c84fa;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:#227efa}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#2e2b33}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#29262e;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#2c84fa;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:#1878fa;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:#2448a7;background-image:linear-gradient(#2b55c4, #2448a7);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:#22459e;background-image:linear-gradient(#2850b7,#22459e)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#21439a;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#1d3a85}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#27262b;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.search-input:focus+.search-label .search-icon{color:#2c84fa}.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:.25rem;list-style:none;font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#201f23}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5;font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#2c84fa;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#44434d;font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem;font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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(44,132,250,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{font-size:.75rem !important;min-width:7.5rem;padding:.5rem .75rem;background-color:#302d36;border-bottom:1px solid rgba(68,67,77,0.5);border-left:1px solid #44434d}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #44434d}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#31343f;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:.75rem;background-color:#31343f;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #31343f;background-color:#31343f;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important;min-width:0;padding:0;background-color:#31343f;border:0}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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:#2c84fa;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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} +.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}.highlight,pre.highlight{background:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.highlight .hll{background:#31343f}.highlight .c{color:#63677e;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#e19ef5}.highlight .l{color:#a3eea0}.highlight .n{color:#dee2f7}.highlight .o{color:#dee2f7}.highlight .p{color:#dee2f7}.highlight .cm{color:#63677e;font-style:italic}.highlight .cp{color:#63677e;font-style:italic}.highlight .c1{color:#63677e;font-style:italic}.highlight .cs{color:#63677e;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#e19ef5}.highlight .kd{color:#e19ef5}.highlight .kn{color:#e19ef5}.highlight .kp{color:#e19ef5}.highlight .kr{color:#e19ef5}.highlight .kt{color:#e19ef5}.highlight .ld{color:#a3eea0}.highlight .m{color:#eddc96}.highlight .s{color:#a3eea0}.highlight .na{color:#eddc96}.highlight .nb{color:#fdce68}.highlight .nc{color:#fdce68}.highlight .no{color:#fdce68}.highlight .nd{color:#fdce68}.highlight .ni{color:#fdce68}.highlight .ne{color:#fdce68}.highlight .nf{color:#dee2f7}.highlight .nl{color:#fdce68}.highlight .nn{color:#dee2f7}.highlight .nx{color:#dee2f7}.highlight .py{color:#fdce68}.highlight .nt{color:#f9867b}.highlight .nv{color:#fdce68}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#eddc96}.highlight .mh{color:#eddc96}.highlight .mi{color:#eddc96}.highlight .mo{color:#eddc96}.highlight .sb{color:#a3eea0}.highlight .sc{color:#a3eea0}.highlight .sd{color:#a3eea0}.highlight .s2{color:#a3eea0}.highlight .se{color:#a3eea0}.highlight .sh{color:#a3eea0}.highlight .si{color:#a3eea0}.highlight .sx{color:#a3eea0}.highlight .sr{color:#7be2f9}.highlight .s1{color:#a3eea0}.highlight .ss{color:#7be2f9}.highlight .bp{color:#fdce68}.highlight .vc{color:#fdce68}.highlight .vg{color:#fdce68}.highlight .vi{color:#f9867b}.highlight .il{color:#eddc96}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}html{font-size:.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:#2c84fa;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(44,132,250,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, calc((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:.75rem;padding-bottom:.75rem;color:#f5f6fa;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:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;padding-right:1rem;padding-left:1rem}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}.site-footer{font-size:.6875rem !important}@media (min-width: 31.25rem){.site-footer{font-size:.75rem !important}}@media (min-width: 50rem){.site-footer{position:static;justify-self:end}}.icon{width:1.5rem;height:1.5rem;color:#2c84fa}.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:.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:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:#2c84fa;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:.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:.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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,0.8) 80%, rgba(32,31,35,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#2c84fa}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #201f23 0%, rgba(32,31,35,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #44434d}.nav-category{font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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:#2c84fa}.nav-list.nav-category-list>.nav-list-item>.nav-list>.nav-list-item>.nav-list-expander{color:#2c84fa}.aux-nav{height:100%;overflow-x:auto}.aux-nav{font-size:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell}.breadcrumb-nav-list-item{font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.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:.6875rem !important}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;border-radius:12px}.label:not(g),.label-blue:not(g){font-size:.6875rem !important}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#2c84fa;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:#227efa}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#2e2b33}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#29262e;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#2c84fa;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:#1878fa;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:#2448a7;background-image:linear-gradient(#2b55c4, #2448a7);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:#22459e;background-image:linear-gradient(#2850b7,#22459e)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#21439a;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#1d3a85}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#27262b;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.search-input:focus+.search-label .search-icon{color:#2c84fa}.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:.25rem;list-style:none}.search-results-list{font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#201f23}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5}.search-result-doc.search-result-doc-parent{font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#2c84fa;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap}.search-result-rel-url{font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#44434d}.search-result-previews{font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem}.search-no-result{font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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(44,132,250,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:.5rem .75rem;background-color:#302d36;border-bottom:1px solid rgba(68,67,77,0.5);border-left:1px solid #44434d}th,td{font-size:.75rem !important}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #44434d}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#31343f;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:.75rem;background-color:#31343f;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #31343f;background-color:#31343f;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{min-width:0;padding:0;background-color:#31343f;border:0}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#31343f;color:#dee2f7}.highlight pre{background:#31343f}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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:#2c84fa;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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} diff --git a/assets/css/just-the-docs-light.css b/assets/css/just-the-docs-light.css index cdf5d67bf0..b42f89ebcc 100644 --- a/assets/css/just-the-docs-light.css +++ b/assets/css/just-the-docs-light.css @@ -1 +1 @@ -.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:light}*{box-sizing:border-box}html{font-size:.875rem !important;scroll-behavior:smooth}@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, calc((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-right:1rem;padding-left:1rem;padding-top:1rem;padding-bottom: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{padding-right:1rem;padding-left:1rem;flex-grow:1;display:flex;height:100%;align-items:center;padding-top:.75rem;padding-bottom:.75rem;color:#27262b;font-size:1.125rem !important}@media (min-width: 50rem){.site-title{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-title{font-size:1.5rem !important;line-height:1.25}}@media (min-width: 50rem){.site-title{padding-top:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 80%, rgba(235,237,245,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{padding-right:1rem;padding-left:1rem;position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;font-size:.6875rem !important}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}@media (min-width: 31.25rem){.site-footer{font-size:.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:.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;font-size:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:.5rem}.nav-list{padding:0;margin-top:0;margin-bottom:0;list-style:none}.nav-list .nav-list-item{font-size:.875rem !important;position:relative;margin:0}@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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 80%, rgba(235,237,245,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#7253ed}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #eeebee;font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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;font-size:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell;font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.5rem;color:#959396;content:"/"}.breadcrumb-nav-list-item:last-child::after{content:""}h1,.text-alpha{font-size:2rem !important;line-height:1.25;font-weight:300}@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-size:.6875rem !important;font-weight:400;text-transform:uppercase;letter-spacing:0.1em}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;font-size:.6875rem !important;border-radius:12px}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#6a4aec}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#f4f4f4}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#efefef;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#6341eb;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:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#472cb2}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#fff;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.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:.25rem;list-style:none;font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#ebedf5}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5;font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#7253ed;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#eeebee;font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem;font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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{font-size:.75rem !important;min-width:7.5rem;padding:.5rem .75rem;background-color:#fff;border-bottom:1px solid rgba(238,235,238,0.5);border-left:1px solid #eeebee}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #eeebee}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#f5f6fa;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:.75rem;background-color:#f5f6fa;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #f5f6fa;background-color:#f5f6fa;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important;min-width:0;padding:0;background-color:#f5f6fa;border:0}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#f5f6fa;color:#5c5962}.highlight pre{background:#f5f6fa}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} +.highlight,pre.highlight{background:#f9f9f9;color:#383942}.highlight pre{background:#f9f9f9}.highlight .hll{background:#f9f9f9}.highlight .c{color:#9fa0a6;font-style:italic}.highlight .err{color:#fff;background-color:#e05151}.highlight .k{color:#a625a4}.highlight .l{color:#50a04f}.highlight .n{color:#383942}.highlight .o{color:#383942}.highlight .p{color:#383942}.highlight .cm{color:#9fa0a6;font-style:italic}.highlight .cp{color:#9fa0a6;font-style:italic}.highlight .c1{color:#9fa0a6;font-style:italic}.highlight .cs{color:#9fa0a6;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#a625a4}.highlight .kd{color:#a625a4}.highlight .kn{color:#a625a4}.highlight .kp{color:#a625a4}.highlight .kr{color:#a625a4}.highlight .kt{color:#a625a4}.highlight .ld{color:#50a04f}.highlight .m{color:#b66a00}.highlight .s{color:#50a04f}.highlight .na{color:#b66a00}.highlight .nb{color:#ca7601}.highlight .nc{color:#ca7601}.highlight .no{color:#ca7601}.highlight .nd{color:#ca7601}.highlight .ni{color:#ca7601}.highlight .ne{color:#ca7601}.highlight .nf{color:#383942}.highlight .nl{color:#ca7601}.highlight .nn{color:#383942}.highlight .nx{color:#383942}.highlight .py{color:#ca7601}.highlight .nt{color:#e35549}.highlight .nv{color:#ca7601}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#b66a00}.highlight .mh{color:#b66a00}.highlight .mi{color:#b66a00}.highlight .mo{color:#b66a00}.highlight .sb{color:#50a04f}.highlight .sc{color:#50a04f}.highlight .sd{color:#50a04f}.highlight .s2{color:#50a04f}.highlight .se{color:#50a04f}.highlight .sh{color:#50a04f}.highlight .si{color:#50a04f}.highlight .sx{color:#50a04f}.highlight .sr{color:#0083bb}.highlight .s1{color:#50a04f}.highlight .ss{color:#0083bb}.highlight .bp{color:#ca7601}.highlight .vc{color:#ca7601}.highlight .vg{color:#ca7601}.highlight .vi{color:#e35549}.highlight .il{color:#b66a00}.highlight .gu{color:#75715e}.highlight .gd{color:#e05151}.highlight .gi{color:#43d089}.highlight .language-json .w+.s2{color:#e35549}.highlight .language-json .kc{color:#0083bb}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}html{font-size:.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, calc((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:.75rem;padding-bottom:.75rem;color:#27262b;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:.5rem;padding-bottom:.5rem}}.site-logo{width:100%;height:100%;background-image:url("/resources/logotype.svg");background-repeat:no-repeat;background-position:left center;background-size:contain}.site-button{display:flex;height:100%;padding:1rem;align-items:center}@media (min-width: 50rem){.site-header .site-button{display:none}}.site-title:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 80%, rgba(235,237,245,0) 100%)}.site-button:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 100%)}body{position:relative;padding-bottom:4rem;overflow-y:scroll}@media (min-width: 50rem){body{position:static;padding-bottom:0}}.site-footer{position:absolute;bottom:0;left:0;padding-top:1rem;padding-bottom:1rem;color:#959396;padding-right:1rem;padding-left:1rem}@media (min-width: 50rem){.site-footer{padding-right:2rem;padding-left:2rem}}.site-footer{font-size:.6875rem !important}@media (min-width: 31.25rem){.site-footer{font-size:.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:.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:.75rem !important}@media (min-width: 31.25rem){.main-content ol>li::before{font-size:.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:.25rem;padding-left:.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:.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:.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:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.nav-list .nav-list-item{font-size:.875rem !important}}.nav-list .nav-list-item .nav-list-link{display:block;min-height:3rem;padding-top:.25rem;padding-bottom:.25rem;line-height:2.5rem;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{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,0.8) 80%, rgba(235,237,245,0) 100%)}.nav-list .nav-list-item .nav-list-expander{position:absolute;right:0;width:3rem;height:3rem;padding:.75rem;color:#7253ed}@media (min-width: 50rem){.nav-list .nav-list-item .nav-list-expander{width:2rem;height:2rem;padding:.5rem}}.nav-list .nav-list-item .nav-list-expander:hover{background-image:linear-gradient(-90deg, #ebedf5 0%, rgba(235,237,245,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:.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:.5rem 1rem;font-weight:600;text-align:start;text-transform:uppercase;border-bottom:1px solid #eeebee}.nav-category{font-size:.6875rem !important}@media (min-width: 31.25rem){.nav-category{font-size:.75rem !important}}@media (min-width: 50rem){.nav-category{padding:.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:.6875rem !important}@media (min-width: 31.25rem){.aux-nav{font-size:.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:.75rem;list-style:none}.breadcrumb-nav-list-item{display:table-cell}.breadcrumb-nav-list-item{font-size:.6875rem !important}@media (min-width: 31.25rem){.breadcrumb-nav-list-item{font-size:.75rem !important}}.breadcrumb-nav-list-item::before{display:none}.breadcrumb-nav-list-item::after{display:inline-block;margin-right:.5rem;margin-left:.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:.6875rem !important}@media (min-width: 31.25rem){h4,.text-delta{font-size:.75rem !important}}h4 code{text-transform:none}h5,.text-epsilon{font-size:.75rem !important}@media (min-width: 31.25rem){h5,.text-epsilon{font-size:.875rem !important}}h6,.text-zeta{font-size:.6875rem !important}@media (min-width: 31.25rem){h6,.text-zeta{font-size:.75rem !important}}.text-small{font-size:.6875rem !important}@media (min-width: 31.25rem){.text-small{font-size:.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:.5rem;margin-left:.5rem;color:#fff;text-transform:uppercase;vertical-align:middle;background-color:#2869e6;border-radius:12px}.label:not(g),.label-blue:not(g){font-size:.6875rem !important}@media (min-width: 31.25rem){.label:not(g),.label-blue:not(g){font-size:.75rem !important}}.label-green:not(g){background-color:#009c7b}.label-purple:not(g){background-color:#5e41d0}.label-red:not(g){background-color:#e94c4c}.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:#6a4aec}.btn:hover,.btn:active,.btn.zeroclipboard-is-hover,.btn.zeroclipboard-is-active{text-decoration:none;background-color:#f4f4f4}.btn:active,.btn.selected,.btn.zeroclipboard-is-active{background-color:#efefef;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn.selected:hover{background-color:#cfcfcf}.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:#6341eb;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:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-primary:active,.btn-primary.selected,.btn-primary.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-primary.selected:hover{background-color:#472cb2}.btn-purple{color:#fff;background-color:#5739ce;background-image:linear-gradient(#6f55d5, #5739ce);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:#5132cb;background-image:linear-gradient(#6549d2,#5132cb)}.btn-purple:active,.btn-purple.selected,.btn-purple.zeroclipboard-is-active{background-color:#4f31c6;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-purple.selected:hover{background-color:#472cb2}.btn-blue{color:#fff;background-color:#227efa;background-image:linear-gradient(#4593fb, #227efa);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:#1878fa;background-image:linear-gradient(#368afa,#1878fa)}.btn-blue:active,.btn-blue.selected,.btn-blue.zeroclipboard-is-active{background-color:#1375f9;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-blue.selected:hover{background-color:#0669ed}.btn-green{color:#fff;background-color:#10ac7d;background-image:linear-gradient(#13cc95, #10ac7d);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:#0fa276;background-image:linear-gradient(#12be8b,#0fa276)}.btn-green:active,.btn-green.selected,.btn-green.zeroclipboard-is-active{background-color:#0f9e73;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15)}.btn-green.selected:hover{background-color:#0d8662}.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:.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:.5rem 1rem .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:.5rem 1rem .5rem 3.5rem;font-size:0.875rem;background-color:#fff;transition:padding-left linear 200ms}}.search-input:focus{outline:0}.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:.25rem;list-style:none}.search-results-list{font-size:.875rem !important}@media (min-width: 31.25rem){.search-results-list{font-size:1rem !important}}@media (min-width: 50rem){.search-results-list{font-size:.75rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-results-list{font-size:.875rem !important}}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding:.25rem .75rem}.search-result:hover,.search-result.active{background-color:#ebedf5}.search-result-title{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width: 31.25rem){.search-result-title{display:inline-block;width:40%;padding-right:.5rem;vertical-align:top}}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5}.search-result-doc.search-result-doc-parent{font-size:.75rem !important}@media (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.875rem !important}}@media (min-width: 50rem){.search-result-doc.search-result-doc-parent{font-size:.6875rem !important}}@media (min-width: 50rem) and (min-width: 31.25rem){.search-result-doc.search-result-doc-parent{font-size:.75rem !important}}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:.5rem;color:#7253ed;flex-shrink:0}.search-result-doc .search-result-doc-title{overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-rel-url{display:block;margin-left:1.5rem;overflow:hidden;color:#959396;text-overflow:ellipsis;white-space:nowrap}.search-result-rel-url{font-size:.5625rem !important}@media (min-width: 31.25rem){.search-result-rel-url{font-size:.625rem !important}}.search-result-previews{display:block;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;margin-left:.5rem;color:#959396;word-wrap:break-word;border-left:1px solid;border-left-color:#eeebee}.search-result-previews{font-size:.6875rem !important}@media (min-width: 31.25rem){.search-result-previews{font-size:.75rem !important}}@media (min-width: 31.25rem){.search-result-previews{display:inline-block;width:60%;padding-left:.5rem;margin-left:0;vertical-align:top}}.search-result-preview+.search-result-preview{margin-top:.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding:.5rem .75rem}.search-no-result{font-size:.75rem !important}@media (min-width: 31.25rem){.search-no-result{font-size:.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:.5rem .75rem;background-color:#fff;border-bottom:1px solid rgba(238,235,238,0.5);border-left:1px solid #eeebee}th,td{font-size:.75rem !important}@media (min-width: 31.25rem){th,td{font-size:.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:.75rem}thead th{border-bottom:1px solid #eeebee}:not(pre,figure)>code{padding:0.2em 0.15em;font-weight:400;background-color:#f5f6fa;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:.75rem;background-color:#f5f6fa;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:.75rem;opacity:0;position:absolute;top:0;right:0;border:.75rem solid #f5f6fa;background-color:#f5f6fa;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}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:.75rem;margin:0;border:0}div.highlighter-rouge pre.highlight,div.highlighter-rouge code{padding:0;margin:0;border:0}div.listingblock{margin-top:0;margin-bottom:.75rem}div.listingblock div.content{overflow-x:auto;padding:.75rem;margin:0;border:0}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:.75rem;margin:0;border:0}.highlight .table-wrapper{padding:.75rem 0;margin:0;border:0;box-shadow:none}.highlight .table-wrapper td,.highlight .table-wrapper pre{min-width:0;padding:0;background-color:#f5f6fa;border:0}.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.6875rem !important}@media (min-width: 31.25rem){.highlight .table-wrapper td,.highlight .table-wrapper pre{font-size:.75rem !important}}.highlight .table-wrapper td.gl{width:1em;padding-right:.75rem;padding-left:.75rem}.highlight .table-wrapper pre{margin:0;line-height:2}.code-example,.listingblock>.title{padding:.75rem;margin-bottom:.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:#f5f6fa;color:#5c5962}.highlight pre{background:#f5f6fa}.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}@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:.5625rem !important}@media (min-width: 31.25rem){.fs-1{font-size:.625rem !important}}.fs-2{font-size:.6875rem !important}@media (min-width: 31.25rem){.fs-2{font-size:.75rem !important}}.fs-3{font-size:.75rem !important}@media (min-width: 31.25rem){.fs-3{font-size:.875rem !important}}.fs-4{font-size:.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:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-1-auto{margin-right:auto !important;margin-left:auto !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-2-auto{margin-right:auto !important;margin-left:auto !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xs-1{margin-top:.25rem !important}.mr-xs-1{margin-right:.25rem !important}.mb-xs-1{margin-bottom:.25rem !important}.ml-xs-1{margin-left:.25rem !important}.mx-xs-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xs-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xs-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 20rem){.m-xs-2{margin:.5rem !important}.mt-xs-2{margin-top:.5rem !important}.mr-xs-2{margin-right:.5rem !important}.mb-xs-2{margin-bottom:.5rem !important}.ml-xs-2{margin-left:.5rem !important}.mx-xs-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xs-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xs-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 20rem){.m-xs-3{margin:.75rem !important}.mt-xs-3{margin-top:.75rem !important}.mr-xs-3{margin-right:.75rem !important}.mb-xs-3{margin-bottom:.75rem !important}.ml-xs-3{margin-left:.75rem !important}.mx-xs-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xs-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xs-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-sm-1{margin-top:.25rem !important}.mr-sm-1{margin-right:.25rem !important}.mb-sm-1{margin-bottom:.25rem !important}.ml-sm-1{margin-left:.25rem !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-sm-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 31.25rem){.m-sm-2{margin:.5rem !important}.mt-sm-2{margin-top:.5rem !important}.mr-sm-2{margin-right:.5rem !important}.mb-sm-2{margin-bottom:.5rem !important}.ml-sm-2{margin-left:.5rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-sm-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 31.25rem){.m-sm-3{margin:.75rem !important}.mt-sm-3{margin-top:.75rem !important}.mr-sm-3{margin-right:.75rem !important}.mb-sm-3{margin-bottom:.75rem !important}.ml-sm-3{margin-left:.75rem !important}.mx-sm-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-sm-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-sm-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-md-1{margin-top:.25rem !important}.mr-md-1{margin-right:.25rem !important}.mb-md-1{margin-bottom:.25rem !important}.ml-md-1{margin-left:.25rem !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-md-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 50rem){.m-md-2{margin:.5rem !important}.mt-md-2{margin-top:.5rem !important}.mr-md-2{margin-right:.5rem !important}.mb-md-2{margin-bottom:.5rem !important}.ml-md-2{margin-left:.5rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-md-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 50rem){.m-md-3{margin:.75rem !important}.mt-md-3{margin-top:.75rem !important}.mr-md-3{margin-right:.75rem !important}.mb-md-3{margin-bottom:.75rem !important}.ml-md-3{margin-left:.75rem !important}.mx-md-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-md-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-md-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-lg-1{margin-top:.25rem !important}.mr-lg-1{margin-right:.25rem !important}.mb-lg-1{margin-bottom:.25rem !important}.ml-lg-1{margin-left:.25rem !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-lg-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 66.5rem){.m-lg-2{margin:.5rem !important}.mt-lg-2{margin-top:.5rem !important}.mr-lg-2{margin-right:.5rem !important}.mb-lg-2{margin-bottom:.5rem !important}.ml-lg-2{margin-left:.5rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-lg-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 66.5rem){.m-lg-3{margin:.75rem !important}.mt-lg-3{margin-top:.75rem !important}.mr-lg-3{margin-right:.75rem !important}.mb-lg-3{margin-bottom:.75rem !important}.ml-lg-3{margin-left:.75rem !important}.mx-lg-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-lg-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-lg-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.mt-xl-1{margin-top:.25rem !important}.mr-xl-1{margin-right:.25rem !important}.mb-xl-1{margin-bottom:.25rem !important}.ml-xl-1{margin-left:.25rem !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.mxn-xl-1{margin-right:-.25rem !important;margin-left:-.25rem !important}}@media (min-width: 87.5rem){.m-xl-2{margin:.5rem !important}.mt-xl-2{margin-top:.5rem !important}.mr-xl-2{margin-right:.5rem !important}.mb-xl-2{margin-bottom:.5rem !important}.ml-xl-2{margin-left:.5rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.mxn-xl-2{margin-right:-.5rem !important;margin-left:-.5rem !important}}@media (min-width: 87.5rem){.m-xl-3{margin:.75rem !important}.mt-xl-3{margin-top:.75rem !important}.mr-xl-3{margin-right:.75rem !important}.mb-xl-3{margin-bottom:.75rem !important}.ml-xl-3{margin-left:.75rem !important}.mx-xl-3{margin-right:.75rem !important;margin-left:.75rem !important}.my-xl-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.mxn-xl-3{margin-right:-.75rem !important;margin-left:-.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:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xs-1{padding-top:.25rem !important}.pr-xs-1{padding-right:.25rem !important}.pb-xs-1{padding-bottom:.25rem !important}.pl-xs-1{padding-left:.25rem !important}.px-xs-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xs-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xs-2{padding:.5rem !important}.pt-xs-2{padding-top:.5rem !important}.pr-xs-2{padding-right:.5rem !important}.pb-xs-2{padding-bottom:.5rem !important}.pl-xs-2{padding-left:.5rem !important}.px-xs-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xs-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xs-3{padding:.75rem !important}.pt-xs-3{padding-top:.75rem !important}.pr-xs-3{padding-right:.75rem !important}.pb-xs-3{padding-bottom:.75rem !important}.pl-xs-3{padding-left:.75rem !important}.px-xs-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xs-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-sm-1{padding-top:.25rem !important}.pr-sm-1{padding-right:.25rem !important}.pb-sm-1{padding-bottom:.25rem !important}.pl-sm-1{padding-left:.25rem !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2{padding-top:.5rem !important}.pr-sm-2{padding-right:.5rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pl-sm-2{padding-left:.5rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3{padding-top:.75rem !important}.pr-sm-3{padding-right:.75rem !important}.pb-sm-3{padding-bottom:.75rem !important}.pl-sm-3{padding-left:.75rem !important}.px-sm-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-sm-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-md-1{padding-top:.25rem !important}.pr-md-1{padding-right:.25rem !important}.pb-md-1{padding-bottom:.25rem !important}.pl-md-1{padding-left:.25rem !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2{padding-top:.5rem !important}.pr-md-2{padding-right:.5rem !important}.pb-md-2{padding-bottom:.5rem !important}.pl-md-2{padding-left:.5rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3{padding-top:.75rem !important}.pr-md-3{padding-right:.75rem !important}.pb-md-3{padding-bottom:.75rem !important}.pl-md-3{padding-left:.75rem !important}.px-md-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-md-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-lg-1{padding-top:.25rem !important}.pr-lg-1{padding-right:.25rem !important}.pb-lg-1{padding-bottom:.25rem !important}.pl-lg-1{padding-left:.25rem !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2{padding-top:.5rem !important}.pr-lg-2{padding-right:.5rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pl-lg-2{padding-left:.5rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3{padding-top:.75rem !important}.pr-lg-3{padding-right:.75rem !important}.pb-lg-3{padding-bottom:.75rem !important}.pl-lg-3{padding-left:.75rem !important}.px-lg-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-lg-3{padding-top:.75rem !important;padding-bottom:.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:.25rem !important}.pt-xl-1{padding-top:.25rem !important}.pr-xl-1{padding-right:.25rem !important}.pb-xl-1{padding-bottom:.25rem !important}.pl-xl-1{padding-left:.25rem !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2{padding-top:.5rem !important}.pr-xl-2{padding-right:.5rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pl-xl-2{padding-left:.5rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3{padding-top:.75rem !important}.pr-xl-3{padding-right:.75rem !important}.pb-xl-3{padding-bottom:.75rem !important}.pl-xl-3{padding-left:.75rem !important}.px-xl-3{padding-right:.75rem !important;padding-left:.75rem !important}.py-xl-3{padding-top:.75rem !important;padding-bottom:.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}.side-bar{width:100%;height:auto;border-right:0 !important}.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}}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}kbd{--kbd-color-background: #e6e1e8;--kbd-color-border: #959396;--kbd-color-text: #27262b;background-color:var(--kbd-color-background);color:var(--kbd-color-text);border-radius:0.25rem;background-clip:padding-box;border:1px solid var(--kbd-color-border);box-shadow:0 2px 0 1px var(--kbd-color-border);cursor:default;font-size:0.75em;line-height:1;min-width:0.75rem;text-align:center;padding:2px 5px;margin:0 3px;position:relative;top:-1px;transition:all 0.1s}kbd:hover,li:hover kbd{box-shadow:0 1px 0 0.5px var(--kbd-color-border);top:1px}div.install-buttons{text-align:center;display:block;line-height:1}div.install-buttons .btn{margin:.5em}img.cm{min-height:10px}div.popup-container{position:fixed;top:25%;left:50%;transform:translate(-50%, -50%);width:500px;max-width:75vw;padding:1em 1.5em;box-shadow:3px 2px 4px 2px rgba(0,0,0,0.4);border-radius:.5em}div.popup-container .btn{display:block;margin-left:auto} diff --git a/doc/CHANGELOG.html b/doc/CHANGELOG.html index de2cb81445..f5a0afa784 100644 --- a/doc/CHANGELOG.html +++ b/doc/CHANGELOG.html @@ -1 +1 @@ - Changelog | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Changelog

Ongoing development

v2.5.0

For F3D users:

  • Added a Webassembly version available online: https://f3d.app/web
  • Added a “neutral” tone mapping feature
  • Added an screenshot feature when pressing F12, with its dedicated option, --screenshot-filename
  • Added a --final-shader option to customize post-processing.
  • Added a --grid-color option to set the color of the grid
  • Added a --animation-progress option to control if the animation progress bar should be shown
  • Added a --backface-type option to control backface visibility
  • Added a concept of filename template for saving screenshots and outputs
  • Added native menus for macOS
  • Improved documentation all around
  • Reworked config file logic to avoid duplicating of the default config
  • Fixed a long standing issue with FBX skinning animation
  • Fixed zsh completion
  • Fixed an opacity blending issue
  • Fixed a crash when dropping a HDRI while playing an animation
  • Fixed a focus issue on macOS
  • Fixed a high DPI issue on Windows

For libf3d users:

  • Added an API to control camera pan and zoom
  • Added a tkinter python example
  • Exposed log level in the python API

For F3D packagers:

  • Fixed compatibility with CMake 3.29.1
  • Fixed compatibility with OCCT 7_8_0
  • Fixed build reproducibility by removing a path from the binary

v2.4.0

For F3D users:

  • Added a new option --point-type used to specify how to display points sprites
  • Added support for 3D Gaussians Splatting in binary .splat format
  • Added ability to cycle through available animations by pressing W hotkey
  • Added display of current animation name within cheatsheet
  • Added orthographic camera projection option (--camera-orthographic) and binding (5)
  • Added proper continuous integration for MacOS ARM64
  • Added support for glTF Draco encoded file
  • Added support for dark title bar on Windows
  • Added support for colormap presets, using --colormap-file option
  • Added a option to reload file automatically when changed on disk (--watch)
  • Added support for streaming output images to stdout, using - filename
  • Added animation support to Alembic plugin
  • Improved OCCT plugin (STEP and IGES files) performance drastically
  • Improved config file parsing so that it is parsed in file order
  • Fixed an issue with blur circle of confusion
  • Fixed an issue with the grid being clipped
  • Fixed an issue with STEP file coloring
  • Fixed an issue when time range was not starting at zero
  • Fixed an issue when record file does not exist
  • Fixed an issue when using --no-render and --hdri
  • Fixed an issue with the Windows thumbnailer with process never properly killed
  • Fixed an issue where OCCT would output to terminal
  • Fixed an issue with FISH completion

For libf3d users:

  • Added a new option model.point-sprites.type used to specify how to display points (only if model.point-sprites.enable is true)
  • Added a image::toTerminalText method to print image to terminal text
  • Added an image metadata API
  • Added a vtkext module for plugin developer, see the documentation
  • Added a new f3d component to find_package of, pluginsdk, require to build plugins against F3D

For F3D packagers:

  • Added a CMake report at the end of configuration
  • Added a new cmake installation component, plugin_sdk, needed to compile external plugin against F3D
  • Added a new cmake installation component, colormaps, needed for the colormap feature
  • Fixed multiple issue with static (BUILD_SHARED_LIBS=OFF) build
  • Fixed a compilation issue with gcc14
  • Fixed a compilation issue with OCCT 7.8.0

v2.3.0

For F3D users:

  • Added --animation-autoplay option (libf3d: scene.animation.autoplay) to automatically start animation on file load
  • Added an experimental vdb plugin in order to read .vdb files using OpenVDB
  • Added an usd plugin in order to read .usd files using OpenUSD
  • Added .3mf and .x files support in the assimp plugin
  • Added a small margin between the model and the grid to avoid potential z-fighting
  • Added VTK output to the log when using --verbose=debug for easier debug
  • Reworked the alembic plugin to read Texture Coordinates and Normals for .abc files
  • Improved the reading of EXR files using multi-threading for better performance when loading HDRIs
  • Improved the documentation on https://f3d.app
  • Improved general logging in order to make it easier to understand issues with file and options
  • Fixed potential crashes when reading assimp plugin file formats
  • Fixed --grid-absolute for off-center models
  • Fixed an issue with thumbnail generation showing the log window
  • Fixed many interaction issues on non-Qwerty keyboard layout
  • Fixed handling of filenames containing commas
  • Fixed an issue on Windows where the log window would appear on top of F3D window
  • Fixed crashes with specific .obj file
  • Fixed an issue with incorrect return code when using headless mode or incorrect options
  • Fixed dependency issue with the headless .deb binary release
  • Fixed a crash when using a file with more than 254 bones (Requires OpenGL 4.3)
  • Fixed an issue with Unicode filenames on the title bar on Windows
  • Fixed an issue where focal point picking would generate error messages
  • Changed --verbose into a string based option, eg: --verbose=quiet or --verbose=debug. --verbose is still supported.
  • Changed --no-render behavior so that it doesn’t impact verbosity anymore
  • Changed the default configuration file so that translucency support is enabled by default
  • Deprecated --quiet, use --verbose=quiet instead
  • Deprecated --input, use positional argument instead

For libf3d users:

  • Added scene.animation.autoplay option
  • Added a f3d::image::saveBuffer API to save an image as a file format in memory
  • Fixed the default name of the window

For F3D packagers:

  • Added a new optional dependency, OpenUSD. Enable with F3D_PLUGIN_BUILD_USD CMake option
  • Added a new optional dependency through VTK, OpenVDB. Enable with F3D_PLUGIN_BUILD_VDB CMake option
  • Added a new CMake option to control the link against libatomic. Control with F3D_LINUX_LIBRARY_LINK_ATOMIC
  • Added two new packages to the list, OpenMandriva and Mageia

v2.2.1

For F3D users:

  • Added a native Apple Silicon release package
  • Added new options hdri-file, hdri-ambient, hdri-skybox to have more control on the HDRI behavior
  • Added a default HDRI used when providing no hdri-file
  • Added bindings to toggle HDRI ambient lighting (F) and HDRI skybox (J)
  • Added bindings to move the camera to standard locations: 1: Front, 3: Right, 7: Top, 9: Isometric
  • Added Open CASCADE BRep format to the OCCT plugin.
  • Fixed an infamous issue when the Windows thumbnailer always steal the focus
  • Fixed an issue with the binary release when opening draco files
  • Fixed an issue with matcap textures
  • Fixed an issue with HDRI lighting
  • Fixed an issue with HDRI lighting when dropping HDRI after a model
  • Fixed an issue where invalid option would not show on Windows
  • Fixed an issue where previously loaded file would stay visible
  • Fixed an issue when loading invalid EXR file as HDRI
  • Fixed cheatsheet menu rendering under ‘Drop File Instructor’
  • Fixed raytracing rendering issues
  • Improved cheatsheet menu contrast for any background color
  • Improved overall text contrast for any background color
  • Improved performance when changing model and using a HDRI
  • Improved HDRI cache performance
  • Deprecated hdri option

For libf3d users:

  • Reworked image API to support many file formats to read (EXR, HDR) and write (PNG, JPG, TIF, BMP)
  • Added render.hdri.file, render.hdri.ambient, render.background.skybox options.
  • Deprecated render.background.hdri in favor of new options above
  • Deprecated previous image API
  • Add loader::loadGeometry allowing loading geometry from memory buffers

For developers:

  • Added a deprecation framework
  • Removed F3D_TESTING_ENABLE_HDRI_TESTS cmake option and merged it with F3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS
  • Added a Getting Started guide for beginners developers

For F3D packagers:

  • Fixed compatibility with FreeBSD

v2.1.0

For F3D users:

  • Reworked Animation support and added many animation related options
  • Added --camera-direction and --camera-zoom-factor and use it in default config file
  • Added --texture-matcap option to load a MatCap texture
  • Added support for opening HDRI background with Drop
  • Added .exr support for HDRI and textures
  • Improved HDRI caching performance
  • Added a EGL headless binary release
  • Added typo suggestion when failing to use the right option name
  • Added --invert-zoom option (libf3d: interactor.invert-zoom) to invert zoom direction with right-click on mouse
  • Added support for keeping camera position when reloading a file with UP key
  • Added a --grid-absolute option (libf3d: render.grid.absolute) to position the grid instead of being below the model
  • Added a “Drop Zone” when starting F3D without loading a file
  • Added coloring support for STEP files in binary release
  • Fixed an issue on Windows where the error window would popup even with --quiet
  • Fixed an issue with 16 bit and 32 bit textures with assimp plugin
  • Fixed an issue on Windows where errors where not visible
  • Fixed an HDRI issue on reload
  • Fixed a crash when with the progress bar on reloading a file
  • Fixed an issue where certain options from config file would be ignored
  • Fixed a crash with many GLTF files when an array does not have a name
  • Fixed an issue where dropping a duplicate file would change the loaded file instead of not doing anything
  • Fixed an issue when loading an unsupported file
  • Fixed an issue with VRML files
  • Improved config file for .ply files
  • Improved config file regex so that they are case-insensitive
  • Improved --up option to support no sign and better validation
  • Improved F3D version reporting about itself and VTK (--version)
  • Improved documentation, testing, help
  • Excluded TIFF format from Windows Thumbnailer
  • Changed the automatic camera position to a version more close to the data
  • Reduced size of binary release by a factor of two

For developers:

  • Added vcpkg support for dependency installation

For F3D packagers:

  • Added a F3D_PLUGIN_OCCT_COLORING_SUPPORT CMake variable to control if this feature is compiled, default is ON
  • Added SONAME support
  • Added a F3D_PLUGINS_INSTALL_DIR CMake variable to control where to install plugins
  • Added a new module: F3D_MODULE_EXR that depends on openexr
  • Added support to use external cxxopts and external nlohmann-json
  • Fixed a link issue with VTK modules
  • Fixed a @loader_path issue on MacOS
  • Added support for CMAKE_INSTALL_*DIR variables on installation
  • Added support for building against a EGL enabled VTK
  • Fixed a compilation issue with VTK master

Contributors: @DeveloperPaul123 @topazus @bkmgit @snoyer @Meakk @mwestphal

v2.0.0

For F3D users:

  • Removed --fullscreen options completely
  • Added a --position option to set the position of the F3D window
  • Added a --light-intensity option and associated bindings
  • Improved fish and zsh completion
  • Added a new interaction to center the camera on the point under the cursor using middle mouse button
  • Added HDRi caching for improved performance
  • Added scene bounding box to the dump interaction
  • Reworked lighting for fullscene format files
  • Improved grid rendering and customization greatly with new options
  • Improved HDRi blur performance and customization
  • Added support for reading config file directory instead of a single file
  • Changed config file location on Windows
  • PostFX option names have been changed
  • Added an interaction (down arrow) to load all files from the directory containing the current file
  • Added a --group-geometries option to load multiple default scene file into a single render window

For libf3d users:

  • Reworked loader API from scratch
  • Fixed an issue with engine creation in the Python bindings
  • Fixed an issue with image Python bindings
  • Improved libf3d examples
  • Added experimental javascript bindings based on webassembly/emscriptem
  • Added dynamic support for all model options
  • Added plugin SDK to create your own plugins for any file format

For F3D packagers:

  • Added plugins support for true optional dependencies
  • Added a F3D_APPLICATION_LINK_FILESYSTEM CMake option to control if F3D should link explicitly against libstdc++fs
  • Removed most of F3D_INSTALL_ options with the switch to a component-based approach
  • Removed installation of useless static libs from VTKExtensions (needs VTK master)
  • Fixed RPATH of F3D for system using lib64 instead of lib
  • Many CMake option name changed
  • Fixed data license to use only permissive license for F3D testing data
  • Removed packaging support from F3D

Contributors: @snoyer @mzf-guest @CharlesGueunet @myd7349 @allemangD @Meakk @mwestphal

v1.3.1

  • Fix raytracing support
  • Fix macOS window positioning

Contributors: @mwestphal @Meakk

v1.3.0

Main new features and fixes:

  • Introducing an alpha version of the libf3d, see below for more information
  • Added a –font-file option
  • Added support for Alembic file format (.abc). Geometry only. Thanks a lot @nyue.
  • Fixed many HDRI issues
  • Fixed an important drag and drop issue on linux

Other fixes:

  • Fixed many doc and UI typos
  • Fixed shell completion
  • Fixed multiple issue with image comparison
  • Fixed an issue with –line-width and –point-size with full scene formats
  • Fixed an issue with translucent object and RGBA texture
  • Fixed issues with a few specific .gltf files
  • Fixed a window title issue on MacOS
  • Fixed multiple issues with the output window on Windows
  • Fixed issues with file association and thumbnails on Windows
  • Fixed a small issue with the cheatsheet not appearing in some cases
  • Fixed an issue with certain .obj files
  • Fixed a clipping issue when setting camera position
  • Removed fullscreen hotkey

For F3D developers:

  • Updated cxxopts to 3.0.0
  • Now using json.hpp for parsing json config file
  • Better reproducible build support
  • Improved CI with coverage, sanitizer, dedicated actions for dependencies
  • Complete rework of the architecture to separate F3D, the application, the libf3d (see below) and a VTKExtensions layer.
  • Improved unit testing by adding test in the libf3d and VTKExtensions layer

For libf3d users:

  • Introducing an alpha version of the libf3d!
  • The libf3d is a C++ library to open and render 3D meshes, it is of course used by F3D and supports python bindings
  • More info available in README_libf3d.md

Binary Release Information:

  • The binary release is not built with raytracing support
  • This binary release is built with assimp 5.1.2, animation for assimp formats is not working well

Contributors: @schuhumi @herrriehm @rafcon-dev @mzf-guest @nyue @jpouderoux @Meakk @mwestphal

v1.2.1

Bug fixes and features:

  • Fixed a build issue on MacOS
  • Fixed a critical issue with the Windows Thumbnailer that could crash explorer.exe
  • Fixed the –quiet option so that it actually quiets VTK errors and warnings
  • Fixed an issue with output window popping up at each log on Windows
  • Added a .deb package for Linux Debian-based distros

For Packagers:

  • LFS file have been added in source code release, this seems to be retroactive, so hash of previous releases may have changed
  • Flatpack org name has been fixed

Contributors: @Meakk @mwestphal @jpouderoux

v1.2.0

Main New Features:

  • Added STEP and IGES file format support thanks to @Open-Cascade-SAS /OCCT (thanks @drtrigon)
  • Added FBX, DAE, OFF, and DXF file format support thanks to @assimp /assimp
  • Added thumbnail support with many linux file managers
  • Added thumbnail support on Windows
  • Added desktop environment integration in linux
  • Added scalar and scalar component looping

Other New Features:

  • Added support for KHR_materials_unlit with glTF files (thanks @spiraloid)
  • Added option for selecting camera --camera-index (thanks @spiraloid)
  • Added coloring the to Windows error output window
  • Added a man entry on Linux
  • Added a --config option to select a config file to load instead of using default location
  • Added a --quiet option
  • Added --camera-azimuth and --camera-elevation options (thanks @tatsuya-s)
  • Added a metainfo.xml file (thanks @kevinsmia1939)

Issue Fixes:

  • Fixed an issue with opening files with accented char in the name on Windows (thanks @shankarsivarajan)
  • Fixed HDRI orientation with –up option (thanks @truhlikfredy)
  • Fixed an issue with point cloud rendering
  • Fixed a crash on exit on Windows
  • Fixed an issue with fullscreen window size on Windows
  • Fixed offscreen rendering (--output and --ref ) to actually use offscreen rendering
  • Fixed a memory leak when no rendering is performed (thanks @CharlesGueunet)
  • Fixed a rendering issue with certain GPU drivers
  • Fixed tone mapping with background opacity
  • Fixed non-working drag and drop implementation in VTK (thanks @msbit)
  • Fixed a potential sorting issue when opening a folder
  • Fixed a crash with unsupported glTF files in VTK

For Developers:

  • Full rework of the CI framework, including coverage report support
  • Full rework of the testing framework
  • Separation of vtkF3DRenderer in two classes
  • Separation of f3d executable into a libf3d library and f3d executable to support windows thumbnails

For Packagers:

  • New CMake options to select file to install, all documented and starting with F3D_
  • mime types file can be installed, make sure to trigger update-mime-databse
  • desktop file can be installed, make sure to trigger update-desktop-database

Packagers: AndnoVember @jokersus @kevinsmia1939 @yurivict @bcdarwin @mzf-guest @Meakk @mwestphal

Binary Release Information:

  • The binary release is not built with raytracing support
  • This binary release is built with assimp 5.1.2, animation for assimp formats is not working well

Contributors: @CharlesGueunet @kevinsmia1939 @mzf-guest @jpouderoux @Meakk @mwestphal

v1.1.1

A patch release dedicated to package managers that makes F3D v1.1 compatible with vtk v9.1.0

  • Fix a render pass build issue with vtk 9.1.0
  • Fix a renderer build issue with vtk 9.1.0

Contributors: @Meakk @mwestphal

v1.1.0

New Important Features:

  • Added direct scalars color rendering mode, see doc.
  • Added a turntable interactor and made it default. The previous interactor can still be used using a dedicated option. Thanks @orangebowlerhat @filip.sund and @jjomier for your suggestions.
  • Added animation support for glTF and Exodus files. Press space for playing the animation.
  • Added animation related option, –animation-index, only for glTF when using the full scene.

New Readers and format compatibility features:

  • Added skinning and morphing support with glTF files.
  • Added TIFF format support. Thanks @proudot for your suggestion.
  • Added exodus format support. Thanks @gvernon for your suggestion.
  • Added support for OBJ with color directly inside of it instead of using a .mtl file. Thanks @Chenge321 for your suggestion.

Quality of life features:

  • Added a hotkey (UP) to reload current file, thanks @caioaao.
  • Improved Alpha blending performance, thanks @paul.lafoix.
  • Changed the progress bar to a more nice looking one and made it appears only if loading takes time. Thanks @finetjul for the suggestion.
  • Improved logging mechanism with color on all OS and a dedicated output window on windows.
  • Added a warning when using RayTracing but it is not available.

Fixes:

  • Fixed an issue with skybox and edges.
  • Fixed a crash when an array had no name.
  • Fixed a window naming issue on OSX.
  • Fixed a symlink issue.
  • Fixed a coloring issue with dataset containing only cell data.

Packaging:

  • Upgraded the AUR f3d package to 1.1.0 : https://aur.archlinux.org/packages/f3d.
  • Added a Brew f3d 1.1.0 package : https://formulae.brew.sh/formula/f3d.
  • FreeBSD now contains a f3d 1.1.0 package, thanks to yuri@freebsd.org.
  • NixOS now contains a f3d package, 1.1.0 should come soon, thanks to bcdarwin@gmail.com.

How to support F3D:

  • Use the software.
  • Share it with anyone interested.
  • Star us on github: https://github.com/kitware/F3D.

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal

v1.0.1

  • VisualStudio Runtime is now included into the windows release
  • Ensure VTK compatibility
  • Improve STL binary reader performances
  • Fix default configuration issues
  • Add support for Window icon on all OSes

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal

v1.0.0

  • Documentation
    • Online documentation based on Hexo (https://kitware.github.io/F3D/)
  • Rendering
    • Add volume rendering for 3D images
    • HDRI support (skyboxes, HDR files, Filmic tone mapping)
    • Point sprites for displaying point clouds
    • Color map customization (default one changed to “inferno”)
  • Interface
    • Drag&Drop files support
    • Supports opening of several files (or folder), use left/right arrow to navigate
    • Scalars field handling improvements
    • Cheat Sheet
    • Interactive hotkeys have been reworked
    • File association on Windows and OSX
    • Fullscreen mode
    • No background mode (useful when saving image to a PNG file with alpha channel)
  • Command line
    • Camera configuration
    • Metadata (field data) display
    • File name display
    • No render mode (useful to read information in the file)
    • Shell completion (supports bash, zsh, fish)
  • New readers
    • CityGML
    • PTS
  • Packages
    • Default config provide

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal @hlngrandmontagne Paul Lafoix

v0.1.1

  • Fixes --version and --help crash

Contributors: @Meakk @mwestphal @jpouderoux

v0.1.0

First release!

Contributors: @Meakk @mwestphal @jpouderoux

+ Changelog | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Changelog

Ongoing development

v2.5.0

For F3D users:

  • Added a Webassembly version available online: https://f3d.app/web
  • Added a “neutral” tone mapping feature
  • Added an screenshot feature when pressing F12, with its dedicated option, --screenshot-filename
  • Added a --final-shader option to customize post-processing.
  • Added a --grid-color option to set the color of the grid
  • Added a --animation-progress option to control if the animation progress bar should be shown
  • Added a --backface-type option to control backface visibility
  • Added a concept of filename template for saving screenshots and outputs
  • Added native menus for macOS
  • Improved documentation all around
  • Reworked config file logic to avoid duplicating of the default config
  • Fixed a long standing issue with FBX skinning animation
  • Fixed zsh completion
  • Fixed an opacity blending issue
  • Fixed a crash when dropping a HDRI while playing an animation
  • Fixed a focus issue on macOS
  • Fixed a high DPI issue on Windows

For libf3d users:

  • Added an API to control camera pan and zoom
  • Added a tkinter python example
  • Exposed log level in the python API

For F3D packagers:

  • Fixed compatibility with CMake 3.29.1
  • Fixed compatibility with OCCT 7_8_0
  • Fixed build reproducibility by removing a path from the binary

v2.4.0

For F3D users:

  • Added a new option --point-type used to specify how to display points sprites
  • Added support for 3D Gaussians Splatting in binary .splat format
  • Added ability to cycle through available animations by pressing W hotkey
  • Added display of current animation name within cheatsheet
  • Added orthographic camera projection option (--camera-orthographic) and binding (5)
  • Added proper continuous integration for MacOS ARM64
  • Added support for glTF Draco encoded file
  • Added support for dark title bar on Windows
  • Added support for colormap presets, using --colormap-file option
  • Added a option to reload file automatically when changed on disk (--watch)
  • Added support for streaming output images to stdout, using - filename
  • Added animation support to Alembic plugin
  • Improved OCCT plugin (STEP and IGES files) performance drastically
  • Improved config file parsing so that it is parsed in file order
  • Fixed an issue with blur circle of confusion
  • Fixed an issue with the grid being clipped
  • Fixed an issue with STEP file coloring
  • Fixed an issue when time range was not starting at zero
  • Fixed an issue when record file does not exist
  • Fixed an issue when using --no-render and --hdri
  • Fixed an issue with the Windows thumbnailer with process never properly killed
  • Fixed an issue where OCCT would output to terminal
  • Fixed an issue with FISH completion

For libf3d users:

  • Added a new option model.point-sprites.type used to specify how to display points (only if model.point-sprites.enable is true)
  • Added a image::toTerminalText method to print image to terminal text
  • Added an image metadata API
  • Added a vtkext module for plugin developer, see the documentation
  • Added a new f3d component to find_package of, pluginsdk, require to build plugins against F3D

For F3D packagers:

  • Added a CMake report at the end of configuration
  • Added a new cmake installation component, plugin_sdk, needed to compile external plugin against F3D
  • Added a new cmake installation component, colormaps, needed for the colormap feature
  • Fixed multiple issue with static (BUILD_SHARED_LIBS=OFF) build
  • Fixed a compilation issue with gcc14
  • Fixed a compilation issue with OCCT 7.8.0

v2.3.0

For F3D users:

  • Added --animation-autoplay option (libf3d: scene.animation.autoplay) to automatically start animation on file load
  • Added an experimental vdb plugin in order to read .vdb files using OpenVDB
  • Added an usd plugin in order to read .usd files using OpenUSD
  • Added .3mf and .x files support in the assimp plugin
  • Added a small margin between the model and the grid to avoid potential z-fighting
  • Added VTK output to the log when using --verbose=debug for easier debug
  • Reworked the alembic plugin to read Texture Coordinates and Normals for .abc files
  • Improved the reading of EXR files using multi-threading for better performance when loading HDRIs
  • Improved the documentation on https://f3d.app
  • Improved general logging in order to make it easier to understand issues with file and options
  • Fixed potential crashes when reading assimp plugin file formats
  • Fixed --grid-absolute for off-center models
  • Fixed an issue with thumbnail generation showing the log window
  • Fixed many interaction issues on non-Qwerty keyboard layout
  • Fixed handling of filenames containing commas
  • Fixed an issue on Windows where the log window would appear on top of F3D window
  • Fixed crashes with specific .obj file
  • Fixed an issue with incorrect return code when using headless mode or incorrect options
  • Fixed dependency issue with the headless .deb binary release
  • Fixed a crash when using a file with more than 254 bones (Requires OpenGL 4.3)
  • Fixed an issue with Unicode filenames on the title bar on Windows
  • Fixed an issue where focal point picking would generate error messages
  • Changed --verbose into a string based option, eg: --verbose=quiet or --verbose=debug. --verbose is still supported.
  • Changed --no-render behavior so that it doesn’t impact verbosity anymore
  • Changed the default configuration file so that translucency support is enabled by default
  • Deprecated --quiet, use --verbose=quiet instead
  • Deprecated --input, use positional argument instead

For libf3d users:

  • Added scene.animation.autoplay option
  • Added a f3d::image::saveBuffer API to save an image as a file format in memory
  • Fixed the default name of the window

For F3D packagers:

  • Added a new optional dependency, OpenUSD. Enable with F3D_PLUGIN_BUILD_USD CMake option
  • Added a new optional dependency through VTK, OpenVDB. Enable with F3D_PLUGIN_BUILD_VDB CMake option
  • Added a new CMake option to control the link against libatomic. Control with F3D_LINUX_LIBRARY_LINK_ATOMIC
  • Added two new packages to the list, OpenMandriva and Mageia

v2.2.1

For F3D users:

  • Added a native Apple Silicon release package
  • Added new options hdri-file, hdri-ambient, hdri-skybox to have more control on the HDRI behavior
  • Added a default HDRI used when providing no hdri-file
  • Added bindings to toggle HDRI ambient lighting (F) and HDRI skybox (J)
  • Added bindings to move the camera to standard locations: 1: Front, 3: Right, 7: Top, 9: Isometric
  • Added Open CASCADE BRep format to the OCCT plugin.
  • Fixed an infamous issue when the Windows thumbnailer always steal the focus
  • Fixed an issue with the binary release when opening draco files
  • Fixed an issue with matcap textures
  • Fixed an issue with HDRI lighting
  • Fixed an issue with HDRI lighting when dropping HDRI after a model
  • Fixed an issue where invalid option would not show on Windows
  • Fixed an issue where previously loaded file would stay visible
  • Fixed an issue when loading invalid EXR file as HDRI
  • Fixed cheatsheet menu rendering under ‘Drop File Instructor’
  • Fixed raytracing rendering issues
  • Improved cheatsheet menu contrast for any background color
  • Improved overall text contrast for any background color
  • Improved performance when changing model and using a HDRI
  • Improved HDRI cache performance
  • Deprecated hdri option

For libf3d users:

  • Reworked image API to support many file formats to read (EXR, HDR) and write (PNG, JPG, TIF, BMP)
  • Added render.hdri.file, render.hdri.ambient, render.background.skybox options.
  • Deprecated render.background.hdri in favor of new options above
  • Deprecated previous image API
  • Add loader::loadGeometry allowing loading geometry from memory buffers

For developers:

  • Added a deprecation framework
  • Removed F3D_TESTING_ENABLE_HDRI_TESTS cmake option and merged it with F3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS
  • Added a Getting Started guide for beginners developers

For F3D packagers:

  • Fixed compatibility with FreeBSD

v2.1.0

For F3D users:

  • Reworked Animation support and added many animation related options
  • Added --camera-direction and --camera-zoom-factor and use it in default config file
  • Added --texture-matcap option to load a MatCap texture
  • Added support for opening HDRI background with Drop
  • Added .exr support for HDRI and textures
  • Improved HDRI caching performance
  • Added a EGL headless binary release
  • Added typo suggestion when failing to use the right option name
  • Added --invert-zoom option (libf3d: interactor.invert-zoom) to invert zoom direction with right-click on mouse
  • Added support for keeping camera position when reloading a file with UP key
  • Added a --grid-absolute option (libf3d: render.grid.absolute) to position the grid instead of being below the model
  • Added a “Drop Zone” when starting F3D without loading a file
  • Added coloring support for STEP files in binary release
  • Fixed an issue on Windows where the error window would popup even with --quiet
  • Fixed an issue with 16 bit and 32 bit textures with assimp plugin
  • Fixed an issue on Windows where errors where not visible
  • Fixed an HDRI issue on reload
  • Fixed a crash when with the progress bar on reloading a file
  • Fixed an issue where certain options from config file would be ignored
  • Fixed a crash with many GLTF files when an array does not have a name
  • Fixed an issue where dropping a duplicate file would change the loaded file instead of not doing anything
  • Fixed an issue when loading an unsupported file
  • Fixed an issue with VRML files
  • Improved config file for .ply files
  • Improved config file regex so that they are case-insensitive
  • Improved --up option to support no sign and better validation
  • Improved F3D version reporting about itself and VTK (--version)
  • Improved documentation, testing, help
  • Excluded TIFF format from Windows Thumbnailer
  • Changed the automatic camera position to a version more close to the data
  • Reduced size of binary release by a factor of two

For developers:

  • Added vcpkg support for dependency installation

For F3D packagers:

  • Added a F3D_PLUGIN_OCCT_COLORING_SUPPORT CMake variable to control if this feature is compiled, default is ON
  • Added SONAME support
  • Added a F3D_PLUGINS_INSTALL_DIR CMake variable to control where to install plugins
  • Added a new module: F3D_MODULE_EXR that depends on openexr
  • Added support to use external cxxopts and external nlohmann-json
  • Fixed a link issue with VTK modules
  • Fixed a @loader_path issue on MacOS
  • Added support for CMAKE_INSTALL_*DIR variables on installation
  • Added support for building against a EGL enabled VTK
  • Fixed a compilation issue with VTK master

Contributors: @DeveloperPaul123 @topazus @bkmgit @snoyer @Meakk @mwestphal

v2.0.0

For F3D users:

  • Removed --fullscreen options completely
  • Added a --position option to set the position of the F3D window
  • Added a --light-intensity option and associated bindings
  • Improved fish and zsh completion
  • Added a new interaction to center the camera on the point under the cursor using middle mouse button
  • Added HDRi caching for improved performance
  • Added scene bounding box to the dump interaction
  • Reworked lighting for fullscene format files
  • Improved grid rendering and customization greatly with new options
  • Improved HDRi blur performance and customization
  • Added support for reading config file directory instead of a single file
  • Changed config file location on Windows
  • PostFX option names have been changed
  • Added an interaction (down arrow) to load all files from the directory containing the current file
  • Added a --group-geometries option to load multiple default scene file into a single render window

For libf3d users:

  • Reworked loader API from scratch
  • Fixed an issue with engine creation in the Python bindings
  • Fixed an issue with image Python bindings
  • Improved libf3d examples
  • Added experimental javascript bindings based on webassembly/emscriptem
  • Added dynamic support for all model options
  • Added plugin SDK to create your own plugins for any file format

For F3D packagers:

  • Added plugins support for true optional dependencies
  • Added a F3D_APPLICATION_LINK_FILESYSTEM CMake option to control if F3D should link explicitly against libstdc++fs
  • Removed most of F3D_INSTALL_ options with the switch to a component-based approach
  • Removed installation of useless static libs from VTKExtensions (needs VTK master)
  • Fixed RPATH of F3D for system using lib64 instead of lib
  • Many CMake option name changed
  • Fixed data license to use only permissive license for F3D testing data
  • Removed packaging support from F3D

Contributors: @snoyer @mzf-guest @CharlesGueunet @myd7349 @allemangD @Meakk @mwestphal

v1.3.1

  • Fix raytracing support
  • Fix macOS window positioning

Contributors: @mwestphal @Meakk

v1.3.0

Main new features and fixes:

  • Introducing an alpha version of the libf3d, see below for more information
  • Added a –font-file option
  • Added support for Alembic file format (.abc). Geometry only. Thanks a lot @nyue.
  • Fixed many HDRI issues
  • Fixed an important drag and drop issue on linux

Other fixes:

  • Fixed many doc and UI typos
  • Fixed shell completion
  • Fixed multiple issue with image comparison
  • Fixed an issue with –line-width and –point-size with full scene formats
  • Fixed an issue with translucent object and RGBA texture
  • Fixed issues with a few specific .gltf files
  • Fixed a window title issue on MacOS
  • Fixed multiple issues with the output window on Windows
  • Fixed issues with file association and thumbnails on Windows
  • Fixed a small issue with the cheatsheet not appearing in some cases
  • Fixed an issue with certain .obj files
  • Fixed a clipping issue when setting camera position
  • Removed fullscreen hotkey

For F3D developers:

  • Updated cxxopts to 3.0.0
  • Now using json.hpp for parsing json config file
  • Better reproducible build support
  • Improved CI with coverage, sanitizer, dedicated actions for dependencies
  • Complete rework of the architecture to separate F3D, the application, the libf3d (see below) and a VTKExtensions layer.
  • Improved unit testing by adding test in the libf3d and VTKExtensions layer

For libf3d users:

  • Introducing an alpha version of the libf3d!
  • The libf3d is a C++ library to open and render 3D meshes, it is of course used by F3D and supports python bindings
  • More info available in README_libf3d.md

Binary Release Information:

  • The binary release is not built with raytracing support
  • This binary release is built with assimp 5.1.2, animation for assimp formats is not working well

Contributors: @schuhumi @herrriehm @rafcon-dev @mzf-guest @nyue @jpouderoux @Meakk @mwestphal

v1.2.1

Bug fixes and features:

  • Fixed a build issue on MacOS
  • Fixed a critical issue with the Windows Thumbnailer that could crash explorer.exe
  • Fixed the –quiet option so that it actually quiets VTK errors and warnings
  • Fixed an issue with output window popping up at each log on Windows
  • Added a .deb package for Linux Debian-based distros

For Packagers:

  • LFS file have been added in source code release, this seems to be retroactive, so hash of previous releases may have changed
  • Flatpack org name has been fixed

Contributors: @Meakk @mwestphal @jpouderoux

v1.2.0

Main New Features:

  • Added STEP and IGES file format support thanks to @Open-Cascade-SAS /OCCT (thanks @drtrigon)
  • Added FBX, DAE, OFF, and DXF file format support thanks to @assimp /assimp
  • Added thumbnail support with many linux file managers
  • Added thumbnail support on Windows
  • Added desktop environment integration in linux
  • Added scalar and scalar component looping

Other New Features:

  • Added support for KHR_materials_unlit with glTF files (thanks @spiraloid)
  • Added option for selecting camera --camera-index (thanks @spiraloid)
  • Added coloring the to Windows error output window
  • Added a man entry on Linux
  • Added a --config option to select a config file to load instead of using default location
  • Added a --quiet option
  • Added --camera-azimuth and --camera-elevation options (thanks @tatsuya-s)
  • Added a metainfo.xml file (thanks @kevinsmia1939)

Issue Fixes:

  • Fixed an issue with opening files with accented char in the name on Windows (thanks @shankarsivarajan)
  • Fixed HDRI orientation with –up option (thanks @truhlikfredy)
  • Fixed an issue with point cloud rendering
  • Fixed a crash on exit on Windows
  • Fixed an issue with fullscreen window size on Windows
  • Fixed offscreen rendering (--output and --ref ) to actually use offscreen rendering
  • Fixed a memory leak when no rendering is performed (thanks @CharlesGueunet)
  • Fixed a rendering issue with certain GPU drivers
  • Fixed tone mapping with background opacity
  • Fixed non-working drag and drop implementation in VTK (thanks @msbit)
  • Fixed a potential sorting issue when opening a folder
  • Fixed a crash with unsupported glTF files in VTK

For Developers:

  • Full rework of the CI framework, including coverage report support
  • Full rework of the testing framework
  • Separation of vtkF3DRenderer in two classes
  • Separation of f3d executable into a libf3d library and f3d executable to support windows thumbnails

For Packagers:

  • New CMake options to select file to install, all documented and starting with F3D_
  • mime types file can be installed, make sure to trigger update-mime-databse
  • desktop file can be installed, make sure to trigger update-desktop-database

Packagers: AndnoVember @jokersus @kevinsmia1939 @yurivict @bcdarwin @mzf-guest @Meakk @mwestphal

Binary Release Information:

  • The binary release is not built with raytracing support
  • This binary release is built with assimp 5.1.2, animation for assimp formats is not working well

Contributors: @CharlesGueunet @kevinsmia1939 @mzf-guest @jpouderoux @Meakk @mwestphal

v1.1.1

A patch release dedicated to package managers that makes F3D v1.1 compatible with vtk v9.1.0

  • Fix a render pass build issue with vtk 9.1.0
  • Fix a renderer build issue with vtk 9.1.0

Contributors: @Meakk @mwestphal

v1.1.0

New Important Features:

  • Added direct scalars color rendering mode, see doc.
  • Added a turntable interactor and made it default. The previous interactor can still be used using a dedicated option. Thanks @orangebowlerhat @filip.sund and @jjomier for your suggestions.
  • Added animation support for glTF and Exodus files. Press space for playing the animation.
  • Added animation related option, –animation-index, only for glTF when using the full scene.

New Readers and format compatibility features:

  • Added skinning and morphing support with glTF files.
  • Added TIFF format support. Thanks @proudot for your suggestion.
  • Added exodus format support. Thanks @gvernon for your suggestion.
  • Added support for OBJ with color directly inside of it instead of using a .mtl file. Thanks @Chenge321 for your suggestion.

Quality of life features:

  • Added a hotkey (UP) to reload current file, thanks @caioaao.
  • Improved Alpha blending performance, thanks @paul.lafoix.
  • Changed the progress bar to a more nice looking one and made it appears only if loading takes time. Thanks @finetjul for the suggestion.
  • Improved logging mechanism with color on all OS and a dedicated output window on windows.
  • Added a warning when using RayTracing but it is not available.

Fixes:

  • Fixed an issue with skybox and edges.
  • Fixed a crash when an array had no name.
  • Fixed a window naming issue on OSX.
  • Fixed a symlink issue.
  • Fixed a coloring issue with dataset containing only cell data.

Packaging:

  • Upgraded the AUR f3d package to 1.1.0 : https://aur.archlinux.org/packages/f3d.
  • Added a Brew f3d 1.1.0 package : https://formulae.brew.sh/formula/f3d.
  • FreeBSD now contains a f3d 1.1.0 package, thanks to yuri@freebsd.org.
  • NixOS now contains a f3d package, 1.1.0 should come soon, thanks to bcdarwin@gmail.com.

How to support F3D:

  • Use the software.
  • Share it with anyone interested.
  • Star us on github: https://github.com/kitware/F3D.

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal

v1.0.1

  • VisualStudio Runtime is now included into the windows release
  • Ensure VTK compatibility
  • Improve STL binary reader performances
  • Fix default configuration issues
  • Add support for Window icon on all OSes

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal

v1.0.0

  • Documentation
    • Online documentation based on Hexo (https://kitware.github.io/F3D/)
  • Rendering
    • Add volume rendering for 3D images
    • HDRI support (skyboxes, HDR files, Filmic tone mapping)
    • Point sprites for displaying point clouds
    • Color map customization (default one changed to “inferno”)
  • Interface
    • Drag&Drop files support
    • Supports opening of several files (or folder), use left/right arrow to navigate
    • Scalars field handling improvements
    • Cheat Sheet
    • Interactive hotkeys have been reworked
    • File association on Windows and OSX
    • Fullscreen mode
    • No background mode (useful when saving image to a PNG file with alpha channel)
  • Command line
    • Camera configuration
    • Metadata (field data) display
    • File name display
    • No render mode (useful to read information in the file)
    • Shell completion (supports bash, zsh, fish)
  • New readers
    • CityGML
    • PTS
  • Packages
    • Default config provide

Note: Binaries have no raytracing support.

Contributors: @Meakk @mwestphal @hlngrandmontagne Paul Lafoix

v0.1.1

  • Fixes --version and --help crash

Contributors: @Meakk @mwestphal @jpouderoux

v0.1.0

First release!

Contributors: @Meakk @mwestphal @jpouderoux

diff --git a/doc/GALLERY.html b/doc/GALLERY.html index f1d29da3c1..494054f1a8 100644 --- a/doc/GALLERY.html +++ b/doc/GALLERY.html @@ -1 +1 @@ - Gallery | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Gallery

Examples renderings with their associated command lines. Images and videos displayed below use public datasets, you can download them here.

Animated realistic rendering: f3d gearbox/scene.gltf --hdri-file=future_parking_2k.hdr --hdri-skybox --hdri-ambient -uqxtgas

Animated, skinned and morphed rendering: f3d dota/scene.gltf --hdri-skybox --hdri-ambient --hdri-file=future_parking_2k.hdr -uqxtgas

Animated scientific visualization rendering: f3d can.ex2 -xtgans --up=+Z --scalars=VEL

3D Gaussians Splatting: f3d counter.splat --point-size=1 --point-type=gaussian -soynxz --up=-Y --camera-position=0,1,-5.2 --camera-focal-point=0,1,0

Direct scalars rendering of a point cloud: f3d Carola_PointCloud.ply --point-size=0 --comp=-2 -so --up=+Z --hdri-skybox --hdri-ambient --hdri-file=venice_sunset_8k.hdr

Raytraced CAD assembly: f3d 202.vtp -xtgans -rd --samples=10 --range=-2,9

Volume rendering of a security bag scan: f3d backpack.vti -vmn --range=300,1000 --colormap=0,0,0,0,1,1,1,1

Realistic rendering #1: f3d DamagedHelmet.glb --hdri-skybox --hdri-ambient --hdri-file=lebombo_4k.hdr -tuqap

Showcase of interactive widgets: f3d dragon.vtu -xtganse --comp=0

Metallic Rendering of a STEP file: f3d eta_asm.stp –hdri=future_parking_2k.hdr -uqxtga –up=+Z –metallic=1 –roughness=0.6 –color=0.98,0.90,0.59

Rendering of a FBX file: f3d zeldaPosed001.fbx –hdri=hikers_cave_2k.hdr -uqxtga

Realistic rendering #2: f3d FlightHelmet.glb --hdri-skybox --hdri-ambient --hdri-file=lebombo_4k.hdr -tuqap

Visualization of a CFD velocity field: f3d single-pin.vtp -xtbgans --range=-2,8 --colormap=0,0.3,0.7,0,0.7,0,0.1,1,1,0.8,0.8,0

Volume rendering of a medical skull scan: f3d skull.vti -vxbt --range=40,200

Point cloud rendering using sprites: f3d pointCloud.vtp -o --point-size=0.2 --colormap=0,0,0.8,0,0.4,0.9,0,0,0.8,0.9,0.9,0,1,0.5,0.5,1

Acknowledgments

+ Gallery | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Gallery

Examples renderings with their associated command lines. Images and videos displayed below use public datasets, you can download them here.

Animated realistic rendering: f3d gearbox/scene.gltf --hdri-file=future_parking_2k.hdr --hdri-skybox --hdri-ambient -uqxtgas

Animated, skinned and morphed rendering: f3d dota/scene.gltf --hdri-skybox --hdri-ambient --hdri-file=future_parking_2k.hdr -uqxtgas

Animated scientific visualization rendering: f3d can.ex2 -xtgans --up=+Z --scalars=VEL

3D Gaussians Splatting: f3d counter.splat --point-size=1 --point-type=gaussian -soynxz --up=-Y --camera-position=0,1,-5.2 --camera-focal-point=0,1,0

Direct scalars rendering of a point cloud: f3d Carola_PointCloud.ply --point-size=0 --comp=-2 -so --up=+Z --hdri-skybox --hdri-ambient --hdri-file=venice_sunset_8k.hdr

Raytraced CAD assembly: f3d 202.vtp -xtgans -rd --samples=10 --range=-2,9

Volume rendering of a security bag scan: f3d backpack.vti -vmn --range=300,1000 --colormap=0,0,0,0,1,1,1,1

Realistic rendering #1: f3d DamagedHelmet.glb --hdri-skybox --hdri-ambient --hdri-file=lebombo_4k.hdr -tuqap

Showcase of interactive widgets: f3d dragon.vtu -xtganse --comp=0

Metallic Rendering of a STEP file: f3d eta_asm.stp –hdri=future_parking_2k.hdr -uqxtga –up=+Z –metallic=1 –roughness=0.6 –color=0.98,0.90,0.59

Rendering of a FBX file: f3d zeldaPosed001.fbx –hdri=hikers_cave_2k.hdr -uqxtga

Realistic rendering #2: f3d FlightHelmet.glb --hdri-skybox --hdri-ambient --hdri-file=lebombo_4k.hdr -tuqap

Visualization of a CFD velocity field: f3d single-pin.vtp -xtbgans --range=-2,8 --colormap=0,0.3,0.7,0,0.7,0,0.1,1,1,0.8,0.8,0

Volume rendering of a medical skull scan: f3d skull.vti -vxbt --range=40,200

Point cloud rendering using sprites: f3d pointCloud.vtp -o --point-size=0.2 --colormap=0,0,0.8,0,0.4,0.9,0,0,0.8,0.9,0.9,0,1,0.5,0.5,1

Acknowledgments

diff --git a/doc/THIRD_PARTY_LICENSES.html b/doc/THIRD_PARTY_LICENSES.html index dac2c381bc..d7d4364a4e 100644 --- a/doc/THIRD_PARTY_LICENSES.html +++ b/doc/THIRD_PARTY_LICENSES.html @@ -1,4 +1,4 @@ - Third Party Licenses | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Third Party Copyrights and License within F3D application source

cxxopts.hpp:

Copyright (c) 2014, 2015, 2016, 2017 Jarryd Beck
+              Third Party Licenses | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Third Party Copyrights and License within F3D application source

cxxopts.hpp:

Copyright (c) 2014, 2015, 2016, 2017 Jarryd Beck
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/doc/dev/BUILD.html b/doc/dev/BUILD.html
index 1af7882b94..0a1057fffe 100644
--- a/doc/dev/BUILD.html
+++ b/doc/dev/BUILD.html
@@ -1,3 +1,3 @@
-              Build | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Build guide

F3D uses a CMake based build system, so building F3D just requires installing needed dependencies, configuring and building. If you are not used to such processes please take a look at our getting started guide.

Dependencies

  • CMake >= 3.1.
  • VTK >= 9.2.6 (9.3.1 recommended).
  • A C++17 compiler.
  • A CMake-compatible build system (Visual Studio, XCode, Ninja, Make, etc.).
  • Optionally, Assimp >= 5.0.
  • Optionally, Open CASCADE OCCT >= 7.5.2.
  • Optionally, Alembic >= 1.7.
  • Optionally, OpenUSD >= 23.05.
  • Optionally, OpenVDB >= 10.0.0, enable IOOpenVDB VTK module.
  • Optionally, Draco >= 1.5.
  • Optionally, Python >= 3.6 and pybind11 >= 2.2.
  • Optionally, Java >= 18.
  • Optionally, OpenEXR >= 3.0.

VTK compatibility

As stated in the dependencies, F3D is compatible with VTK >= 9.2.6, however, some features may not be available. We suggest using VTK 9.3.1 with RenderingRayTracing, RenderingExternal, IOExodus and IOOpenVDB modules enabled in order to get as many features as possible in F3D.

Configuration and building

Configure and generate the project with CMake, then build the software using your build system.

Here is some CMake options of interest:

  • F3D_BUILD_APPLICATION: Build the F3D executable.
  • BUILD_TESTING: Enable the tests.
  • F3D_MACOS_BUNDLE: On macOS, build a .app bundle.
  • F3D_WINDOWS_GUI: On Windows, build a Win32 application (without console).
  • F3D_WINDOWS_BUILD_SHELL_THUMBNAILS_EXTENSION: On Windows, build the shell thumbnails extension.
  • F3D_PLUGINS_STATIC_BUILD: Build all plugins as static library (embedded into libf3d) and automatically loaded by the application. Incompatible with F3D_MACOS_BUNDLE.
  • BUILD_SHARED_LIBS: Build the libf3d and all plugins as static library (embedded into f3d executable). The library and plugin_sdk component will not be installed.

Some modules, plugins and bindings depending on external libraries can be optionally enabled with the following CMake variables:

  • F3D_MODULE_RAYTRACING: Support for raytracing rendering. Requires that VTK has been built with OSPRay and VTK_MODULE_ENABLE_VTK_RenderingRayTracing turned on. Disabled by default.
  • F3D_MODULE_EXTERNAL_RENDERING: Support for external render window. Requires that VTK has been built with VTK_MODULE_ENABLE_VTK_RenderingExternal turned on. Disabled by default.
  • F3D_MODULE_EXR: Support for OpenEXR images. Requires OpenEXR. Disabled by default.
  • F3D_PLUGIN_BUILD_EXODUS: Support for ExodusII (.ex2) file format. Requires that VTK has been built with IOExodus module (and hdf5). Enabled by default.
  • F3D_PLUGIN_BUILD_OCCT: Support for STEP, IGES and BREP file formats. Requires OpenCASCADE. Disabled by default.
  • F3D_PLUGIN_BUILD_ASSIMP: Support for FBX, DAE, OFF, DXF, X and 3MF file formats. Requires Assimp. Disabled by default.
  • F3D_PLUGIN_BUILD_ALEMBIC: Support for ABC file format. Requires Alembic. Disabled by default.
  • F3D_PLUGIN_BUILD_DRACO: Support for DRC file format. Requires Draco. Disabled by default.
  • F3D_PLUGIN_BUILD_USD: Support for USD file format. Requires OpenUSD. Disabled by default.
  • F3D_PLUGIN_BUILD_VDB: Support for VDB file format. Requires that VTK has been built with IOOpenVDB module (and OpenVDB). Disabled by default.
  • F3D_BINDINGS_PYTHON: Generate python bindings (requires Python and pybind11). Disabled by default.
  • F3D_BINDINGS_JAVA: Generate java bindings (requires Java and JNI). Disabled by default.

VCPKG

It’s possible to use VCPKG to automatically build dependencies. A manifest file vcpkg.json is available at your convenience. Please read VCPKG documentation.
Basically, just install VCPKG, and configure F3D using -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake option.

Installing

Installation can be done through CMake, by running the following command:

cmake --install ${your_build_dir}
+              Build | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Build guide

F3D uses a CMake based build system, so building F3D just requires installing needed dependencies, configuring and building. If you are not used to such processes please take a look at our getting started guide.

Dependencies

  • CMake >= 3.1.
  • VTK >= 9.2.6 (9.3.1 recommended).
  • A C++17 compiler.
  • A CMake-compatible build system (Visual Studio, XCode, Ninja, Make, etc.).
  • Optionally, Assimp >= 5.0.
  • Optionally, Open CASCADE OCCT >= 7.5.2.
  • Optionally, Alembic >= 1.7.
  • Optionally, OpenUSD >= 23.05.
  • Optionally, OpenVDB >= 10.0.0, enable IOOpenVDB VTK module.
  • Optionally, Draco >= 1.5.
  • Optionally, Python >= 3.6 and pybind11 >= 2.2.
  • Optionally, Java >= 18.
  • Optionally, OpenEXR >= 3.0.

VTK compatibility

As stated in the dependencies, F3D is compatible with VTK >= 9.2.6, however, some features may not be available. We suggest using VTK 9.3.1 with RenderingRayTracing, RenderingExternal, IOExodus and IOOpenVDB modules enabled in order to get as many features as possible in F3D.

Configuration and building

Configure and generate the project with CMake, then build the software using your build system.

Here is some CMake options of interest:

  • F3D_BUILD_APPLICATION: Build the F3D executable.
  • BUILD_TESTING: Enable the tests.
  • F3D_MACOS_BUNDLE: On macOS, build a .app bundle.
  • F3D_WINDOWS_GUI: On Windows, build a Win32 application (without console).
  • F3D_WINDOWS_BUILD_SHELL_THUMBNAILS_EXTENSION: On Windows, build the shell thumbnails extension.
  • F3D_PLUGINS_STATIC_BUILD: Build all plugins as static library (embedded into libf3d) and automatically loaded by the application. Incompatible with F3D_MACOS_BUNDLE.
  • BUILD_SHARED_LIBS: Build the libf3d and all plugins as static library (embedded into f3d executable). The library and plugin_sdk component will not be installed.

Some modules, plugins and bindings depending on external libraries can be optionally enabled with the following CMake variables:

  • F3D_MODULE_RAYTRACING: Support for raytracing rendering. Requires that VTK has been built with OSPRay and VTK_MODULE_ENABLE_VTK_RenderingRayTracing turned on. Disabled by default.
  • F3D_MODULE_EXTERNAL_RENDERING: Support for external render window. Requires that VTK has been built with VTK_MODULE_ENABLE_VTK_RenderingExternal turned on. Disabled by default.
  • F3D_MODULE_EXR: Support for OpenEXR images. Requires OpenEXR. Disabled by default.
  • F3D_PLUGIN_BUILD_EXODUS: Support for ExodusII (.ex2) file format. Requires that VTK has been built with IOExodus module (and hdf5). Enabled by default.
  • F3D_PLUGIN_BUILD_OCCT: Support for STEP, IGES and BREP file formats. Requires OpenCASCADE. Disabled by default.
  • F3D_PLUGIN_BUILD_ASSIMP: Support for FBX, DAE, OFF, DXF, X and 3MF file formats. Requires Assimp. Disabled by default.
  • F3D_PLUGIN_BUILD_ALEMBIC: Support for ABC file format. Requires Alembic. Disabled by default.
  • F3D_PLUGIN_BUILD_DRACO: Support for DRC file format. Requires Draco. Disabled by default.
  • F3D_PLUGIN_BUILD_USD: Support for USD file format. Requires OpenUSD. Disabled by default.
  • F3D_PLUGIN_BUILD_VDB: Support for VDB file format. Requires that VTK has been built with IOOpenVDB module (and OpenVDB). Disabled by default.
  • F3D_BINDINGS_PYTHON: Generate python bindings (requires Python and pybind11). Disabled by default.
  • F3D_BINDINGS_JAVA: Generate java bindings (requires Java and JNI). Disabled by default.

VCPKG

It’s possible to use VCPKG to automatically build dependencies. A manifest file vcpkg.json is available at your convenience. Please read VCPKG documentation.
Basically, just install VCPKG, and configure F3D using -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake option.

Installing

Installation can be done through CMake, by running the following command:

cmake --install ${your_build_dir}
 

Individual components can also be installed by specifying the component name:

cmake --install ${your_build_dir} --component ${component_name}
 

Here is the list of all the components:

Name Installed by default Operating system Description
application YES ALL F3D application.
configuration NO ALL Default configuration files, config and thumbnail.
library YES ALL libf3d library binaries.
plugin YES ALL libf3d plugins.
dependencies NO ALL libf3d runtime dependencies. Can be used to create a self-contained and relocatable package. System libraries are excluded.
sdk NO ALL libf3d SDK (headers and CMake config files) for library and application find_package components.
plugin_sdk NO ALL libf3d plugin SDK (headers and CMake config files including macros) for pluginsdk find_package components.
licenses YES ALL F3D and third party licenses.
documentation YES Linux man documentation.
shellext YES Windows/Linux Desktop integration.
python YES ALL Python bindings.
java YES ALL Java bindings.
mimetypes NO Linux Plugins mimetype XML files for integration with Freedesktop.
assets YES Linux Assets for integration with Freedesktop.
colormaps NO ALL Color maps presets, see documentation
diff --git a/doc/dev/BUILD_WASM.html b/doc/dev/BUILD_WASM.html index 64dc6aeaaa..25b71912d8 100644 --- a/doc/dev/BUILD_WASM.html +++ b/doc/dev/BUILD_WASM.html @@ -1,4 +1,4 @@ - Build (WebAssembly) | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Introduction

F3D can be built in WebAssembly using emscripten in order to embed it into a web browser. It is still experimental and only a small fraction of the libf3d public API is bound. An example can be seen at https://f3d.app/web

This guide is describing how to build VTK and F3D with emscripten using Docker on Linux or Windows.

Building

While it’s possible to setup an emscripten cross-compiling toolchain locally, it’s easier to use Docker to build it

Preparing the build

Install Docker locally and pull the WebAssembly image

docker pull dockcross/web-wasm:20240529-0dade71
+              Build (WebAssembly) | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Introduction

F3D can be built in WebAssembly using emscripten in order to embed it into a web browser. It is still experimental and only a small fraction of the libf3d public API is bound. An example can be seen at https://f3d.app/web

This guide is describing how to build VTK and F3D with emscripten using Docker on Linux or Windows.

Building

While it’s possible to setup an emscripten cross-compiling toolchain locally, it’s easier to use Docker to build it

Preparing the build

Install Docker locally and pull the WebAssembly image

docker pull dockcross/web-wasm:20240529-0dade71
 

Clone VTK and F3D, it will be assumed that the source code is located in $VTK_DIR and $F3D_DIR variables in the next steps of this guide. It’s recommended to use VTK commit 7e954a92fba020b160a07420403248f6be87f2b0 which has been tested to work properly.

Building VTK

Configure VTK by running the following command:

docker run -v ${VTK_DIR}:/vtk \
  --rm dockcross/web-wasm:20240529-0dade71 \
  cmake -S /vtk -B /vtk/build-wasm \
diff --git a/doc/dev/CODING_STYLE.html b/doc/dev/CODING_STYLE.html
index e7123c78e2..3afabde2a3 100644
--- a/doc/dev/CODING_STYLE.html
+++ b/doc/dev/CODING_STYLE.html
@@ -1,4 +1,4 @@
-              Coding style | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Coding Style

F3D use different coding styles in each component, however there are some common rules

Common rules

Overall syntax:

  • CamelCase.
  • Avoid using using for namespaces.
  • Initialize variables in header when possible.
  • Local variables starts with a lower case char.
  • Class members starts with a upper case char.
  • Indents are two spaces.
  • One space between instruction and parenthesis.
  • Always add curly brace after instruction.
  • Curly brace one a new line, aligned with instruction.
  • Add //---------------------------------------------------------------------------- before any method in implementation.

Example:

//----------------------------------------------------------------------------
+              Coding style | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Coding Style

F3D use different coding styles in each component, however there are some common rules

Common rules

Overall syntax:

  • CamelCase.
  • Avoid using using for namespaces.
  • Initialize variables in header when possible.
  • Local variables starts with a lower case char.
  • Class members starts with a upper case char.
  • Indents are two spaces.
  • One space between instruction and parenthesis.
  • Always add curly brace after instruction.
  • Curly brace one a new line, aligned with instruction.
  • Add //---------------------------------------------------------------------------- before any method in implementation.

Example:

//----------------------------------------------------------------------------
 void class::method()
 {
   if (condition)
diff --git a/doc/dev/GENERATE.html b/doc/dev/GENERATE.html
index 54fde4e8f0..10a1fc6b33 100644
--- a/doc/dev/GENERATE.html
+++ b/doc/dev/GENERATE.html
@@ -1 +1 @@
-              Generate | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

How to generate the full coverage report

Requires gcovr program and gcc toolchain.

  1. Build with F3D_COVERAGE option enabled.
  2. Run all tests, xdotool needs to be installed. This will generate many .gcda files.
  3. Generate the report with: gcovr -r /path/to/sources --html --html-details -o coverage.html.

How to build and test with sanitizer

Requires clang toolchain.

  1. Build with F3D_SANITIZER option to any of the possible values.
  2. export LSAN_OPTIONS=suppressions=/path/to/f3d/.lsan.supp:use_tls=0.
  3. export TSAN_OPTIONS=suppressions=/path/to/f3d/.tsan.supp.
  4. Run all tests.

How to locally generate the Jekyll based website

  1. Install ruby and make sure ruby binaries directory is added to your PATH
  2. Install Jekyll and all dependencies: gem install jekyll jekyll-remote-theme jekyll-relative-links jekyll-seo-tag jekyll-optional-front-matter jekyll-titles-from-headings jekyll-include-cache
  3. Run Jekyll locally: jekyll server
  4. Open http://127.0.0.1:4000/ in a browser

Please note the favicon and search bar are not working locally, this is expected.

How to locally generate the doxygen documentation

  1. Install Python, pip and doxygen
  2. pip install sphinx sphinx-book-theme exhale
  3. sphinx-build -M html ./library/doxygen /path/to/build
  4. /path/to/build directory now contains a HTML website
+ Generate | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

How to generate the full coverage report

Requires gcovr program and gcc toolchain.

  1. Build with F3D_COVERAGE option enabled.
  2. Run all tests, xdotool needs to be installed. This will generate many .gcda files.
  3. Generate the report with: gcovr -r /path/to/sources --html --html-details -o coverage.html.

How to build and test with sanitizer

Requires clang toolchain.

  1. Build with F3D_SANITIZER option to any of the possible values.
  2. export LSAN_OPTIONS=suppressions=/path/to/f3d/.lsan.supp:use_tls=0.
  3. export TSAN_OPTIONS=suppressions=/path/to/f3d/.tsan.supp.
  4. Run all tests.

How to locally generate the Jekyll based website

  1. Install ruby and make sure ruby binaries directory is added to your PATH
  2. Install Jekyll and all dependencies: gem install jekyll jekyll-remote-theme jekyll-relative-links jekyll-seo-tag jekyll-optional-front-matter jekyll-titles-from-headings jekyll-include-cache
  3. Run Jekyll locally: jekyll server
  4. Open http://127.0.0.1:4000/ in a browser

Please note the favicon and search bar are not working locally, this is expected.

How to locally generate the doxygen documentation

  1. Install Python, pip and doxygen
  2. pip install sphinx sphinx-book-theme exhale
  3. sphinx-build -M html ./library/doxygen /path/to/build
  4. /path/to/build directory now contains a HTML website
diff --git a/doc/dev/GETTING_STARTED.html b/doc/dev/GETTING_STARTED.html index a70a9150b5..3e9c139e31 100644 --- a/doc/dev/GETTING_STARTED.html +++ b/doc/dev/GETTING_STARTED.html @@ -1,4 +1,4 @@ - Getting Started | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Getting started guide

This is a getting started guide, aimed to people that are not used to C++ programming, configuring and compiling. If you are already used to such processes, you may be looking for our build guide.

This guide will help you to compile your own version of F3D with required dependencies. Optional dependencies or covered in the build guide.

Linux

Note: The following steps were tested with Ubuntu 23 and ArchLinux but should work for other OSes as stated, as long as listed packages are available.

Install dependencies

First make sure your system is up-to-date, then install the required dependencies using the terminal.

Debian/Ubuntu/Mint

sudo apt update
+              Getting Started | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Getting started guide

This is a getting started guide, aimed to people that are not used to C++ programming, configuring and compiling. If you are already used to such processes, you may be looking for our build guide.

This guide will help you to compile your own version of F3D with required dependencies. Optional dependencies or covered in the build guide.

Linux

Note: The following steps were tested with Ubuntu 23 and ArchLinux but should work for other OSes as stated, as long as listed packages are available.

Install dependencies

First make sure your system is up-to-date, then install the required dependencies using the terminal.

Debian/Ubuntu/Mint

sudo apt update
 sudo apt upgrade
 sudo apt install build-essential git git-lfs cmake libvtk9-dev
 

Fedora/Centos/RedHat

sudo yum update
diff --git a/doc/dev/GOVERNANCE.html b/doc/dev/GOVERNANCE.html
index 1b6d97e1fe..8263202141 100644
--- a/doc/dev/GOVERNANCE.html
+++ b/doc/dev/GOVERNANCE.html
@@ -1 +1 @@
-              Governance | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Governance Policy

This document provides the governance policy for F3D (the “Project”). Every person responsible for its maintenance (the “Maintainers”) agrees to this policy and to abide by all Project policies, including the code of conduct by adding their name to the MAINTAINERS.md file.

1. Roles

This Project includes the following roles.

1.1. Maintainers

Maintainers are responsible for organizing activities around developing, maintaining, and updating the Project. Maintainers are also responsible for determining consensus. The Project may add or remove Maintainers by affirmative vote of 2/3 of all Maintainers.

1.2. Contributors

Contributors are those who have made contributions to the Project.

2. Decisions

2.1 Consensus-Based Decision Making

The Project makes decisions through the consensus of the Maintainers. While explicit agreement of all Maintainers is preferred, it is not required for consensus. Rather, the Maintainers will determine consensus based on their good faith consideration of several factors, including the dominant view of the Contributors and the nature of support and objections. The Maintainers will document evidence of consensus in accordance with these requirements using issues comments.

2.2. Appeal Process

Decisions may be appealed by opening an issue and that appeal will be considered by the Maintainers in good faith, who will respond in writing within a reasonable time.

3. How We Work

3.1. Openness

Participation is open to anyone who is directly and materially affected by the activity in question. There shall be no undue financial barriers to participation.

3.2. Balance

The development process should balance the interests of Contributors and other stakeholders. Contributors from diverse interest categories shall be sought with the objective of achieving balance.

3.3. Coordination and Harmonization

Good faith efforts shall be made to resolve potential conflicts or incompatibility between releases in the Project.

3.4. Consideration of Views and Objections

Prompt consideration shall be given to the written views and objections of all Contributors.

3.5. Written procedures

This governance document and other materials documenting the Project development process shall be available to any interested person.

4. No Confidentiality

Information disclosed in connection with any Project activity, including but not limited to meetings, contributions, and submissions, is not confidential, regardless of any markings or statements to the contrary.

5. Amendments

Amendments to this governance policy may be made by affirmative vote of 2/3 of all Maintainers.


Modified from of MVG-0.1-beta GOVERNANCE.md. Licensed under the CC-BY 4.0 License.

+ Governance | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Governance Policy

This document provides the governance policy for F3D (the “Project”). Every person responsible for its maintenance (the “Maintainers”) agrees to this policy and to abide by all Project policies, including the code of conduct by adding their name to the MAINTAINERS.md file.

1. Roles

This Project includes the following roles.

1.1. Maintainers

Maintainers are responsible for organizing activities around developing, maintaining, and updating the Project. Maintainers are also responsible for determining consensus. The Project may add or remove Maintainers by affirmative vote of 2/3 of all Maintainers.

1.2. Contributors

Contributors are those who have made contributions to the Project.

2. Decisions

2.1 Consensus-Based Decision Making

The Project makes decisions through the consensus of the Maintainers. While explicit agreement of all Maintainers is preferred, it is not required for consensus. Rather, the Maintainers will determine consensus based on their good faith consideration of several factors, including the dominant view of the Contributors and the nature of support and objections. The Maintainers will document evidence of consensus in accordance with these requirements using issues comments.

2.2. Appeal Process

Decisions may be appealed by opening an issue and that appeal will be considered by the Maintainers in good faith, who will respond in writing within a reasonable time.

3. How We Work

3.1. Openness

Participation is open to anyone who is directly and materially affected by the activity in question. There shall be no undue financial barriers to participation.

3.2. Balance

The development process should balance the interests of Contributors and other stakeholders. Contributors from diverse interest categories shall be sought with the objective of achieving balance.

3.3. Coordination and Harmonization

Good faith efforts shall be made to resolve potential conflicts or incompatibility between releases in the Project.

3.4. Consideration of Views and Objections

Prompt consideration shall be given to the written views and objections of all Contributors.

3.5. Written procedures

This governance document and other materials documenting the Project development process shall be available to any interested person.

4. No Confidentiality

Information disclosed in connection with any Project activity, including but not limited to meetings, contributions, and submissions, is not confidential, regardless of any markings or statements to the contrary.

5. Amendments

Amendments to this governance policy may be made by affirmative vote of 2/3 of all Maintainers.


Modified from of MVG-0.1-beta GOVERNANCE.md. Licensed under the CC-BY 4.0 License.

diff --git a/doc/dev/MAINTAINERS.html b/doc/dev/MAINTAINERS.html index 8578c3f07a..c4ef12073e 100644 --- a/doc/dev/MAINTAINERS.html +++ b/doc/dev/MAINTAINERS.html @@ -1 +1 @@ - Maintainers | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Maintainers

This document lists the Maintainers of the Project. Maintainers may be added once approved by the existing Maintainers as described in the Governance document. By adding your name to this list you are agreeing to abide by the Project governance documents and to abide by all of the Organization’s policies, including the code of conduct.

NAME Organization
Michael Migliore f3d-app
Mathieu Westphal f3d-app

Modified from MVG-0.1-beta MAINTAINERS.md. Licensed under the CC-BY 4.0 License.

+ Maintainers | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Maintainers

This document lists the Maintainers of the Project. Maintainers may be added once approved by the existing Maintainers as described in the Governance document. By adding your name to this list you are agreeing to abide by the Project governance documents and to abide by all of the Organization’s policies, including the code of conduct.

NAME Organization
Michael Migliore f3d-app
Mathieu Westphal f3d-app

Modified from MVG-0.1-beta MAINTAINERS.md. Licensed under the CC-BY 4.0 License.

diff --git a/doc/dev/README_DEV.html b/doc/dev/README_DEV.html index d668b12581..92309a7ea1 100644 --- a/doc/dev/README_DEV.html +++ b/doc/dev/README_DEV.html @@ -1 +1 @@ - Developer Documentation | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied + Developer Documentation | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied diff --git a/doc/dev/ROADMAPS_AND_RELEASES.html b/doc/dev/ROADMAPS_AND_RELEASES.html index 390204944b..d878b7fc57 100644 --- a/doc/dev/ROADMAPS_AND_RELEASES.html +++ b/doc/dev/ROADMAPS_AND_RELEASES.html @@ -1 +1 @@ - Roadmaps and release cycle | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Roadmaps and release cycles

F3D is a community driven project and we try to provide as much information as we can about the upcoming features and release expectations. Please keep in mind while we may try to fulfill what was planned, some features may not be available as planned and releases can be delayed.

Roadmaps are available on their dedicated issue with their associated project board and milestone. They are bound to evolve over time.

If you want to get involved, please feel free to comment on the issues and contribute to the issues that matters to you!

3.0.0

Out next major release is planned for January 2025

Release cycle

F3D release cycle is one minor release every three months, in January, April, July and October. A minor release may be skipped before a major release.

+ Roadmaps and release cycle | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Roadmaps and release cycles

F3D is a community driven project and we try to provide as much information as we can about the upcoming features and release expectations. Please keep in mind while we may try to fulfill what was planned, some features may not be available as planned and releases can be delayed.

Roadmaps are available on their dedicated issue with their associated project board and milestone. They are bound to evolve over time.

If you want to get involved, please feel free to comment on the issues and contribute to the issues that matters to you!

3.0.0

Out next major release is planned for January 2025

Release cycle

F3D release cycle is one minor release every three months, in January, April, July and October. A minor release may be skipped before a major release.

diff --git a/doc/dev/TESTING.html b/doc/dev/TESTING.html index ff7deec440..8bc2823621 100644 --- a/doc/dev/TESTING.html +++ b/doc/dev/TESTING.html @@ -1,4 +1,4 @@ - Testing | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Testing

F3D has an extensive suite of tests that can be run locally, either to validate your build or because you are contributing to F3D and want to add/modify a test.

CMake Options

There are a few CMake options to configure the F3D testing framework:

  • BUILD_TESTING: Enable the test framework, off by default. Requires git LFS if repository is cloned.
  • F3D_TESTING_ENABLE_RENDERING_TESTS: An option to enable/disable test that require rendering capabilities, on by default.
  • F3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS: Certain tests can take some time to run, off by default, requires rendering tests.

Running the tests

To run all tests, build and then run ctest from the build directory:

cmake --build .
+              Testing | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Testing

F3D has an extensive suite of tests that can be run locally, either to validate your build or because you are contributing to F3D and want to add/modify a test.

CMake Options

There are a few CMake options to configure the F3D testing framework:

  • BUILD_TESTING: Enable the test framework, off by default. Requires git LFS if repository is cloned.
  • F3D_TESTING_ENABLE_RENDERING_TESTS: An option to enable/disable test that require rendering capabilities, on by default.
  • F3D_TESTING_ENABLE_LONG_TIMEOUT_TESTS: Certain tests can take some time to run, off by default, requires rendering tests.

Running the tests

To run all tests, build and then run ctest from the build directory:

cmake --build .
 ctest
 

To run a specific test, use the ctest -R <testname> option:

ctest -R PLY
 

Testing architecture

There are multiple layers of tests to ensure that testing covers all aspects of the application. The layers of the application are

  • Application layer
  • Library layer
  • Bindings layer
  • VTK Extension layer

When contributing to F3D, it is necessary that new code is covered by a test in at least one layer above. Additional tests can be created in other layers, depending on the change.

Application layer

All application tests are initiated via the CTest (https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html) testing framework. CTest runs f3d with the --output and --ref arguments which renders an output image and compares it to a reference image. F3D compares the differences between the 2 images and generates a diff file if there are differences between the images.

All aspects of the application test framework are handled in application/testing/CMakeLists.txt.

Usually, adding a test is as simple as adding a line like this one:

f3d_test(NAME TestName DATA datafile.ext ARGS --args-to-test)
diff --git a/doc/libf3d/BINDINGS.html b/doc/libf3d/BINDINGS.html
index 3918e9d4f2..8cd11815d0 100644
--- a/doc/libf3d/BINDINGS.html
+++ b/doc/libf3d/BINDINGS.html
@@ -1,4 +1,4 @@
-              Bindings | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Bindings

Python

If the python bindings have been generated using the F3D_BINDINGS_PYTHON CMake option, the libf3d can be used directly from python. Make sure to set PYTHONPATH to path where the python module is built. Here is an example showing how to use libf3d python bindings:

import f3d
+              Bindings | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Bindings

Python

If the python bindings have been generated using the F3D_BINDINGS_PYTHON CMake option, the libf3d can be used directly from python. Make sure to set PYTHONPATH to path where the python module is built. Here is an example showing how to use libf3d python bindings:

import f3d
 
 eng = f3d.Engine(f3d.Window.NATIVE)
 eng.options.update({
diff --git a/doc/libf3d/CLASSES.html b/doc/libf3d/CLASSES.html
index 4a7f64bea3..db3fdb85e7 100644
--- a/doc/libf3d/CLASSES.html
+++ b/doc/libf3d/CLASSES.html
@@ -1 +1 @@
-              Classes Introduction | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Classes Introduction

This is only an introduction to libf3d classes. For the complete documentation, please consult the libf3d doxygen documentation..

Engine class

The engine class is the main class that needs to be instantiated. All other classes instance are provided by the engine using getters, getLoader, getWindow, getInteractor, getOptions.

The engine constructor lets you choose the type of window in its constructor, NONE, NATIVE, NATIVE_OFFSCREEN, EXTERNAL. Default is NATIVE. See Window class documentation for more info. Please note that the engine will not provide a interactor with NONE and EXTERNAL.

A static function loadPlugin can also be called to load reader plugins. It must be called before loading any file. An internal plugin containing VTK native readers can be loaded by calling f3d::engine::loadPlugin("native");. Other plugins maintained by F3D team are available if their build is enabled: alembic, assimp, draco, exodus, occt and usd. If CMake option F3D_PLUGINS_STATIC_BUILD is enabled, the plugins listed above are also static just like native plugin. All static plugins can be loaded using f3d::engine::autoloadPlugins().

Loader class

The loader class is responsible to read and load the file from the disk. It supports reading full scene files as well as multiple geometries into a default scene.

Window class

The window class is responsible for rendering the meshes. It supports multiple modes.

  • NONE: A window that will not render anything, very practical when only trying to recover meta-information about the data.

  • NATIVE: Default mode where a window is shown onscreen using native graphical capabilities.

  • NATIVE_OFFSCREEN: Use native graphical capabilities for rendering, but unto an offscreen window, which will not appear on screen, practical when generating screenshots.

  • EXTERNAL: A window where the OpenGL context is not created but assumed to have been created externally. To be used with other frameworks like Qt or GLFW.

Window lets you render, renderToImage and control other parameters of the window, like icon or windowName.

Interactor class

When provided by the engine, the interactor class lets you choose how to interact with the data.

It contains the animation API to start and stop animation.

Interactor also lets you set your interaction callbacks in order to modify how the interaction with the data is done.

Of course, you can use start and stop to control the interactor behavior.

Camera class

Provided by the window, this class lets you control the camera. You can either specify the camera position, target, and up direction directly, or specify movements relative to the current camera state.

Image class

A generic image class that can either be created from a window, from an image filepath or even from a data buffer. It supports comparison making it very practical in testing context.

Log class

A class to control logging in the libf3d. Simple using the different dedicated methods (print, debug, info, warn, error) and setVerboseLevel, you can easily control what to display. Please note that, on windows, a dedicated output window may be created.

Options class

This class lets you control the behavior of the libf3d. An option is basically a string used as a key associated with a value, see the exhaustive list.

Reader class

This class is used internally by the plugin SDK and is not intended to be used directly.

Plugin class

This class is used internally by the plugin SDK and is not intended to be used directly.

+ Classes Introduction | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Classes Introduction

This is only an introduction to libf3d classes. For the complete documentation, please consult the libf3d doxygen documentation..

Engine class

The engine class is the main class that needs to be instantiated. All other classes instance are provided by the engine using getters, getLoader, getWindow, getInteractor, getOptions.

The engine constructor lets you choose the type of window in its constructor, NONE, NATIVE, NATIVE_OFFSCREEN, EXTERNAL. Default is NATIVE. See Window class documentation for more info. Please note that the engine will not provide a interactor with NONE and EXTERNAL.

A static function loadPlugin can also be called to load reader plugins. It must be called before loading any file. An internal plugin containing VTK native readers can be loaded by calling f3d::engine::loadPlugin("native");. Other plugins maintained by F3D team are available if their build is enabled: alembic, assimp, draco, exodus, occt and usd. If CMake option F3D_PLUGINS_STATIC_BUILD is enabled, the plugins listed above are also static just like native plugin. All static plugins can be loaded using f3d::engine::autoloadPlugins().

Loader class

The loader class is responsible to read and load the file from the disk. It supports reading full scene files as well as multiple geometries into a default scene.

Window class

The window class is responsible for rendering the meshes. It supports multiple modes.

  • NONE: A window that will not render anything, very practical when only trying to recover meta-information about the data.

  • NATIVE: Default mode where a window is shown onscreen using native graphical capabilities.

  • NATIVE_OFFSCREEN: Use native graphical capabilities for rendering, but unto an offscreen window, which will not appear on screen, practical when generating screenshots.

  • EXTERNAL: A window where the OpenGL context is not created but assumed to have been created externally. To be used with other frameworks like Qt or GLFW.

Window lets you render, renderToImage and control other parameters of the window, like icon or windowName.

Interactor class

When provided by the engine, the interactor class lets you choose how to interact with the data.

It contains the animation API to start and stop animation.

Interactor also lets you set your interaction callbacks in order to modify how the interaction with the data is done.

Of course, you can use start and stop to control the interactor behavior.

Camera class

Provided by the window, this class lets you control the camera. You can either specify the camera position, target, and up direction directly, or specify movements relative to the current camera state.

Image class

A generic image class that can either be created from a window, from an image filepath or even from a data buffer. It supports comparison making it very practical in testing context.

Log class

A class to control logging in the libf3d. Simple using the different dedicated methods (print, debug, info, warn, error) and setVerboseLevel, you can easily control what to display. Please note that, on windows, a dedicated output window may be created.

Options class

This class lets you control the behavior of the libf3d. An option is basically a string used as a key associated with a value, see the exhaustive list.

Reader class

This class is used internally by the plugin SDK and is not intended to be used directly.

Plugin class

This class is used internally by the plugin SDK and is not intended to be used directly.

diff --git a/doc/libf3d/OPTIONS.html b/doc/libf3d/OPTIONS.html index dfcde34b0b..d57517baff 100644 --- a/doc/libf3d/OPTIONS.html +++ b/doc/libf3d/OPTIONS.html @@ -1 +1 @@ - Options | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Options exhaustive list

An option is a string used as a key associated with a value, which are stored in an options instance. The possible option are listed below and are organized by categories and subcategories, here is a non-exhaustive explanation of the categories.

  • scene options are related to how the scene is being displayed
  • render options are related to the way the render is done
  • render.effect options are related to specific techniques used that modify the render
  • ui options are related to the screenspace UI element displayed
  • model options are related to modifications on the model, they are only meaningful when using the default scene
  • interactor options requires an interactor to be present to have any effect.

Please note certain options are taken into account when rendering, others when loading a file. See the exhaustive list below, but note that this may change in the future.

Scene Options

Option Type
Default
Trigger
Description F3D option
scene.animation.autoplay bool
false
load
Automatically start animation. --animation-autoplay
scene.animation.index int
0
load
Select the animation to load.
Any negative value means all animations (glTF only).
The default scene always has at most one animation.
--animation-index
scene.animation.speed-factor double
1
render
Set the animation speed factor to slow, speed up or even invert animation. --animation-speed-factor
scene.animation.frame-rate double
60
render
Set the animation frame rate used to play the animation interactively. --animation-frame-rate
scene.camera.index int
-1
load
Select the scene camera to use when available in the file.
Any negative value means automatic camera.
The default scene always uses automatic camera.
--camera-index
scene.up-direction string
+Y
load
Define the Up direction --up
scene.camera.orthographic bool
false
load
Toggles between orthographic projection and parallel mode. --camera-orthographic

Interactor Options

Option Type
Default
Trigger
Description F3D option
interactor.axis bool
false
render
Show axes as a trihedron in the scene. --axis
interactor.trackball bool
false
render
Enable trackball interaction. --trackball

Model Options

Option Type
Default
Trigger
Description F3D option
model.matcap.texture string
-
render
Path to a texture file containing a material capture. All other model options for surfaces are ignored if this is set. --texture-matcap
model.color.opacity double
1.0
render
Set opacity on the geometry. Usually used with Depth Peeling option. Multiplied with the model.color.texture when present. --opacity
model.color.rgb vector<double>
1.0,1.0,1.0
render
Set a color on the geometry. Multiplied with the model.color.texture when present. --color
model.color.texture string
-
render
Path to a texture file that sets the color of the object. Will be multiplied with rgb and opacity. --texture-base-color
model.emissive.factor vector<double>
1.0,1.0,1.0
render
Multiply the emissive color when an emissive texture is present. --emissive-factor
model.emissive.texture string
-
render
Path to a texture file that sets the emitted light of the object. Multiplied with the model.emissive.factor. --texture-emissive
model.material.metallic double
0.0
render
Set the metallic coefficient on the geometry (0.0-1.0). Multiplied with the model.material.texture when present. --metallic
model.material.roughness double
0.3
render
Set the roughness coefficient on the geometry (0.0-1.0). Multiplied with the model.material.texture when present. --roughness
model.material.texture string
-
render
Path to a texture file that sets the Occlusion, Roughness and Metallic values of the object. Multiplied with the model.material.roughness and model.material.metallic, set both of them to 1.0 to get a true result. --texture-material
model.normal.scale double
1.0
render
Normal scale affects the strength of the normal deviation from the normal texture. --normal-scale
model.normal.texture string
-
render
Path to a texture file that sets the normal map of the object. --texture-normal
model.scivis.cells bool
false
render
Color the data with value found on the cells instead of points --cells
model.scivis.colormap vector<double>
<inferno>
render
Set a custom colormap for the coloring.
This is a list of colors in the format val1,red1,green1,blue1,...,valN,redN,greenN,blueN
where all values are in the range (0,1).
--colormap
model.scivis.component int
-1
render
Specify the component to color with. -1 means magnitude. -2 means direct values. --comp
model.scivis.array-name string
<reserved>
render
Color by a specific data array present in on the data. Set to to let libf3d find the first available array. --scalars
model.scivis.range vector<double>
-
render
Set a custom range for the coloring. --range
model.point-sprites.enable bool
false
render
Show sphere points sprites instead of the geometry. --point-sprites
model.point-sprites.type string
sphere
render
Set the sprites type when showing point sprites (can be sphere or gaussian). --point-type
model.volume.enable bool
false
render
Enable volume rendering. It is only available for 3D image data (vti, dcm, nrrd, mhd files) and will display nothing with other default scene formats. --volume
model.volume.inverse bool
false
render
Inverse the linear opacity function. --inverse

Render Options

Option Type
Default
Trigger
Description F3D option
render.effect.translucency-support bool
false
render
Enable translucency support. This is a technique used to correctly render translucent objects, implemented using depth peeling --translucency-support
render.effect.anti-aliasing bool
false
render
Enable anti-aliasing. This technique is used to reduce aliasing, implemented using FXAA. --anti-aliasing
render.effect.ambient-occlusion bool
false
render
Enable ambient occlusion. This is a technique providing approximate shadows, used to improve the depth perception of the object. Implemented using SSAO --ambient-occlusion
render.effect.tone-mapping bool
false
render
Enable generic filmic Tone Mapping Pass. This technique is used to map colors properly to the monitor colors. --tone-mapping
render.effect.final-shader string
”“
render
Add a final shader to the output image --final-shader. See user documentation.
render.line-width double
1.0
render
Set the width of lines when showing edges. --line-width
render.show-edges bool
false
render
Show the cell edges --edges
render.point-size double
10.0
render
Set the size of points when showing vertices and point sprites. --point-size
render.grid.enable bool
false
render
Show a grid aligned with the horizontal (orthogonal to the Up direction) plane. --grid
render.grid.absolute bool
false
render
Position the grid at the absolute origin of the model’s coordinate system instead of below the model. --grid
render.grid.unit double
0
render
Set the size of the unit square for the grid. If set to non-positive (the default) a suitable value will be automatically computed. --grid-unit
render.grid.subdivisions int
10
render
Set the number of subdivisions for the grid. --grid-subdivisions
render.grid.color int
(0, 0, 0)
render
Set the color of grid lines. --grid-color
render.raytracing.enable bool
false
render
Enable raytracing. Requires the raytracing module to be enabled. --raytracing
render.raytracing.samples int
5
render
The number of samples per pixel. --samples
render.raytracing.denoise bool
false
render
Denoise the raytracing rendering. --denoise
render.hdri.file string
-
render
Set the HDRI image that can be used for ambient lighting and skybox.
Valid file format are hdr, exr, png, jpg, pnm, tiff, bmp.
If not set, a default is provided.
--hdri-file
render.hdri.ambient bool
false
render
Light the scene using the HDRI image as ambient lighting
The environment act as a light source and is reflected on the material.
--hdri-ambient
render.background.color vector<double>
0.2,0.2,0.2
render
Set the window background color.
Ignored if a hdri skybox is used.
--bg-color
render.background.skybox bool
false
render
Show the HDRI image as a skybox
Overrides the the background color if any
--hdri-skybox
render.background.blur bool
false
render
Blur background, useful with a skybox. --blur-background
render.background.blur.coc double
20.0
render
Blur background circle of confusion radius. --blur-coc
render.light.intensity double
1.0
render
Adjust the intensity of every light in the scene. --light-intensity

UI Options

Option Type
Default
Trigger
Description F3D option
ui.bar bool
false
render
Show scalar bar of the coloring by data array. --bar
ui.cheatsheet bool
false
render
Show a interactor cheatsheet  
ui.filename bool
false
render
Display the filename info content on top of the window. --filename
ui.filename-info string
-
render
Content of filename info to display.  
ui.font-file string
-
render
Use the provided FreeType compatible font file to display text.
Can be useful to display non-ASCII filenames.
--font-file
ui.fps bool
false
render
Display a frame per second counter. --fps
ui.loader-progress bool
false
load
Show a progress bar when loading the file. --progress
ui.animation-progress bool
false
load
Show a progress bar when playing the animation. --animation-progress
ui.metadata bool
false
render
Display the metadata. --metadata
ui.dropzone bool
false
render
Show a drop zone.  
ui.dropzone-info string
-
render
Content of the drop zone text to display.  
+ Options | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Options exhaustive list

An option is a string used as a key associated with a value, which are stored in an options instance. The possible option are listed below and are organized by categories and subcategories, here is a non-exhaustive explanation of the categories.

  • scene options are related to how the scene is being displayed
  • render options are related to the way the render is done
  • render.effect options are related to specific techniques used that modify the render
  • ui options are related to the screenspace UI element displayed
  • model options are related to modifications on the model, they are only meaningful when using the default scene
  • interactor options requires an interactor to be present to have any effect.

Please note certain options are taken into account when rendering, others when loading a file. See the exhaustive list below, but note that this may change in the future.

Scene Options

Option Type
Default
Trigger
Description F3D option
scene.animation.autoplay bool
false
load
Automatically start animation. --animation-autoplay
scene.animation.index int
0
load
Select the animation to load.
Any negative value means all animations (glTF only).
The default scene always has at most one animation.
--animation-index
scene.animation.speed-factor double
1
render
Set the animation speed factor to slow, speed up or even invert animation. --animation-speed-factor
scene.animation.frame-rate double
60
render
Set the animation frame rate used to play the animation interactively. --animation-frame-rate
scene.camera.index int
-1
load
Select the scene camera to use when available in the file.
Any negative value means automatic camera.
The default scene always uses automatic camera.
--camera-index
scene.up-direction string
+Y
load
Define the Up direction --up
scene.camera.orthographic bool
false
load
Toggles between orthographic projection and parallel mode. --camera-orthographic

Interactor Options

Option Type
Default
Trigger
Description F3D option
interactor.axis bool
false
render
Show axes as a trihedron in the scene. --axis
interactor.trackball bool
false
render
Enable trackball interaction. --trackball

Model Options

Option Type
Default
Trigger
Description F3D option
model.matcap.texture string
-
render
Path to a texture file containing a material capture. All other model options for surfaces are ignored if this is set. --texture-matcap
model.color.opacity double
1.0
render
Set opacity on the geometry. Usually used with Depth Peeling option. Multiplied with the model.color.texture when present. --opacity
model.color.rgb vector<double>
1.0,1.0,1.0
render
Set a color on the geometry. Multiplied with the model.color.texture when present. --color
model.color.texture string
-
render
Path to a texture file that sets the color of the object. Will be multiplied with rgb and opacity. --texture-base-color
model.emissive.factor vector<double>
1.0,1.0,1.0
render
Multiply the emissive color when an emissive texture is present. --emissive-factor
model.emissive.texture string
-
render
Path to a texture file that sets the emitted light of the object. Multiplied with the model.emissive.factor. --texture-emissive
model.material.metallic double
0.0
render
Set the metallic coefficient on the geometry (0.0-1.0). Multiplied with the model.material.texture when present. --metallic
model.material.roughness double
0.3
render
Set the roughness coefficient on the geometry (0.0-1.0). Multiplied with the model.material.texture when present. --roughness
model.material.texture string
-
render
Path to a texture file that sets the Occlusion, Roughness and Metallic values of the object. Multiplied with the model.material.roughness and model.material.metallic, set both of them to 1.0 to get a true result. --texture-material
model.normal.scale double
1.0
render
Normal scale affects the strength of the normal deviation from the normal texture. --normal-scale
model.normal.texture string
-
render
Path to a texture file that sets the normal map of the object. --texture-normal
model.scivis.cells bool
false
render
Color the data with value found on the cells instead of points --cells
model.scivis.colormap vector<double>
<inferno>
render
Set a custom colormap for the coloring.
This is a list of colors in the format val1,red1,green1,blue1,...,valN,redN,greenN,blueN
where all values are in the range (0,1).
--colormap
model.scivis.component int
-1
render
Specify the component to color with. -1 means magnitude. -2 means direct values. --comp
model.scivis.array-name string
<reserved>
render
Color by a specific data array present in on the data. Set to to let libf3d find the first available array. --scalars
model.scivis.range vector<double>
-
render
Set a custom range for the coloring. --range
model.point-sprites.enable bool
false
render
Show sphere points sprites instead of the geometry. --point-sprites
model.point-sprites.type string
sphere
render
Set the sprites type when showing point sprites (can be sphere or gaussian). --point-type
model.volume.enable bool
false
render
Enable volume rendering. It is only available for 3D image data (vti, dcm, nrrd, mhd files) and will display nothing with other default scene formats. --volume
model.volume.inverse bool
false
render
Inverse the linear opacity function. --inverse

Render Options

Option Type
Default
Trigger
Description F3D option
render.effect.translucency-support bool
false
render
Enable translucency support. This is a technique used to correctly render translucent objects, implemented using depth peeling --translucency-support
render.effect.anti-aliasing bool
false
render
Enable anti-aliasing. This technique is used to reduce aliasing, implemented using FXAA. --anti-aliasing
render.effect.ambient-occlusion bool
false
render
Enable ambient occlusion. This is a technique providing approximate shadows, used to improve the depth perception of the object. Implemented using SSAO --ambient-occlusion
render.effect.tone-mapping bool
false
render
Enable generic filmic Tone Mapping Pass. This technique is used to map colors properly to the monitor colors. --tone-mapping
render.effect.final-shader string
”“
render
Add a final shader to the output image --final-shader. See user documentation.
render.line-width double
1.0
render
Set the width of lines when showing edges. --line-width
render.show-edges bool
false
render
Show the cell edges --edges
render.point-size double
10.0
render
Set the size of points when showing vertices and point sprites. --point-size
render.grid.enable bool
false
render
Show a grid aligned with the horizontal (orthogonal to the Up direction) plane. --grid
render.grid.absolute bool
false
render
Position the grid at the absolute origin of the model’s coordinate system instead of below the model. --grid
render.grid.unit double
0
render
Set the size of the unit square for the grid. If set to non-positive (the default) a suitable value will be automatically computed. --grid-unit
render.grid.subdivisions int
10
render
Set the number of subdivisions for the grid. --grid-subdivisions
render.grid.color int
(0, 0, 0)
render
Set the color of grid lines. --grid-color
render.raytracing.enable bool
false
render
Enable raytracing. Requires the raytracing module to be enabled. --raytracing
render.raytracing.samples int
5
render
The number of samples per pixel. --samples
render.raytracing.denoise bool
false
render
Denoise the raytracing rendering. --denoise
render.hdri.file string
-
render
Set the HDRI image that can be used for ambient lighting and skybox.
Valid file format are hdr, exr, png, jpg, pnm, tiff, bmp.
If not set, a default is provided.
--hdri-file
render.hdri.ambient bool
false
render
Light the scene using the HDRI image as ambient lighting
The environment act as a light source and is reflected on the material.
--hdri-ambient
render.background.color vector<double>
0.2,0.2,0.2
render
Set the window background color.
Ignored if a hdri skybox is used.
--bg-color
render.background.skybox bool
false
render
Show the HDRI image as a skybox
Overrides the the background color if any
--hdri-skybox
render.background.blur bool
false
render
Blur background, useful with a skybox. --blur-background
render.background.blur.coc double
20.0
render
Blur background circle of confusion radius. --blur-coc
render.light.intensity double
1.0
render
Adjust the intensity of every light in the scene. --light-intensity

UI Options

Option Type
Default
Trigger
Description F3D option
ui.bar bool
false
render
Show scalar bar of the coloring by data array. --bar
ui.cheatsheet bool
false
render
Show a interactor cheatsheet  
ui.filename bool
false
render
Display the filename info content on top of the window. --filename
ui.filename-info string
-
render
Content of filename info to display.  
ui.font-file string
-
render
Use the provided FreeType compatible font file to display text.
Can be useful to display non-ASCII filenames.
--font-file
ui.fps bool
false
render
Display a frame per second counter. --fps
ui.loader-progress bool
false
load
Show a progress bar when loading the file. --progress
ui.animation-progress bool
false
load
Show a progress bar when playing the animation. --animation-progress
ui.metadata bool
false
render
Display the metadata. --metadata
ui.dropzone bool
false
render
Show a drop zone.  
ui.dropzone-info string
-
render
Content of the drop zone text to display.  
diff --git a/doc/libf3d/OVERVIEW.html b/doc/libf3d/OVERVIEW.html index 7fb04e8b24..cbf8a2936f 100644 --- a/doc/libf3d/OVERVIEW.html +++ b/doc/libf3d/OVERVIEW.html @@ -1,4 +1,4 @@ - Overview | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

libf3d - A library to render 3D meshes

By Michael Migliore and Mathieu Westphal.

libf3d is a BSD-licensed C++ library to open and render 3D meshes. It is of course used by F3D. libf3d API is simple and easy to learn. Python bindings are provided through pybind11. Java bindings are also available. libf3d API is still in alpha version and may change drastically in the future.

Getting Started

Rendering a full scene file and starting the interaction is very easy:

#include <f3d/engine.h>
+              Overview | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

libf3d - A library to render 3D meshes

By Michael Migliore and Mathieu Westphal.

libf3d is a BSD-licensed C++ library to open and render 3D meshes. It is of course used by F3D. libf3d API is simple and easy to learn. Python bindings are provided through pybind11. Java bindings are also available. libf3d API is still in alpha version and may change drastically in the future.

Getting Started

Rendering a full scene file and starting the interaction is very easy:

#include <f3d/engine.h>
 #include <f3d/interactor.h>
 #include <f3d/loader.h>
 
diff --git a/doc/libf3d/PLUGINS.html b/doc/libf3d/PLUGINS.html
index c5e0505d8d..8807c5abdb 100644
--- a/doc/libf3d/PLUGINS.html
+++ b/doc/libf3d/PLUGINS.html
@@ -1,4 +1,4 @@
-              Plugin SDK | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Plugin SDK

Please follow instructions in the F3D build guide, make sure to build with BUILD_SHARED_LIBS=ON and to install the plugin_sdk component. You will then be able to call find_package(f3d REQUIRED COMPONENTS pluginsdk) in your plugin CMakeLists.txt, a few macros are made available to you to generate a plugin which allow you to extend libf3d to support your own file format. Access to a f3d::vtkext VTK module is also provided if needed.

Please consider contributing your plugin in F3D directly if you think it can be useful to the community. You can also consider contributing directly in VTK.

Creating a plugin

You can take a look at the example in the examples/plugin directory or at the official plugins.

The first thing (and most difficult part) you have to do is creating a VTK reader (or a VTK importer if you want to support a full scene with materials, lights and cameras), and wrap it into a VTK module. You can create several readers in the same VTK module if you need to support several file formats in a single plugin.

Then, declare the reader(s) and the plugin using the CMake macros:

f3d_plugin_init()
+              Plugin SDK | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Plugin SDK

Please follow instructions in the F3D build guide, make sure to build with BUILD_SHARED_LIBS=ON and to install the plugin_sdk component. You will then be able to call find_package(f3d REQUIRED COMPONENTS pluginsdk) in your plugin CMakeLists.txt, a few macros are made available to you to generate a plugin which allow you to extend libf3d to support your own file format. Access to a f3d::vtkext VTK module is also provided if needed.

Please consider contributing your plugin in F3D directly if you think it can be useful to the community. You can also consider contributing directly in VTK.

Creating a plugin

You can take a look at the example in the examples/plugin directory or at the official plugins.

The first thing (and most difficult part) you have to do is creating a VTK reader (or a VTK importer if you want to support a full scene with materials, lights and cameras), and wrap it into a VTK module. You can create several readers in the same VTK module if you need to support several file formats in a single plugin.

Then, declare the reader(s) and the plugin using the CMake macros:

f3d_plugin_init()
 
 f3d_plugin_declare_reader(
   NAME "ReaderName"
diff --git a/doc/libf3d/README_LIBF3D.html b/doc/libf3d/README_LIBF3D.html
index 49f5c84597..84c5051bd6 100644
--- a/doc/libf3d/README_LIBF3D.html
+++ b/doc/libf3d/README_LIBF3D.html
@@ -1 +1 @@
-              libf3d Documentation | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied          
+              libf3d Documentation | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied          
diff --git a/doc/user/ANIMATIONS.html b/doc/user/ANIMATIONS.html
index 4e99360263..c6ce01640f 100644
--- a/doc/user/ANIMATIONS.html
+++ b/doc/user/ANIMATIONS.html
@@ -1 +1 @@
-              Animations | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Animations

F3D is able to play animations for any files which contain them. Play them either interactively or by selecting a specific time to display. For files containing multiple animations, F3D allows the user to either play each animation separately or play all animations at the same time.

Demonstration

This specific example uses an animation file which can be downloaded here.

1

Load the example animation file shown above by executing within command line: f3d InterpolationTest.glb

2 To view current animation name, press H to open up cheatsheet menu

3 Press W to cycle through available animations

4 Press space to play/pause current animation. Note: A red bar runs along the bottom of screen to indicate the current time interval of the animation sequence.

5 “All Animations” will play all animations at the same time.

Command line options

F3D animation behavior can be fully controlled from the command line using the following options.

Options Default Description
--animation-index   Select the animation to play.
--animation-index=-1   Play all animations at once (.gltf/.glb only).
--animation-speed-factor Time Unit = Seconds Adjust time unit.
--animation-frame-rate 60 FPS Adjust animation frame rate.

Animation Interactions

  • Press W to cycle through animations
  • Press Space to play/pause animation

Time Units

  • When F3D plays an animation, it assumes the time unit is in seconds to show accurate speed of animation.
+ Animations | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Animations

F3D is able to play animations for any files which contain them. Play them either interactively or by selecting a specific time to display. For files containing multiple animations, F3D allows the user to either play each animation separately or play all animations at the same time.

Demonstration

This specific example uses an animation file which can be downloaded here.

1

Load the example animation file shown above by executing within command line: f3d InterpolationTest.glb

2 To view current animation name, press H to open up cheatsheet menu

3 Press W to cycle through available animations

4 Press space to play/pause current animation. Note: A red bar runs along the bottom of screen to indicate the current time interval of the animation sequence.

5 “All Animations” will play all animations at the same time.

Command line options

F3D animation behavior can be fully controlled from the command line using the following options.

Options Default Description
--animation-index   Select the animation to play.
--animation-index=-1   Play all animations at once (.gltf/.glb only).
--animation-speed-factor Time Unit = Seconds Adjust time unit.
--animation-frame-rate 60 FPS Adjust animation frame rate.

Animation Interactions

  • Press W to cycle through animations
  • Press Space to play/pause animation

Time Units

  • When F3D plays an animation, it assumes the time unit is in seconds to show accurate speed of animation.
diff --git a/doc/user/COLOR_MAPS.html b/doc/user/COLOR_MAPS.html index 3ce51db530..8ce31dd280 100644 --- a/doc/user/COLOR_MAPS.html +++ b/doc/user/COLOR_MAPS.html @@ -1 +1 @@ - Color maps | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Color maps

Image files

It is possible to specify a color map using the --colormap-file option. The value of the option can be a path to an image file, a filename or a filestem. If it is not a path, these directories are used to find the file (in this order):

  • Linux: ${XDG_CONFIG_HOME}/f3d/colormaps, ~/.config/f3d/colormaps, /etc/f3d/colormaps, /usr/share/f3d/colormaps, [install_dir]/share/f3d/colormaps
  • Windows: %APPDATA%\f3d\colormaps, [install_dir]\share\f3d\configs\colormaps
  • macOS: ${XDG_CONFIG_HOME}/f3d/colormaps, ~/.config/f3d/colormaps, /usr/local/etc/f3d/colormaps, f3d.app/Contents/Resources/configs/colormaps The first existing file found is used. If it is a filestem, all supported image extensions are tried.

We provide some ready to use color maps files, listed in the table below:

Name Image
cividis
cubehelix
gist_earth
hot
inferno
magma
plasma
seismic
viridis

It is possible to create a custom color map by creating a simple RGB image in any supported formats, and any resolution (if the height is more than 1 row, only the first one is taken into account). The image must be copied in the user config directory:

  • Linux/macOS: ~/.config/f3d/colormaps
  • Windows: %APPDATA%\f3d\colormaps

Supported formats

Here’s the list of all supported image formats that can be used as color maps:

  • .png
  • .pnm, .pgm, .ppm
  • .tif, .tiff
  • .bmp
  • .slc
  • .hdr
  • .pic
  • .jpeg, .jpg
  • .MR
  • .CT
  • .mhd, .mha
  • .tga
  • .exr (if F3D_MODULE_EXR is enabled)

Custom values

If no colormap file is specified, it is also possible to set values manually using the --colormap option. A list of numbers between 0 and 1 must be specified. The size of the list is a multiple of 4 and each 4-components tuple correspond to the scalar value, followed by the RGB color. For example, the default value corresponds to the hot preset which can be defined manually with --colormap=0.0,0.0,0.0,0.0,0.4,0.9,0.0,0.0,0.8,0.9,0.9,0.0,1.0,1.0,1.0,1.0. It consists of 4 tuples:

Value RGB
0.0 0.0, 0.0, 0.0
0.4 0.9, 0.0, 0.0
0.8 0.9, 0.9, 0.0
1.0 1.0, 1.0, 1.0

Values in between are interpolated.

+ Color maps | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Color maps

Image files

It is possible to specify a color map using the --colormap-file option. The value of the option can be a path to an image file, a filename or a filestem. If it is not a path, these directories are used to find the file (in this order):

  • Linux: ${XDG_CONFIG_HOME}/f3d/colormaps, ~/.config/f3d/colormaps, /etc/f3d/colormaps, /usr/share/f3d/colormaps, [install_dir]/share/f3d/colormaps
  • Windows: %APPDATA%\f3d\colormaps, [install_dir]\share\f3d\configs\colormaps
  • macOS: ${XDG_CONFIG_HOME}/f3d/colormaps, ~/.config/f3d/colormaps, /usr/local/etc/f3d/colormaps, f3d.app/Contents/Resources/configs/colormaps The first existing file found is used. If it is a filestem, all supported image extensions are tried.

We provide some ready to use color maps files, listed in the table below:

Name Image
cividis
cubehelix
gist_earth
hot
inferno
magma
plasma
seismic
viridis

It is possible to create a custom color map by creating a simple RGB image in any supported formats, and any resolution (if the height is more than 1 row, only the first one is taken into account). The image must be copied in the user config directory:

  • Linux/macOS: ~/.config/f3d/colormaps
  • Windows: %APPDATA%\f3d\colormaps

Supported formats

Here’s the list of all supported image formats that can be used as color maps:

  • .png
  • .pnm, .pgm, .ppm
  • .tif, .tiff
  • .bmp
  • .slc
  • .hdr
  • .pic
  • .jpeg, .jpg
  • .MR
  • .CT
  • .mhd, .mha
  • .tga
  • .exr (if F3D_MODULE_EXR is enabled)

Custom values

If no colormap file is specified, it is also possible to set values manually using the --colormap option. A list of numbers between 0 and 1 must be specified. The size of the list is a multiple of 4 and each 4-components tuple correspond to the scalar value, followed by the RGB color. For example, the default value corresponds to the hot preset which can be defined manually with --colormap=0.0,0.0,0.0,0.0,0.4,0.9,0.0,0.0,0.8,0.9,0.9,0.0,1.0,1.0,1.0,1.0. It consists of 4 tuples:

Value RGB
0.0 0.0, 0.0, 0.0
0.4 0.9, 0.0, 0.0
0.8 0.9, 0.9, 0.0
1.0 1.0, 1.0, 1.0

Values in between are interpolated.

diff --git a/doc/user/CONFIGURATION_FILE.html b/doc/user/CONFIGURATION_FILE.html index 6e7743ee07..65eac39001 100644 --- a/doc/user/CONFIGURATION_FILE.html +++ b/doc/user/CONFIGURATION_FILE.html @@ -1,4 +1,4 @@ - Configuration File | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Configuration File

Almost all the command-line options can be controlled using configuration files. Configuration files uses the “long” version of the command-line options in a JSON formatted file to provide values for these options.

These options can be organized by block using a regular expression for each block in order to provide different default values for the different filetypes.

A special block, named global, will apply to all files. Using a command-line option will override the corresponding value in the config file.

The global block and command-line options are only taken into account on the first load and not on subsequent loads, when switching between files. The regular expression blocks are always taken into account, even when loading further files. Please note the regular expressions are not case-sensitive.

A typical config file may look like this:

{
+              Configuration File | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Configuration File

Almost all the command-line options can be controlled using configuration files. Configuration files uses the “long” version of the command-line options in a JSON formatted file to provide values for these options.

These options can be organized by block using a regular expression for each block in order to provide different default values for the different filetypes.

A special block, named global, will apply to all files. Using a command-line option will override the corresponding value in the config file.

The global block and command-line options are only taken into account on the first load and not on subsequent loads, when switching between files. The regular expression blocks are always taken into account, even when loading further files. Please note the regular expressions are not case-sensitive.

A typical config file may look like this:

{
    "global": {
        "bg-color": "0.7,0.7,0.7",
        "color": "0.5,0.1,0.1",
diff --git a/doc/user/DESKTOP_INTEGRATION.html b/doc/user/DESKTOP_INTEGRATION.html
index 12744f76c4..efdd6f2b4d 100644
--- a/doc/user/DESKTOP_INTEGRATION.html
+++ b/doc/user/DESKTOP_INTEGRATION.html
@@ -1,4 +1,4 @@
-              Desktop Integration | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Desktop Integration

F3D can be integrated in the desktop experience.

Linux

For Linux desktop integration, F3D rely on mime types files as defined by the XDG standard, .thumbnailer file as specified here and .desktop file as specified here. Many file managers use this mechanism, including nautilus, thunar, pcmanfm and caja.

The simplest way to obtain desktop integration on Linux is to use a package for your distribution, or the .deb binary release package we provide if compatible with your distribution. In other cases, the binary release archive can be used like this:

  1. Make sure ~/.local/bin is part of your PATH
  2. Extract F3D binary release archive in ~/.local/
  3. Update your mime database pointing to ~/.local/share/mime
  4. Update your desktop database pointing to ~/.local/share/application
export PATH=$PATH:~/.local/bin
+              Desktop Integration | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Desktop Integration

F3D can be integrated in the desktop experience.

Linux

For Linux desktop integration, F3D rely on mime types files as defined by the XDG standard, .thumbnailer file as specified here and .desktop file as specified here. Many file managers use this mechanism, including nautilus, thunar, pcmanfm and caja.

The simplest way to obtain desktop integration on Linux is to use a package for your distribution, or the .deb binary release package we provide if compatible with your distribution. In other cases, the binary release archive can be used like this:

  1. Make sure ~/.local/bin is part of your PATH
  2. Extract F3D binary release archive in ~/.local/
  3. Update your mime database pointing to ~/.local/share/mime
  4. Update your desktop database pointing to ~/.local/share/application
export PATH=$PATH:~/.local/bin
 tar -xzvf f3d-1.3.0-Linux.tar.gz -C ~/.local/
 sudo update-mime-database ~/.local/share/mime/
 sudo update-desktop-database ~/.local/share/applications
diff --git a/doc/user/FINAL_SHADER.html b/doc/user/FINAL_SHADER.html
index 45e4745a02..813103d812 100644
--- a/doc/user/FINAL_SHADER.html
+++ b/doc/user/FINAL_SHADER.html
@@ -1,4 +1,4 @@
-              Final shaders | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Final shaders

It is possible to specify a final full screen shader with the option --final-shader. It is executed as the last shader in the rendering pipeline.

The shader code can be passed directly as a single code line. It’s possible to pass the content of a shader file using the following command:

f3d model.obj --final-shader "$(cat final.glsl)"
+              Final shaders | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Final shaders

It is possible to specify a final full screen shader with the option --final-shader. It is executed as the last shader in the rendering pipeline.

The shader code can be passed directly as a single code line. It’s possible to pass the content of a shader file using the following command:

f3d model.obj --final-shader "$(cat final.glsl)"
 

Note that the command above works on Linux and bash, and should be adapted depending on the operating system and the shell/terminal used.

Requirements

It is required to implement the function vec4 pixel(vec2 uv). The value uv is ranging from 0 to 1 in both directions. (0,0) is the bottom left corner, and (1,1) is the upper right corner. The first component is the horizontal direction.

Uniforms

It is possible to access these uniforms:

  • source (type: sampler2d): texture of the image generated by rendering pipeline.
  • resolution (type: ivec2): resolution of the texture source.

Examples

Here are three shader examples to illustrate how an implementation looks like.

Negative

vec4 pixel(vec2 uv)
 {
     vec3 value = texture(source, uv).rgb;
diff --git a/doc/user/INSTALLATION.html b/doc/user/INSTALLATION.html
index 5e0bbe21c8..75f9425f0e 100644
--- a/doc/user/INSTALLATION.html
+++ b/doc/user/INSTALLATION.html
@@ -1 +1 @@
-              Installation | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Installation

Current release packages (2.5.0)

Platform Files
Windows (installer) F3D-2.5.0-Windows.exe
Windows (portable) F3D-2.5.0-Windows.zip
MacOS (Silicon) F3D-2.5.0-macOS-arm64.dmg
MacOS (Intel) F3D-2.5.0-macOS-x86_64.dmg
Linux (Debian package) F3D-2.5.0-Linux.deb
Linux (portable) F3D-2.5.0-Linux.tar.xz

Note: MacOS package is not signed, see the troubleshooting section for a workaround if needed.

Alternatives

You can find other (headless, older, smaller, checksum, RCs) release related packages and files on the releases page. You can also find there the nightly release to test the development version of F3D. See the desktop integration section in order actually integrate the binary release in your desktop. Alternatively, you can build F3D yourself by following the build guide.

You can also find packages for the following repositories:

Windows

MacOS

Linux

Other

+ Installation | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Installation

Current release packages (2.5.0)

Platform Files
Windows (installer) F3D-2.5.0-Windows.exe
Windows (portable) F3D-2.5.0-Windows.zip
MacOS (Silicon) F3D-2.5.0-macOS-arm64.dmg
MacOS (Intel) F3D-2.5.0-macOS-x86_64.dmg
Linux (Debian package) F3D-2.5.0-Linux.deb
Linux (portable) F3D-2.5.0-Linux.tar.xz

Note: MacOS package is not signed, see the troubleshooting section for a workaround if needed.

Alternatives

You can find other (headless, older, smaller, checksum, RCs) release related packages and files on the releases page. You can also find there the nightly release to test the development version of F3D. See the desktop integration section in order actually integrate the binary release in your desktop. Alternatively, you can build F3D yourself by following the build guide.

You can also find packages for the following repositories:

Windows

MacOS

Linux

Other

diff --git a/doc/user/INTERACTIONS.html b/doc/user/INTERACTIONS.html index 1629f36ca7..805331e4c5 100644 --- a/doc/user/INTERACTIONS.html +++ b/doc/user/INTERACTIONS.html @@ -1 +1 @@ - Interactions | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Interactions

Mouse Interactions

Simple interaction with the displayed data is possible directly within the window. It is as follows:

  • Click and drag with the left mouse button to rotate around the focal point of the camera.
  • Hold Shift then Click and drag horizontally with the right mouse button to rotate the HDRI.
  • Click and drag vertically with the right mouse button to zoom in/out.
  • Move the mouse wheel to zoom in/out.
  • Hold Ctrl, then Click and drag vertically with the right mouse button to zoom in/out to mouse position.
  • Hold Ctrl, then Move the mouse wheel to zoom in/out to mouse position.
  • Click and drag with the middle mouse button to translate the camera.
  • Click with the middle mouse button to center the camera on the point under the cursor (hold Shift to allow forward or backward movement).
  • Drag and drop a file, directory or HDRI into the F3D window to load it. F3D relies on the extension (.hdr or .exr) to detect if the dropped file is an HDRI.

Note: When playing an animation with a scene camera, camera interactions are locked.

Hotkeys

The coloring can be controlled directly by pressing the following hotkeys:

  • C: cycle between coloring with array from point data and from cell data.
  • S: cycle the array to color with.
  • Y: cycle the component of the array to color with.

See the coloring cycle section for more info.

Other options can be toggled directly by pressing the following hotkeys:

  • W: cycle animations.
  • B: display of the scalar bar, only when coloring and not using direct scalars.
  • V: volume rendering.
  • I: opacity function inversion during volume rendering.
  • O: point sprites rendering.
  • P: translucency support.
  • Q: ambient occlusion.
  • A: anti-aliasing.
  • T: tone mapping.
  • E: the display of cell edges.
  • X: the trihedral axes display.
  • G: the horizontal grid display.
  • N: the display of the file name.
  • M: the display of the metadata if exists.
  • Z: the display of the FPS counter.
  • R: raytracing.
  • D: the denoiser when raytracing.
  • U: background blur, useful with an HDRI skybox.
  • K: trackball interaction mode.
  • F: HDRI ambient lighting.
  • J: the display of the HDRI skybox.
  • L: increase lights intensity.
  • Shift+L: decrease lights intensity.

Note that some hotkeys can be available or not depending on the file being loaded and the F3D configuration.

Camera Hotkeys:

  • 1: front view camera.
  • 3: right view camera.
  • 5: toggle orthographic projection.
  • 7: top view camera.
  • 9: isometric view camera.
  • Enter: reset the camera to its initial parameters.

Other hotkeys are available:

  • H: key to toggle the display of a cheat sheet showing all these hotkeys and their statuses.
  • ?: key to print scene description to the terminal.
  • Esc: close the window and quit F3D.
  • Space: play the animation if any.
  • : load the previous file if any and reset the camera.
  • : load the next file if any and reset the camera.
  • : reload the current file.
  • : add current file parent directory to the list of files, reload the current file and reset the camera.
  • F12: take a screenshot, ie. render the current view to an image file.
  • F11: take a “minimal” screenshot, ie. render the current view with no grid and no overlays to an image file with a transparent background.

When loading another file or reloading, options that have been changed interactively are kept but can be overridden if a dedicated regular expression block in the configuration file is present, see the configuration file documentation for more info.

Cycling Coloring

When using the default scene, the following hotkeys let you cycle the coloring of the data:

  • C: cycle between point data and cell data - field data is not supported.
  • S: cycle the array available on the currently selected data in alphabetical order, skipping array not containing numeric data. It will loop back to not coloring unless using volume rendering.
  • Y: cycle the component available on the currently selected array, looping to -2 for direct scalars rendering.

When changing the array, the component in use will be kept if valid with the new array, if not it will be cycled until a valid component is found. When changing the type of data to color with, the index of the array within the data will be kept if valid with the new data. If not, it will cycle until a valid array is found. After that, the component will be checked as specified above.

Taking Screenshots

The destination filename used to save the screenshots (created by pressing F12 or F11) is configurable (using the screenshot-filename option) and can use template variables as described on the options page.

Unless the configured filename template is an absolute path, images will be saved into the user’s home directory (using the following environment variables, if defined and pointing to an existing directory, in that order: XDG_PICTURES_DIR, HOME, or USERPROFILE).

+ Interactions | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Interactions

Mouse Interactions

Simple interaction with the displayed data is possible directly within the window. It is as follows:

  • Click and drag with the left mouse button to rotate around the focal point of the camera.
  • Hold Shift then Click and drag horizontally with the right mouse button to rotate the HDRI.
  • Click and drag vertically with the right mouse button to zoom in/out.
  • Move the mouse wheel to zoom in/out.
  • Hold Ctrl, then Click and drag vertically with the right mouse button to zoom in/out to mouse position.
  • Hold Ctrl, then Move the mouse wheel to zoom in/out to mouse position.
  • Click and drag with the middle mouse button to translate the camera.
  • Click with the middle mouse button to center the camera on the point under the cursor (hold Shift to allow forward or backward movement).
  • Drag and drop a file, directory or HDRI into the F3D window to load it. F3D relies on the extension (.hdr or .exr) to detect if the dropped file is an HDRI.

Note: When playing an animation with a scene camera, camera interactions are locked.

Hotkeys

The coloring can be controlled directly by pressing the following hotkeys:

  • C: cycle between coloring with array from point data and from cell data.
  • S: cycle the array to color with.
  • Y: cycle the component of the array to color with.

See the coloring cycle section for more info.

Other options can be toggled directly by pressing the following hotkeys:

  • W: cycle animations.
  • B: display of the scalar bar, only when coloring and not using direct scalars.
  • V: volume rendering.
  • I: opacity function inversion during volume rendering.
  • O: point sprites rendering.
  • P: translucency support.
  • Q: ambient occlusion.
  • A: anti-aliasing.
  • T: tone mapping.
  • E: the display of cell edges.
  • X: the trihedral axes display.
  • G: the horizontal grid display.
  • N: the display of the file name.
  • M: the display of the metadata if exists.
  • Z: the display of the FPS counter.
  • R: raytracing.
  • D: the denoiser when raytracing.
  • U: background blur, useful with an HDRI skybox.
  • K: trackball interaction mode.
  • F: HDRI ambient lighting.
  • J: the display of the HDRI skybox.
  • L: increase lights intensity.
  • Shift+L: decrease lights intensity.

Note that some hotkeys can be available or not depending on the file being loaded and the F3D configuration.

Camera Hotkeys:

  • 1: front view camera.
  • 3: right view camera.
  • 5: toggle orthographic projection.
  • 7: top view camera.
  • 9: isometric view camera.
  • Enter: reset the camera to its initial parameters.

Other hotkeys are available:

  • H: key to toggle the display of a cheat sheet showing all these hotkeys and their statuses.
  • ?: key to print scene description to the terminal.
  • Esc: close the window and quit F3D.
  • Space: play the animation if any.
  • : load the previous file if any and reset the camera.
  • : load the next file if any and reset the camera.
  • : reload the current file.
  • : add current file parent directory to the list of files, reload the current file and reset the camera.
  • F12: take a screenshot, ie. render the current view to an image file.
  • F11: take a “minimal” screenshot, ie. render the current view with no grid and no overlays to an image file with a transparent background.

When loading another file or reloading, options that have been changed interactively are kept but can be overridden if a dedicated regular expression block in the configuration file is present, see the configuration file documentation for more info.

Cycling Coloring

When using the default scene, the following hotkeys let you cycle the coloring of the data:

  • C: cycle between point data and cell data - field data is not supported.
  • S: cycle the array available on the currently selected data in alphabetical order, skipping array not containing numeric data. It will loop back to not coloring unless using volume rendering.
  • Y: cycle the component available on the currently selected array, looping to -2 for direct scalars rendering.

When changing the array, the component in use will be kept if valid with the new array, if not it will be cycled until a valid component is found. When changing the type of data to color with, the index of the array within the data will be kept if valid with the new data. If not, it will cycle until a valid array is found. After that, the component will be checked as specified above.

Taking Screenshots

The destination filename used to save the screenshots (created by pressing F12 or F11) is configurable (using the screenshot-filename option) and can use template variables as described on the options page.

Unless the configured filename template is an absolute path, images will be saved into the user’s home directory (using the following environment variables, if defined and pointing to an existing directory, in that order: XDG_PICTURES_DIR, HOME, or USERPROFILE).

diff --git a/doc/user/LIMITATIONS_AND_TROUBLESHOOTING.html b/doc/user/LIMITATIONS_AND_TROUBLESHOOTING.html index 0e89a4e84a..d3bdde1cb4 100644 --- a/doc/user/LIMITATIONS_AND_TROUBLESHOOTING.html +++ b/doc/user/LIMITATIONS_AND_TROUBLESHOOTING.html @@ -1,4 +1,4 @@ - Limitations and Troubleshooting | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Limitations

Here is a non exhaustive list of F3D limitations:

  • No support for specifying manual lighting in the default scene apart from using --light-intensity option.
  • Multiblock (.vtm, .gml) support is partial, non-surfacic data will be converted into surfaces.
  • Animation support with full scene data format require VTK >= 9.0.20201016.
  • Full drag and drop support require VTK >= 9.0.20210620
  • Drag and drop interaction cannot be recorded nor played back.
  • Volume rendering and HDRI support requires a decent GPU.
  • The --camera-zoom-factor option require VTK >= 9.3.0

Assimp

FBX, DAE, OFF, DXF, X and 3MF file formats rely on Assimp library. It comes with some known limitations:

  • PBR materials are not supported for FBX file format.
  • Complex animations are not working very well with Assimp 5.1, it’s recommended to use Assimp 5.0 for this use case.
  • Only one animation can be shown at a time, showing all animations is not supported yet.
  • Some files can be empty, crash, or show artifacts.
  • DXF support is very limited: only files with polylines and 3D faces are displayed.
  • 3MF files may crash at exit (issue in Assimp: https://github.com/assimp/assimp/issues/5328)
  • Only support RBGA 8-bits embedded textures

Alembic

ABC file formats rely on Alembic library. It comes with some known limitations:

  • Supports only simple polygonal geometry.
  • Does not support ArbGeomParam feature in Alembic.
  • Does not support Subdivision Meshes.
  • Does not support Materials.
  • Does not support Animations.

USD

USD file formats rely on OpenUSD library. It comes with some known limitations:

  • Skinning is slow and baked on the CPU.
  • Does not support Face-varying attributes.
  • The usd plugin is not shipped in the python wheels yet.

VDB

VDB file formats rely on OpenVDB and VTK libraries. It currently comes with some known limitations:

  • VDB Grid files are opened with a hard-coded 0.1 sampling rate.
  • The vdb plugin is not shipped in the python wheels yet.

Gaussian splatting

Gaussian splatting (option --point-type=gaussian) needs depth sorting which is done internally using a compute shader. This requires support for OpenGL 4.3 which is not supported by macOS and old GPUs/drivers.

Troubleshooting

General

I have built F3D with raytracing support but the denoiser is not working.

Make sure that VTK has been built with OpenImageDenoise support (VTKOSPRAY_ENABLE_DENOISER option).

My model shows up all wrong, with inverted surfaces everywhere.

Your data probably contains some translucent data for some reason, turn on translucency support by pressing P or using the -p command line option.

Linux

I have a link error related to stdc++fs not found.

With some C++ STD library version, explicit linking to stdc++fs is not supported. We provide a CMake option F3D_LINUX_APPLICATION_LINK_FILESYSTEM that you can set to OFF to workaround this issue.

I have a link error related to undefined reference to symbol of libatomic.

The GCC flag -latomic is not being added automatically with specific architectures, like armel and RISCV64. We provide a CMake option F3D_LINUX_LIBRARY_LINK_ATOMIC that you can set to ON to workaround this issue.

Thumbnails are not working in my file manager.

  • Check that your file manager supports the thumbnailer mechanism.
  • Check that you have updated your mime type database.
  • If all fails, remove your .cache user dir and check that pcmanfm thumbnails are working.
  • If they are working, then it is an issue specific to your file manager (see below for a potential work around).
  • If only a few format have working thumbnails, then it is an issue with the mime types database.
  • If no formats have working thumbnails, then it is an issue with the f3d-plugin-xxx.thumbnailer files.
  • If only big file do not have thumbnails, this is intended, you can modify this behavior in the thumbnail.d/10_global.json configuration folder using the max-size option.

Some file managers (eg: Nautilus) are using sandboxing for thumbnails, which the F3D standard binary release does not support as it needs access to the Xorg server to render anything. In that case, you want to use the headless version of F3D that rely on EGL instead of Xorg, available in the releases page. If you use the portable archive, make sure to extract it somewhere the sandboxing system has access to, eg: Nautilus uses bwrap and gives it access to /usr but not to /opt.

Windows

Using the portable binary release, I’m unable to run F3D because Windows warns about a security risk

F3D is not signed by Microsoft yet so Windows shows this warning. Just click on the “more” button to be able to run F3D.

After installing F3D or registering the shell extension, my explorer is broken.

Unregister the shell extension by running:

cd C:\path\to\f3d\bin\
+              Limitations and Troubleshooting | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

Limitations

Here is a non exhaustive list of F3D limitations:

  • No support for specifying manual lighting in the default scene apart from using --light-intensity option.
  • Multiblock (.vtm, .gml) support is partial, non-surfacic data will be converted into surfaces.
  • Animation support with full scene data format require VTK >= 9.0.20201016.
  • Full drag and drop support require VTK >= 9.0.20210620
  • Drag and drop interaction cannot be recorded nor played back.
  • Volume rendering and HDRI support requires a decent GPU.
  • The --camera-zoom-factor option require VTK >= 9.3.0

Assimp

FBX, DAE, OFF, DXF, X and 3MF file formats rely on Assimp library. It comes with some known limitations:

  • PBR materials are not supported for FBX file format.
  • Complex animations are not working very well with Assimp 5.1, it’s recommended to use Assimp 5.0 for this use case.
  • Only one animation can be shown at a time, showing all animations is not supported yet.
  • Some files can be empty, crash, or show artifacts.
  • DXF support is very limited: only files with polylines and 3D faces are displayed.
  • 3MF files may crash at exit (issue in Assimp: https://github.com/assimp/assimp/issues/5328)
  • Only support RBGA 8-bits embedded textures

Alembic

ABC file formats rely on Alembic library. It comes with some known limitations:

  • Supports only simple polygonal geometry.
  • Does not support ArbGeomParam feature in Alembic.
  • Does not support Subdivision Meshes.
  • Does not support Materials.
  • Does not support Animations.

USD

USD file formats rely on OpenUSD library. It comes with some known limitations:

  • Skinning is slow and baked on the CPU.
  • Does not support Face-varying attributes.
  • The usd plugin is not shipped in the python wheels yet.

VDB

VDB file formats rely on OpenVDB and VTK libraries. It currently comes with some known limitations:

  • VDB Grid files are opened with a hard-coded 0.1 sampling rate.
  • The vdb plugin is not shipped in the python wheels yet.

Gaussian splatting

Gaussian splatting (option --point-type=gaussian) needs depth sorting which is done internally using a compute shader. This requires support for OpenGL 4.3 which is not supported by macOS and old GPUs/drivers.

Troubleshooting

General

I have built F3D with raytracing support but the denoiser is not working.

Make sure that VTK has been built with OpenImageDenoise support (VTKOSPRAY_ENABLE_DENOISER option).

My model shows up all wrong, with inverted surfaces everywhere.

Your data probably contains some translucent data for some reason, turn on translucency support by pressing P or using the -p command line option.

Linux

I have a link error related to stdc++fs not found.

With some C++ STD library version, explicit linking to stdc++fs is not supported. We provide a CMake option F3D_LINUX_APPLICATION_LINK_FILESYSTEM that you can set to OFF to workaround this issue.

I have a link error related to undefined reference to symbol of libatomic.

The GCC flag -latomic is not being added automatically with specific architectures, like armel and RISCV64. We provide a CMake option F3D_LINUX_LIBRARY_LINK_ATOMIC that you can set to ON to workaround this issue.

Thumbnails are not working in my file manager.

  • Check that your file manager supports the thumbnailer mechanism.
  • Check that you have updated your mime type database.
  • If all fails, remove your .cache user dir and check that pcmanfm thumbnails are working.
  • If they are working, then it is an issue specific to your file manager (see below for a potential work around).
  • If only a few format have working thumbnails, then it is an issue with the mime types database.
  • If no formats have working thumbnails, then it is an issue with the f3d-plugin-xxx.thumbnailer files.
  • If only big file do not have thumbnails, this is intended, you can modify this behavior in the thumbnail.d/10_global.json configuration folder using the max-size option.

Some file managers (eg: Nautilus) are using sandboxing for thumbnails, which the F3D standard binary release does not support as it needs access to the Xorg server to render anything. In that case, you want to use the headless version of F3D that rely on EGL instead of Xorg, available in the releases page. If you use the portable archive, make sure to extract it somewhere the sandboxing system has access to, eg: Nautilus uses bwrap and gives it access to /usr but not to /opt.

Windows

Using the portable binary release, I’m unable to run F3D because Windows warns about a security risk

F3D is not signed by Microsoft yet so Windows shows this warning. Just click on the “more” button to be able to run F3D.

After installing F3D or registering the shell extension, my explorer is broken.

Unregister the shell extension by running:

cd C:\path\to\f3d\bin\
 regsvr32 /u F3DShellExtension.dll
 

I use F3D in a VM, the application fails to launch.

OpenGL applications like F3D can have issues when launched from Windows Server or from a guest Windows because the access to the GPU is restricted. You can try to use a software implementation of OpenGL, called Mesa.

  • Download the latest release-msvc.
  • copy x64/opengl32.dll, libgallium_wgl.dll and x64/libglapi.dll in the same folder as f3d.exe.
  • set the environment variable MESA_GL_VERSION_OVERRIDE to 4.5.
  • run f3d.exe.

I run f3d from the command prompt and my Unicode characters are not displayed properly.

Set the codepage to UTF-8, run chcp 65001.

When I install F3D, I can’t add F3D to the path and the installer complains that: PATH too long installer unable to modify PATH!.

There are too many entry in your PATH environment variable, remove the ones you do not use.

When I try to update F3D, the installer fails with: Error opening file for writing: F3DShellExtension.dll

Your previous F3D installation is current being used to generate thumbnails, wait for a bit or reboot your computer before updating again.

macOS

I’m unable to use the binary release, macOS complains the file is invalid or corrupted

Our macOS binary package are not signed, to work around this, you can simply run the following command:

xattr -cr /Applications/F3D.app
 

Then F3D should work as expected.

Python

I can’t find usd and vdb plugins after installing f3d with pip

The usd and vdb plugins are not shipped in the python wheels for now, you can compile F3D yourself with them though.

Raytracing does not work after installing f3d with pip

F3D raytracing feature is not shipped in the python wheels for now, you can compile F3D yourself with it though.

diff --git a/doc/user/OPTIONS.html b/doc/user/OPTIONS.html index 53d352634b..4c62dae71a 100644 --- a/doc/user/OPTIONS.html +++ b/doc/user/OPTIONS.html @@ -1 +1 @@ - Options | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Command line options

F3D behavior can be fully controlled from the command line using the following options.

Application Options

Options Default Description
--output=<png file>   Instead of showing a render view and render into it, render directly into a png file. When used with --ref option, only outputs on failure. If - is specified instead of a filename, the PNG file is streamed to the stdout. Can use template variables.
--no-background   Use with --output to output a png file with a transparent background.
-h, --help   Print help and exit. Ignore --verbose.
--version   Show version information and exit. Ignore --verbose.
--readers-list   List available readers and exit. Ignore --verbose.
--config=<config file path/name/stem> config Specify the configuration file to use. Supports absolute/relative path but also filename/filestem to search for in standard configuration file locations.
--dry-run   Do not read any configuration file and consider only the command line options.
--no-render   Do not render anything and quit just after loading the first file, use with --verbose to recover information about a file.
--max-size=<size in MiB> -1 Prevent F3D to load a file bigger than the provided size in Mib, negative value means unlimited, useful for thumbnails.
--watch   Watch current file and automatically reload it whenever it is modified on disk.
--load-plugins=<paths or names>   List of plugins to load separated with a comma. Official plugins are alembic, assimp, draco, exodus, occt, usd, vdb. See usage for more info.
--scan-plugins   Scan standard directories for plugins and display their names, results may be incomplete. See usage for more info.
--screenshot-filename=<png file> {app}/{model}_{n}.png Filename to save screenshots to. Can use template variables.

General Options

Options Default Description
--verbose=<[debug|info|warning|error|quiet]> info Set verbose level, in order to provide more information about the loaded data in the console output. If no level is provided, assume debug. Option parsing may ignore this flag.
--progress   Show a progress bar when loading the file.
--animation-progress   Show a progress bar when playing the animation.
--geometry-only   For certain full scene file formats (gltf/glb and obj),
reads only the geometry from the file and use default scene construction instead.
--group-geometries   When opening multiple files, show them all in the same scene.
Force geometry-only. The configuration file for the first file will be loaded.
--up=<[+|-][X|Y|Z]> +Y Define the Up direction.
-x, --axis   Show axes as a trihedron in the scene.
-g, --grid   Show a grid aligned with the horizontal (orthogonal to the Up direction) plane.
--grid-unit=<length>   Set the size of the unit square for the grid. If set to non-positive (the default) a suitable value will be automatically computed.
--grid-subdivisions=<count>   Set the number of subdivisions for the grid.
--grid-color=<color> (0,0,0) Set the color grid lines.
-e, --edges   Show the cell edges.
--camera-index=<idx> -1 Select the scene camera to use when available in the file.
Any negative value means automatic camera.
The default scene always uses automatic camera.
-k, --trackball   Enable trackball interaction.
--animation-autoplay   Automatically start animation.
--animation-index=<idx> 0 Select the animation to show.
Any negative value means all animations (glTF only).
The default scene always has at most one animation.
--animation-speed-factor=<factor> 1 Set the animation speed factor to slow, speed up or even invert animation time.
--animation-frame-rate=<factor> 60 Set the animation frame rate used when playing animation interactively.
--font-file=<font file>   Use the provided FreeType compatible font file to display text.
Can be useful to display non-ASCII filenames.

Material options

Options Default Description  
-o, --point-sprites   Show sphere points sprites instead of the geometry.  
--point-size=<size> 10.0 Set the size of points when showing vertices and point sprites.  
--point-type=<sphere gaussian> sphere Set the splat type when showing point sprites.
--line-width=<size> 1.0 Set the width of lines when showing edges.  
--color=<R,G,B> 1.0, 1.0, 1.0 Set a color on the geometry. Multiplied with the base color texture when present.
Requires a default scene.
 
--opacity=<opacity> 1.0 Set opacity on the geometry. Multiplied with the base color texture when present.
Requires a default scene. Usually used with Depth Peeling option.
 
--roughness=<roughness> 0.3 Set the roughness coefficient on the geometry (0.0-1.0). Multiplied with the material texture when present.
Requires a default scene.
 
--metallic=<metallic> 0.0 Set the metallic coefficient on the geometry (0.0-1.0). Multiplied with the material texture when present.
Requires a default scene.
 
--hdri-file=<HDRI file>   Set the HDRI image that can be used as ambient lighting and skybox.
Valid file format are hdr, exr, png, jpg, pnm, tiff, bmp.
If not set, a default is provided.
 
--hdri-ambient   Light the scene using the HDRI image as ambient lighting.
The environment act as a light source and is reflected on the material.
 
--texture-matcap=<texture file>   Set the texture file to control the material capture of the object. All other model options for surfaces are ignored if this is set. Must be in linear color space.  
--texture-base-color=<texture file>   Set the texture file to control the color of the object. Please note this will be multiplied with the color and opacity options. Must be in sRGB color space.  
--texture-material=<texture file>   Set the texture file to control the occlusion, roughness and metallic values of the object. Please note this will be multiplied with the roughness and metallic options, which have impactful default values. To obtain true results, use --roughness=1 --metallic=1. Must be in linear color space.  
--texture-emissive=<texture file>   Set the texture file to control the emitted light of the object. Please note this will be multiplied with the emissive factor. Must be in sRGB color space.  
--emissive-factor=<R,G,B> 1.0, 1.0, 1.0 Set the emissive factor. This value is multiplied with the emissive color when an emissive texture is present.  

Window options

Options Default Description
--bg-color=<R,G,B> 0.2, 0.2, 0.2 Set the window background color.
Ignored if hdri is set.
--resolution=<width,height> 1000, 600 Set the window resolution.
--position=<x,y>   Set the window position (top left corner) , in pixels, starting from the top left of your screens.
-z, --fps   Display a frame per second counter.
-n, --filename   Display the name of the file on top of the window.
-m, --metadata   Display the metadata.
Empty without a default scene.
--hdri-skybox   Show the HDRI as a skybox. Overrides --bg-color and --no-background.
-u, --blur-background   Blur background.
Useful with a HDRI skybox.
--blur-coc 20 Blur circle of confusion radius.
--light-intensity 1.0 Adjust the intensity of every light in the scene.

Scientific visualization options

Options Default Description
-s, --scalars=<array_name>   Specify an array to Color with if present in the file. If no array_name is provided, the first in alphabetical order will be picked if any are available.
Requires a default scene.
Use --verbose to recover the usable array names.
-y, --comp=<comp_index> -1 Specify the component from the scalar array to color with.
Use with the scalar option. -1 means magnitude. -2 or the short option, -y, means direct values.
When using direct values, components are used as L, LA, RGB, RGBA values depending on the number of components.
-c, --cells   Specify that the scalar array is to be found on the cells instead of on the points.
Use with the scalar option.
--range=<min,max>   Set a custom range for the coloring by the array.
Use with the scalar option.
-b, --bar   Show scalar bar of the coloring by array.
Use with the scalar option.
--colormap-file=<name>   Set a colormap file for the coloring.
See color maps.
Use with the scalar option.
--colormap=<color_list>   Set a custom colormap for the coloring.
This is a list of colors in the format val1,red1,green1,blue1,...,valN,redN,greenN,blueN
where all values are in the range (0,1).
Ignored if --colormap-file option is specified.
Use with the scalar option.
-v, --volume   Enable volume rendering. It is only available for 3D image data (vti, dcm, nrrd, mhd files) and will display nothing with other formats.
-i, --inverse   Inverse the linear opacity function used for volume rendering.

Camera configuration options

Options Default Description
--camera-position=<X,Y,Z>   Set the camera position, overrides –camera-direction and camera-zoom-factor.
--camera-focal-point=<X,Y,Z>   Set the camera focal point.
--camera-view-up=<X,Y,Z>   Set the camera view up vector. Will be orthogonalized.
--camera-view-angle=<angle>   Set the camera view angle, a strictly positive value in degrees.
--camera-direction=<X,Y,Z>   Set the camera direction, looking at the focal point.
--camera-zoom-factor=<factor>   Set the camera zoom factor relative to the autozoom on data, a strictly positive value.
--camera-azimuth-angle=<angle> 0.0 Apply an azimuth transformation to the camera, in degrees, added after other camera options.
--camera-elevation-angle=<angle> 0.0 Apply an elevation transformation to the camera, in degrees, added after other camera options.
--camera-orthographic   Set the camera to use the orthographic projection.

Raytracing options

Options Default Description
-r, --raytracing   Enable OSPRay raytracing. Requires OSPRay raytracing to be enabled in the linked VTK dependency.
--samples=<samples> 5 Set the number of samples per pixel when using raytracing.
-d, --denoise   Denoise the image when using raytracing.

PostFX (OpenGL) options

Options Description
-p, --translucency-support Enable translucency support. This is a technique used to correctly render translucent objects.
-q, --ambient-occlusion Enable ambient occlusion. This is a technique used to improve the depth perception of the object.
-a, --anti-aliasing Enable anti-aliasing. This technique is used to reduce aliasing.
-t, --tone-mapping Enable generic filmic Tone Mapping Pass. This technique is used to map colors properly to the monitor colors.
--final-shader Add a final shader to the output image. See dedicated documentation for more details.

Testing options

Options Default Description
--ref=<png file>   Render and compare with the provided reference image, for testing purposes. Use with output option to generate new baselines and diff images.
--ref-threshold=<threshold> 50 Set the comparison threshold to trigger a test failure or success. The default (50) correspond to almost visually identical images.
--interaction-test-record=<log file>   Path to an interaction log file to record interaction events to.
--interaction-test-play=<log file>   Path to an interaction log file to play interactions events from when loading a file.

Rendering options precedence

Some rendering options are not compatible between them, here is the precedence order if several are provided:

  • Raytracing (-r)
  • Volume (-v)
  • Point Sprites (-o)

Options syntax

The --options=value syntax is used everywhere in this documentation, however, the syntax --options value can also be used, with the exception of options that have implicit values, --verbose, --comp and --scalars.

Filename templating

The destination filename used by --output or to save screenshots can use the following template variables:

  • {app}: application name (ie. F3D)
  • {version}: application version (eg. 2.4.0)
  • {version_full}: full application version (eg. 2.4.0-abcdefgh)
  • {model}: current model filename without extension (eg. foo for /home/user/foo.glb)
  • {model.ext}: current model filename with extension (eg. foo.glb for /home/user/foo.glb)
  • {model_ext}: current model filename extension (eg. glb for /home/user/foo.glb)
  • {date}: current date in YYYYMMDD format
  • {date:format}: current date as per C++’s std::put_time format
  • {n}: auto-incremented number to make filename unique (up to 1000000)
  • {n:2}, {n:3}, …: zero-padded auto-incremented number to make filename unique (up to 1000000)
  • variable names can be escaped by doubling the braces (eg. use {{model}}.png to output {model}.png without the model name being substituted)

For example the screenshot filename is configured as {app}/{model}_{n}.png by default, meaning that, assuming the model hello.glb is being viewed, consecutive screenshots are going to be saved as F3D/hello_1.png, F3D/hello_2.png, F3D/hello_3.png, …

+ Options | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Command line options

F3D behavior can be fully controlled from the command line using the following options.

Application Options

Options Default Description
--output=<png file>   Instead of showing a render view and render into it, render directly into a png file. When used with --ref option, only outputs on failure. If - is specified instead of a filename, the PNG file is streamed to the stdout. Can use template variables.
--no-background   Use with --output to output a png file with a transparent background.
-h, --help   Print help and exit. Ignore --verbose.
--version   Show version information and exit. Ignore --verbose.
--readers-list   List available readers and exit. Ignore --verbose.
--config=<config file path/name/stem> config Specify the configuration file to use. Supports absolute/relative path but also filename/filestem to search for in standard configuration file locations.
--dry-run   Do not read any configuration file and consider only the command line options.
--no-render   Do not render anything and quit just after loading the first file, use with --verbose to recover information about a file.
--max-size=<size in MiB> -1 Prevent F3D to load a file bigger than the provided size in Mib, negative value means unlimited, useful for thumbnails.
--watch   Watch current file and automatically reload it whenever it is modified on disk.
--load-plugins=<paths or names>   List of plugins to load separated with a comma. Official plugins are alembic, assimp, draco, exodus, occt, usd, vdb. See usage for more info.
--scan-plugins   Scan standard directories for plugins and display their names, results may be incomplete. See usage for more info.
--screenshot-filename=<png file> {app}/{model}_{n}.png Filename to save screenshots to. Can use template variables.

General Options

Options Default Description
--verbose=<[debug|info|warning|error|quiet]> info Set verbose level, in order to provide more information about the loaded data in the console output. If no level is provided, assume debug. Option parsing may ignore this flag.
--progress   Show a progress bar when loading the file.
--animation-progress   Show a progress bar when playing the animation.
--geometry-only   For certain full scene file formats (gltf/glb and obj),
reads only the geometry from the file and use default scene construction instead.
--group-geometries   When opening multiple files, show them all in the same scene.
Force geometry-only. The configuration file for the first file will be loaded.
--up=<[+|-][X|Y|Z]> +Y Define the Up direction.
-x, --axis   Show axes as a trihedron in the scene.
-g, --grid   Show a grid aligned with the horizontal (orthogonal to the Up direction) plane.
--grid-unit=<length>   Set the size of the unit square for the grid. If set to non-positive (the default) a suitable value will be automatically computed.
--grid-subdivisions=<count>   Set the number of subdivisions for the grid.
--grid-color=<color> (0,0,0) Set the color grid lines.
-e, --edges   Show the cell edges.
--camera-index=<idx> -1 Select the scene camera to use when available in the file.
Any negative value means automatic camera.
The default scene always uses automatic camera.
-k, --trackball   Enable trackball interaction.
--animation-autoplay   Automatically start animation.
--animation-index=<idx> 0 Select the animation to show.
Any negative value means all animations (glTF only).
The default scene always has at most one animation.
--animation-speed-factor=<factor> 1 Set the animation speed factor to slow, speed up or even invert animation time.
--animation-frame-rate=<factor> 60 Set the animation frame rate used when playing animation interactively.
--font-file=<font file>   Use the provided FreeType compatible font file to display text.
Can be useful to display non-ASCII filenames.

Material options

Options Default Description  
-o, --point-sprites   Show sphere points sprites instead of the geometry.  
--point-size=<size> 10.0 Set the size of points when showing vertices and point sprites.  
--point-type=<sphere gaussian> sphere Set the splat type when showing point sprites.
--line-width=<size> 1.0 Set the width of lines when showing edges.  
--color=<R,G,B> 1.0, 1.0, 1.0 Set a color on the geometry. Multiplied with the base color texture when present.
Requires a default scene.
 
--opacity=<opacity> 1.0 Set opacity on the geometry. Multiplied with the base color texture when present.
Requires a default scene. Usually used with Depth Peeling option.
 
--roughness=<roughness> 0.3 Set the roughness coefficient on the geometry (0.0-1.0). Multiplied with the material texture when present.
Requires a default scene.
 
--metallic=<metallic> 0.0 Set the metallic coefficient on the geometry (0.0-1.0). Multiplied with the material texture when present.
Requires a default scene.
 
--hdri-file=<HDRI file>   Set the HDRI image that can be used as ambient lighting and skybox.
Valid file format are hdr, exr, png, jpg, pnm, tiff, bmp.
If not set, a default is provided.
 
--hdri-ambient   Light the scene using the HDRI image as ambient lighting.
The environment act as a light source and is reflected on the material.
 
--texture-matcap=<texture file>   Set the texture file to control the material capture of the object. All other model options for surfaces are ignored if this is set. Must be in linear color space.  
--texture-base-color=<texture file>   Set the texture file to control the color of the object. Please note this will be multiplied with the color and opacity options. Must be in sRGB color space.  
--texture-material=<texture file>   Set the texture file to control the occlusion, roughness and metallic values of the object. Please note this will be multiplied with the roughness and metallic options, which have impactful default values. To obtain true results, use --roughness=1 --metallic=1. Must be in linear color space.  
--texture-emissive=<texture file>   Set the texture file to control the emitted light of the object. Please note this will be multiplied with the emissive factor. Must be in sRGB color space.  
--emissive-factor=<R,G,B> 1.0, 1.0, 1.0 Set the emissive factor. This value is multiplied with the emissive color when an emissive texture is present.  

Window options

Options Default Description
--bg-color=<R,G,B> 0.2, 0.2, 0.2 Set the window background color.
Ignored if hdri is set.
--resolution=<width,height> 1000, 600 Set the window resolution.
--position=<x,y>   Set the window position (top left corner) , in pixels, starting from the top left of your screens.
-z, --fps   Display a frame per second counter.
-n, --filename   Display the name of the file on top of the window.
-m, --metadata   Display the metadata.
Empty without a default scene.
--hdri-skybox   Show the HDRI as a skybox. Overrides --bg-color and --no-background.
-u, --blur-background   Blur background.
Useful with a HDRI skybox.
--blur-coc 20 Blur circle of confusion radius.
--light-intensity 1.0 Adjust the intensity of every light in the scene.

Scientific visualization options

Options Default Description
-s, --scalars=<array_name>   Specify an array to Color with if present in the file. If no array_name is provided, the first in alphabetical order will be picked if any are available.
Requires a default scene.
Use --verbose to recover the usable array names.
-y, --comp=<comp_index> -1 Specify the component from the scalar array to color with.
Use with the scalar option. -1 means magnitude. -2 or the short option, -y, means direct values.
When using direct values, components are used as L, LA, RGB, RGBA values depending on the number of components.
-c, --cells   Specify that the scalar array is to be found on the cells instead of on the points.
Use with the scalar option.
--range=<min,max>   Set a custom range for the coloring by the array.
Use with the scalar option.
-b, --bar   Show scalar bar of the coloring by array.
Use with the scalar option.
--colormap-file=<name>   Set a colormap file for the coloring.
See color maps.
Use with the scalar option.
--colormap=<color_list>   Set a custom colormap for the coloring.
This is a list of colors in the format val1,red1,green1,blue1,...,valN,redN,greenN,blueN
where all values are in the range (0,1).
Ignored if --colormap-file option is specified.
Use with the scalar option.
-v, --volume   Enable volume rendering. It is only available for 3D image data (vti, dcm, nrrd, mhd files) and will display nothing with other formats.
-i, --inverse   Inverse the linear opacity function used for volume rendering.

Camera configuration options

Options Default Description
--camera-position=<X,Y,Z>   Set the camera position, overrides –camera-direction and camera-zoom-factor.
--camera-focal-point=<X,Y,Z>   Set the camera focal point.
--camera-view-up=<X,Y,Z>   Set the camera view up vector. Will be orthogonalized.
--camera-view-angle=<angle>   Set the camera view angle, a strictly positive value in degrees.
--camera-direction=<X,Y,Z>   Set the camera direction, looking at the focal point.
--camera-zoom-factor=<factor>   Set the camera zoom factor relative to the autozoom on data, a strictly positive value.
--camera-azimuth-angle=<angle> 0.0 Apply an azimuth transformation to the camera, in degrees, added after other camera options.
--camera-elevation-angle=<angle> 0.0 Apply an elevation transformation to the camera, in degrees, added after other camera options.
--camera-orthographic   Set the camera to use the orthographic projection.

Raytracing options

Options Default Description
-r, --raytracing   Enable OSPRay raytracing. Requires OSPRay raytracing to be enabled in the linked VTK dependency.
--samples=<samples> 5 Set the number of samples per pixel when using raytracing.
-d, --denoise   Denoise the image when using raytracing.

PostFX (OpenGL) options

Options Description
-p, --translucency-support Enable translucency support. This is a technique used to correctly render translucent objects.
-q, --ambient-occlusion Enable ambient occlusion. This is a technique used to improve the depth perception of the object.
-a, --anti-aliasing Enable anti-aliasing. This technique is used to reduce aliasing.
-t, --tone-mapping Enable generic filmic Tone Mapping Pass. This technique is used to map colors properly to the monitor colors.
--final-shader Add a final shader to the output image. See dedicated documentation for more details.

Testing options

Options Default Description
--ref=<png file>   Render and compare with the provided reference image, for testing purposes. Use with output option to generate new baselines and diff images.
--ref-threshold=<threshold> 50 Set the comparison threshold to trigger a test failure or success. The default (50) correspond to almost visually identical images.
--interaction-test-record=<log file>   Path to an interaction log file to record interaction events to.
--interaction-test-play=<log file>   Path to an interaction log file to play interactions events from when loading a file.

Rendering options precedence

Some rendering options are not compatible between them, here is the precedence order if several are provided:

  • Raytracing (-r)
  • Volume (-v)
  • Point Sprites (-o)

Options syntax

The --options=value syntax is used everywhere in this documentation, however, the syntax --options value can also be used, with the exception of options that have implicit values, --verbose, --comp and --scalars.

Filename templating

The destination filename used by --output or to save screenshots can use the following template variables:

  • {app}: application name (ie. F3D)
  • {version}: application version (eg. 2.4.0)
  • {version_full}: full application version (eg. 2.4.0-abcdefgh)
  • {model}: current model filename without extension (eg. foo for /home/user/foo.glb)
  • {model.ext}: current model filename with extension (eg. foo.glb for /home/user/foo.glb)
  • {model_ext}: current model filename extension (eg. glb for /home/user/foo.glb)
  • {date}: current date in YYYYMMDD format
  • {date:format}: current date as per C++’s std::put_time format
  • {n}: auto-incremented number to make filename unique (up to 1000000)
  • {n:2}, {n:3}, …: zero-padded auto-incremented number to make filename unique (up to 1000000)
  • variable names can be escaped by doubling the braces (eg. use {{model}}.png to output {model}.png without the model name being substituted)

For example the screenshot filename is configured as {app}/{model}_{n}.png by default, meaning that, assuming the model hello.glb is being viewed, consecutive screenshots are going to be saved as F3D/hello_1.png, F3D/hello_2.png, F3D/hello_3.png, …

diff --git a/doc/user/README_USER.html b/doc/user/README_USER.html index 8d41df3f4d..bb8525f2cf 100644 --- a/doc/user/README_USER.html +++ b/doc/user/README_USER.html @@ -1 +1 @@ - User Documentation | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied + User Documentation | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied diff --git a/doc/user/USAGE.html b/doc/user/USAGE.html index 3c46ad85f9..252e39777c 100644 --- a/doc/user/USAGE.html +++ b/doc/user/USAGE.html @@ -1 +1 @@ - Usage | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Usage

Once F3D has been installed, you should be able to open any supported file, by either:

  • Using F3D automatically, from your file manager, by directly opening a file.
  • Running F3D and then dragging and dropping files into it to open them.
  • By running F3D from the terminal with a set of command-line options.
  • As a thumbnailer for all supported file formats with certain file managers.

Supported file formats

Here is the list of supported file formats:

  • .vtk : the legacy VTK format
  • .vt[p|u|r|i|s|m] : XML based VTK formats
  • .ply : Polygon File format
  • .stl : Standard Triangle Language format
  • .dcm : DICOM file format
  • .nrrd/.nhrd : “nearly raw raster data” file format
  • .mhd/.mha : MetaHeader MetaIO file format
  • .tif/.tiff : TIFF 2D/3D file format
  • .ex2/.e/.exo/.g : Exodus 2 file format
  • .gml : CityGML file format
  • .pts : Point Cloud file format
  • .step/.stp : CAD STEP exchange ISO format
  • .iges/.igs : CAD Initial Graphics Exchange Specification format
  • .brep : Open CASCADE BRep format
  • .abc : Alembic format
  • .vdb : VDB format (experimental)
  • .obj : Wavefront OBJ file format (full scene and default scene)
  • .gltf/.glb : GL Transmission Format (full scene and default scene)
  • .3ds : Autodesk 3D Studio file format (full scene)
  • .wrl : VRML file format (full scene)
  • .fbx : Autodesk Filmbox (full scene)
  • .dae : COLLADA (full scene)
  • .off : Object File Format (full scene)
  • .dxf : Drawing Exchange Format (full scene)
  • .x : DirectX Format (full scene)
  • .3mf : 3D Manufacturing Format (full scene)
  • .usd : Universal Scene Description (full scene)

Scene construction

The full scene formats (.gltf/.glb, .3ds, .wrl, .obj, .fbx, .dae, .off, .x, .3mf, .usd) contain not only geometry, but also some scene information like lights, cameras, actors in the scene, as well as texture properties. By default, all this information will be loaded from the file and displayed. Use the --geometry-only options to modify this behavior. For file formats that do not support it, a default scene is created.

Animations

F3D can play animations for a number of file formats (.ex2/.e/.exo/.g, .gltf/.glb, .fbx, .dae, .x, .usd) if the file contains an animation. It is possible to select the animation to play using --animation-index, or to play all animations at once using --animation-index=-1 (.gltf/.glb only). When F3D plays an animation, it assumes the time unit is in seconds to show accurate speed of animation. Use --animation-speed-factor if an adjustment is needed. By default, F3D will try update the scene 60 times per seconds, use --animation-frame-rate to change that if needed. Press “W” hotkey to cycle through available animations.

Plugins

If you installed F3D using a package manager, it’s possible that the packager chose to bundle the plugins in different packages or to list plugin dependencies as optional dependencies to reduce the reduce the number of dependencies of the main package. In this case, in order to open a file that requires a plugin, you will have to make sure all needed dependencies are installed and specify which plugin you want to load in order to be able to open this file. You can either use the --load-plugins option or add a line in the configuration file, if not already. Several plugins can be specified by giving a comma-separated list. Here is the list of plugins provided officially by F3D:

  • alembic: ABC support
  • assimp: FBX, DAE, OFF, DXF, X and 3MF support
  • draco: DRC support
  • exodus: EX2 support
  • occt: STEP and IGES support
  • usd: USD, USDA, UDSC and USDZ support
  • vdb: VDB support (experimental)

Note: If you downloaded the binaries from the Release page, it’s not necessary to specify manually the plugins above, all of them are loaded automatically.

Here is how the plugins are searched (by precedence order):

  1. Search the static plugins
  2. Consider the option given is a full path
  3. Search in the paths specified in F3D_PLUGINS_PATH environment variable
  4. Search in a directory relative to the F3D application: ../lib
  5. Rely on OS specific paths (e.g. LD_LIBRARY_PATH on Linux or DYLD_LIBRARY_PATH on macOS)

You can also try plugins maintained by the community. If you have created a plugin and would like it to be listed here, please submit a pull request.

  • Abaqus: ODB support by @YangShen398 (repository)
+ Usage | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Usage

Once F3D has been installed, you should be able to open any supported file, by either:

  • Using F3D automatically, from your file manager, by directly opening a file.
  • Running F3D and then dragging and dropping files into it to open them.
  • By running F3D from the terminal with a set of command-line options.
  • As a thumbnailer for all supported file formats with certain file managers.

Supported file formats

Here is the list of supported file formats:

  • .vtk : the legacy VTK format
  • .vt[p|u|r|i|s|m] : XML based VTK formats
  • .ply : Polygon File format
  • .stl : Standard Triangle Language format
  • .dcm : DICOM file format
  • .nrrd/.nhrd : “nearly raw raster data” file format
  • .mhd/.mha : MetaHeader MetaIO file format
  • .tif/.tiff : TIFF 2D/3D file format
  • .ex2/.e/.exo/.g : Exodus 2 file format
  • .gml : CityGML file format
  • .pts : Point Cloud file format
  • .step/.stp : CAD STEP exchange ISO format
  • .iges/.igs : CAD Initial Graphics Exchange Specification format
  • .brep : Open CASCADE BRep format
  • .abc : Alembic format
  • .vdb : VDB format (experimental)
  • .obj : Wavefront OBJ file format (full scene and default scene)
  • .gltf/.glb : GL Transmission Format (full scene and default scene)
  • .3ds : Autodesk 3D Studio file format (full scene)
  • .wrl : VRML file format (full scene)
  • .fbx : Autodesk Filmbox (full scene)
  • .dae : COLLADA (full scene)
  • .off : Object File Format (full scene)
  • .dxf : Drawing Exchange Format (full scene)
  • .x : DirectX Format (full scene)
  • .3mf : 3D Manufacturing Format (full scene)
  • .usd : Universal Scene Description (full scene)

Scene construction

The full scene formats (.gltf/.glb, .3ds, .wrl, .obj, .fbx, .dae, .off, .x, .3mf, .usd) contain not only geometry, but also some scene information like lights, cameras, actors in the scene, as well as texture properties. By default, all this information will be loaded from the file and displayed. Use the --geometry-only options to modify this behavior. For file formats that do not support it, a default scene is created.

Animations

F3D can play animations for a number of file formats (.ex2/.e/.exo/.g, .gltf/.glb, .fbx, .dae, .x, .usd) if the file contains an animation. It is possible to select the animation to play using --animation-index, or to play all animations at once using --animation-index=-1 (.gltf/.glb only). When F3D plays an animation, it assumes the time unit is in seconds to show accurate speed of animation. Use --animation-speed-factor if an adjustment is needed. By default, F3D will try update the scene 60 times per seconds, use --animation-frame-rate to change that if needed. Press “W” hotkey to cycle through available animations.

Plugins

If you installed F3D using a package manager, it’s possible that the packager chose to bundle the plugins in different packages or to list plugin dependencies as optional dependencies to reduce the reduce the number of dependencies of the main package. In this case, in order to open a file that requires a plugin, you will have to make sure all needed dependencies are installed and specify which plugin you want to load in order to be able to open this file. You can either use the --load-plugins option or add a line in the configuration file, if not already. Several plugins can be specified by giving a comma-separated list. Here is the list of plugins provided officially by F3D:

  • alembic: ABC support
  • assimp: FBX, DAE, OFF, DXF, X and 3MF support
  • draco: DRC support
  • exodus: EX2 support
  • occt: STEP and IGES support
  • usd: USD, USDA, UDSC and USDZ support
  • vdb: VDB support (experimental)

Note: If you downloaded the binaries from the Release page, it’s not necessary to specify manually the plugins above, all of them are loaded automatically.

Here is how the plugins are searched (by precedence order):

  1. Search the static plugins
  2. Consider the option given is a full path
  3. Search in the paths specified in F3D_PLUGINS_PATH environment variable
  4. Search in a directory relative to the F3D application: ../lib
  5. Rely on OS specific paths (e.g. LD_LIBRARY_PATH on Linux or DYLD_LIBRARY_PATH on macOS)

You can also try plugins maintained by the community. If you have created a plugin and would like it to be listed here, please submit a pull request.

  • Abaqus: ODB support by @YangShen398 (repository)
diff --git a/index.html b/index.html index 7cfc5d901f..3c4dedcc49 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - Home | F3D Skip to main content Link Menu Expand (external link) Document Search Copy Copied

CI Packaging codecov Downloads Sponsors Discord Contributor Covenant

F3D - Fast and minimalist 3D viewer

By Michael Migliore and Mathieu Westphal.

F3D (pronounced /fɛd/) is a fast and minimalist 3D viewer desktop application. It supports many file formats, from digital content to scientific datasets (including glTF, USD, STL, STEP, PLY, OBJ, FBX, Alembic), can show animations and support thumbnails and many rendering and texturing options including real time physically based rendering and raytracing.

It is fully controllable from the command line and support configuration files. It can provide thumbnails, support interactive hotkeys, drag&drop and integration into file managers.

F3D also contains the libf3d, a simple library to render meshes, with C++ and Python Bindings, as well as experimental Java and Javascript bindings.

A typical render by F3D

Animation of a glTF file within F3D

A direct scalars render by F3D

See the gallery for more images, take a look at the changelog or go to the install guide to download and install F3D!

You can even use F3D directly in your browser!

If you need any help or want to discuss with other F3D users and developers, head over to our discord.

Quickstart

Open a file and visualize it interactively:

f3d /path/to/file.ext
+              Home | F3D                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        

CI Packaging codecov Downloads Sponsors Discord Contributor Covenant

F3D - Fast and minimalist 3D viewer

By Michael Migliore and Mathieu Westphal.

F3D (pronounced /fɛd/) is a fast and minimalist 3D viewer desktop application. It supports many file formats, from digital content to scientific datasets (including glTF, USD, STL, STEP, PLY, OBJ, FBX, Alembic), can show animations and support thumbnails and many rendering and texturing options including real time physically based rendering and raytracing.

It is fully controllable from the command line and support configuration files. It can provide thumbnails, support interactive hotkeys, drag&drop and integration into file managers.

F3D also contains the libf3d, a simple library to render meshes, with C++ and Python Bindings, as well as experimental Java and Javascript bindings.

A typical render by F3D

Animation of a glTF file within F3D

A direct scalars render by F3D

See the gallery for more images, take a look at the changelog or go to the install guide to download and install F3D!

You can even use F3D directly in your browser!

If you need any help or want to discuss with other F3D users and developers, head over to our discord.

Quickstart

Open a file and visualize it interactively:

f3d /path/to/file.ext
 

Open a file and save the rendering into an image file:

f3d /path/to/file.ext --output=/path/to/img.png
 

Get help:

f3d --help
 man f3d # Linux only
diff --git a/resources/colormaps/licenses.html b/resources/colormaps/licenses.html
index ac507de23b..d04e61fe71 100644
--- a/resources/colormaps/licenses.html
+++ b/resources/colormaps/licenses.html
@@ -1 +1 @@
-              F3D | Fast and minimalist 3D viewer                      Skip to main content   Link      Menu      Expand       (external link)    Document      Search       Copy       Copied        
Name Author License
cividis Jamie Nunez BSD-3-Clause
cubehelix Dave Green BSD-2-Clause
gist_earth David Munro BSD-3-Clause
hot PSF
inferno Nathaniel J. Smith, Stefan van der Walt CC0
magma Nathaniel J. Smith, Stefan van der Walt CC0
plasma Nathaniel J. Smith, Stefan van der Walt CC0
seismic PSF
viridis Nathaniel J. Smith, Stefan van der Walt, Eric Firing CC0
+ F3D | Fast and minimalist 3D viewer Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Name Author License
cividis Jamie Nunez BSD-3-Clause
cubehelix Dave Green BSD-2-Clause
gist_earth David Munro BSD-3-Clause
hot PSF
inferno Nathaniel J. Smith, Stefan van der Walt CC0
magma Nathaniel J. Smith, Stefan van der Walt CC0
plasma Nathaniel J. Smith, Stefan van der Walt CC0
seismic PSF
viridis Nathaniel J. Smith, Stefan van der Walt, Eric Firing CC0