@charset "UTF-8";
html{
    box-sizing:border-box
}
*,:after,:before{
    box-sizing:inherit
}
html{
    -webkit-text-size-adjust:none;
    -moz-text-size-adjust:none;
    -ms-text-size-adjust:none;
    text-size-adjust:none
}
body{
    margin:0
}
hr{
    overflow:visible;
    box-sizing:content-box
}
a{
    -webkit-text-decoration-skip:objects
}
a,button,input,label{
    -webkit-tap-highlight-color:transparent
}
a{
    color:inherit;
    text-decoration:none
}
small,sub,sup{
    font-size:80%
}
sub,sup{
    position:relative;
    line-height:0;
    vertical-align:baseline
}
sub{
    bottom:-.25em
}
sup{
    top:-.5em
}
img{
    border-style:none
}
table{
    border-collapse:separate;
    border-spacing:0
}
td,th{
    font-weight:400;
    vertical-align:top
}
button{
    margin:0;
    padding:0;
    border:0;
    outline-style:none;
    background:transparent;
    font-size:inherit
}
input{
    border:0;
    outline:0
}
.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{
    font-family:Material Icons;
    font-style:normal;
    font-variant:normal;
    font-weight:400;
    line-height:1;
    text-transform:none;
    white-space:nowrap;
    speak:none;
    word-wrap:normal;
    direction:ltr
}
.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{
    display:inline-block;
    margin:.2rem;
    padding:.4rem;
    font-size:1.2rem;
    cursor:pointer
}
.md-icon--arrow-back:before{
    content:""
}
.md-icon--arrow-forward:before{
    content:""
}
.md-icon--menu:before{
    content:""
}
.md-icon--search:before{
    content:""
}
[dir=rtl] .md-icon--arrow-back:before{
    content:""
}
[dir=rtl] .md-icon--arrow-forward:before{
    content:""
}
body{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
body,input{
    color:rgba(0,0,0,.87);
    -webkit-font-feature-settings:"kern","liga";
    font-feature-settings:"kern","liga";
    font-family:"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
code,kbd,pre{
    color:rgba(0,0,0,.87);
    -webkit-font-feature-settings:"kern";
    font-feature-settings:"kern";
    font-family:"Roboto Mono", "Courier New", Courier, monospace;
}
.md-typeset{
    font-size:.8rem;
    line-height:1.6;
    -webkit-print-color-adjust:exact
}
.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{
    margin:1em 0
}
.md-typeset h1{
    margin:0 0 2rem;
    color:rgba(0,0,0,.54);
    font-size:1.5625rem;
    line-height:1.3
}
.md-typeset h1,.md-typeset h2{
    font-weight:300;
    letter-spacing:-.01em
}
.md-typeset h2{
    margin:2rem 0 .8rem;
    font-size:1.25rem;
    line-height:1.4
}
.md-typeset h3{
    margin:1.6rem 0 .8rem;
    font-size:1rem;
    font-weight:400;
    letter-spacing:-.01em;
    line-height:1.5
}
.md-typeset h2+h3{
    margin-top:.8rem
}
.md-typeset h4{
    font-size:.8rem
}
.md-typeset h4,.md-typeset h5,.md-typeset h6{
    margin:.8rem 0;
    font-weight:700;
    letter-spacing:-.01em
}
.md-typeset h5,.md-typeset h6{
    color:rgba(0,0,0,.54);
    font-size:.64rem
}
.md-typeset h5{
    text-transform:uppercase
}
.md-typeset hr{
    margin:1.5em 0;
    border-bottom:.05rem dotted rgba(0,0,0,.26)
}
.md-typeset a{
    color:#3f51b5;
    word-break:break-word
}
.md-typeset a,.md-typeset a:before{
    transition:color .125s
}
.md-typeset a:active,.md-typeset a:hover{
    color:#536dfe
}
.md-typeset code,.md-typeset pre{
    background-color:hsla(0,0%,92.5%,.5);
    color:#37474f;
    font-size:85%;
    direction:ltr
}
.md-typeset code{
    margin:0 .29412em;
    padding:.07353em 0;
    border-radius:.1rem;
    word-break:break-word;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone
}
/* TODO: Reverted from #35, needs a different fix
.md-typeset code::before {
  content: "\00a0";
}
.md-typeset code::after {
  content: "\00a0";
}
*/
.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{
    margin:0;
    background-color:transparent;
    box-shadow:none
}
.md-typeset a>code{
    margin:inherit;
    padding:inherit;
    border-radius:initial;
    background-color:inherit;
    color:inherit;
    box-shadow:none
}
.md-typeset pre{
    position:relative;
    margin:1em 0;
    border-radius:.1rem;
    line-height:1.4;
    -webkit-overflow-scrolling:touch
}
.md-typeset pre>code{
    /*
    See GH #32
    display:block;
    */
    margin:0;
    padding:.525rem .6rem;
    background-color:transparent;
    font-size:inherit;
    box-shadow:none;
    -webkit-box-decoration-break:slice;
    box-decoration-break:slice;
    overflow:auto
}
.md-typeset pre>code::-webkit-scrollbar{
    width:.2rem;
    height:.2rem
}
.md-typeset pre>code::-webkit-scrollbar-thumb{
    background-color:rgba(0,0,0,.26)
}
.md-typeset pre>code::-webkit-scrollbar-thumb:hover{
    background-color:#536dfe
}
.md-typeset kbd{
    padding:0 .29412em;
    border-radius:.15rem;
    border:.05rem solid #c9c9c9;
    border-bottom-color:#bcbcbc;
    background-color:#fcfcfc;
    color:#555;
    font-size:85%;
    box-shadow:0 .05rem 0 #b0b0b0;
    word-break:break-word
}
.md-typeset mark{
    margin:0 .25em;
    padding:.0625em 0;
    border-radius:.1rem;
    background-color:rgba(255,235,59,.5);
    box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);
    word-break:break-word;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone
}
.md-typeset abbr{
    border-bottom:.05rem dotted rgba(0,0,0,.54);
    text-decoration:none;
    cursor:help
}
.md-typeset small{
    opacity:.75
}
.md-typeset sub,.md-typeset sup{
    margin-left:.07812em
}
[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{
    margin-right:.07812em;
    margin-left:0
}
.md-typeset blockquote{
    padding-left:.6rem;
    border-left:.2rem solid rgba(0,0,0,.26);
    color:rgba(0,0,0,.54)
}
[dir=rtl] .md-typeset blockquote{
    padding-right:.6rem;
    padding-left:0;
    border-right:.2rem solid rgba(0,0,0,.26);
    border-left:initial
}
.md-typeset ul{
    list-style-type:disc
}
.md-typeset ol,.md-typeset ul{
    margin-left:.625em;
    padding:0
}
[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{
    margin-right:.625em;
    margin-left:0
}
.md-typeset ol ol,.md-typeset ul ol{
    list-style-type:lower-alpha
}
.md-typeset ol ol ol,.md-typeset ul ol ol{
    list-style-type:lower-roman
}
.md-typeset ol li,.md-typeset ul li{
    margin-bottom:.5em;
    margin-left:1.25em
}
[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{
    margin-right:1.25em;
    margin-left:0
}
.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{
    margin:.5em 0
}
.md-typeset ol li:last-child,.md-typeset ul li:last-child{
    margin-bottom:0
}
.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{
    margin:.5em 0 .5em .625em
}
[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{
    margin-right:.625em;
    margin-left:0
}
.md-typeset dd{
    margin:1em 0 1em 1.875em
}
[dir=rtl] .md-typeset dd{
    margin-right:1.875em;
    margin-left:0
}
.md-typeset iframe,.md-typeset img,.md-typeset svg{
    max-width:100%
}
.md-typeset table:not([class]){
    box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);
    display:inline-block;
    max-width:100%;
    border-radius:.1rem;
    font-size:.64rem;
    overflow:auto;
    -webkit-overflow-scrolling:touch
}
.md-typeset table:not([class])+*{
    margin-top:1.5em
}
.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){
    text-align:left
}
[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){
    text-align:right
}
.md-typeset table:not([class]) th{
    min-width:5rem;
    padding:.6rem .8rem;
    background-color:rgba(0,0,0,.54);
    color:#fff;
    vertical-align:top
}
.md-typeset table:not([class]) td{
    padding:.6rem .8rem;
    border-top:.05rem solid rgba(0,0,0,.07);
    vertical-align:top
}
.md-typeset table:not([class]) tr{
    transition:background-color .125s
}
.md-typeset table:not([class]) tr:hover{
    background-color:rgba(0,0,0,.035);
    box-shadow:inset 0 .05rem 0 #fff
}
.md-typeset table:not([class]) tr:first-child td{
    border-top:0
}
.md-typeset table:not([class]) a{
    word-break:normal
}
.md-typeset__scrollwrap{
    margin:1em -.8rem;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch
}
.md-typeset .md-typeset__table{
    display:inline-block;
    margin-bottom:.5em;
    padding:0 .8rem
}
.md-typeset .md-typeset__table table{
    display:table;
    width:100%;
    margin:0;
    overflow:hidden
}
html{
    font-size:125%;
    overflow-x:hidden
}
body,html{
    height:100%
}
body{
    position:relative;
    font-size:.5rem
}
hr{
    display:block;
    height:.05rem;
    padding:0;
    border:0
}
.md-svg{
    display:none
}
.md-grid{
    max-width:73rem;
    margin-right:auto;
    margin-left:auto
}
.md-container,.md-main{
    overflow:auto
}
.md-container{
    display:table;
    width:100%;
    height:100%;
    padding-top:2.4rem;
    table-layout:fixed
}
.md-main{
    display:table-row;
    height:100%
}
.md-main__inner{
    height:100%;
    padding-top:1.5rem;
    padding-bottom:.05rem
}
.md-toggle{
    display:none
}
.md-overlay{
    position:fixed;
    top:0;
    width:0;
    height:0;
    transition:width 0s .25s,height 0s .25s,opacity .25s;
    background-color:rgba(0,0,0,.54);
    opacity:0;
    z-index:3
}
.md-flex{
    display:table
}
.md-flex__cell{
    display:table-cell;
    position:relative;
    vertical-align:top
}
.md-flex__cell--shrink{
    width:0
}
.md-flex__cell--stretch{
    display:table;
    width:100%;
    table-layout:fixed
}
.md-flex__ellipsis{
    display:table-cell;
    text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden
}
.md-skip{
    position:fixed;
    width:.05rem;
    height:.05rem;
    margin:.5rem;
    padding:.3rem .5rem;
    -webkit-transform:translateY(.4rem);
    transform:translateY(.4rem);
    border-radius:.1rem;
    background-color:rgba(0,0,0,.87);
    color:#fff;
    font-size:.64rem;
    opacity:0;
    overflow:hidden
}
.md-skip:focus{
    width:auto;
    height:auto;
    clip:auto;
    -webkit-transform:translateX(0);
    transform:translateX(0);
    transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
    transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;
    transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
    opacity:1;
    z-index:10
}
@page{
    margin:25mm
}
.md-clipboard{
    position:absolute;
    top:.3rem;
    right:.3rem;
    width:1.4rem;
    height:1.4rem;
    border-radius:.1rem;
    font-size:.8rem;
    cursor:pointer;
    z-index:1;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
}
.md-clipboard:before{
    transition:color .25s,opacity .25s;
    color:rgba(0,0,0,.07);
    content:"\E14D"
}
.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{
    color:rgba(0,0,0,.54)
}
.md-clipboard:focus:before,.md-clipboard:hover:before{
    color:#536dfe
}
.md-clipboard__message{
    display:block;
    position:absolute;
    top:0;
    right:1.7rem;
    padding:.3rem .5rem;
    -webkit-transform:translateX(.4rem);
    transform:translateX(.4rem);
    transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);
    transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;
    transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);
    border-radius:.1rem;
    background-color:rgba(0,0,0,.54);
    color:#fff;
    font-size:.64rem;
    white-space:nowrap;
    opacity:0;
    pointer-events:none
}
.md-clipboard__message--active{
    -webkit-transform:translateX(0);
    transform:translateX(0);
    transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
    transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;
    transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
    opacity:1;
    pointer-events:auto
}
.md-clipboard__message:before{
    content:attr(aria-label)
}
.md-clipboard__message:after{
    display:block;
    position:absolute;
    top:50%;
    right:-.2rem;
    width:0;
    margin-top:-.2rem;
    border-color:transparent rgba(0,0,0,.54);
    border-style:solid;
    border-width:.2rem 0 .2rem .2rem;
    content:""
}
.md-content__inner{
    margin:0 .8rem 1.2rem;
    padding-top:.6rem
}
.md-content__inner:before{
    display:block;
    height:.4rem;
    content:""
}
.md-content__inner>:last-child{
    margin-bottom:0
}
.md-content__icon{
    position:relative;
    margin:.4rem 0;
    padding:0;
    float:right
}
.md-typeset .md-content__icon{
    color:rgba(0,0,0,.26)
}
.md-header{
    position:fixed;
    top:0;
    right:0;
    left:0;
    height:2.4rem;
    transition:background-color .25s,color .25s;
    background-color:#3f51b5;
    color:#fff;
    box-shadow:none;
    z-index:2;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
}
.no-js .md-header{
    transition:none;
    box-shadow:none
}
.md-header[data-md-state=shadow]{
    transition:background-color .25s,color .25s,box-shadow .25s;
    box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)
}
.md-header-nav{
    padding:0 .2rem
}
.md-header-nav__button{
    position:relative;
    transition:opacity .25s;
    z-index:1
}
.md-header-nav__button:hover{
    opacity:.7
}
.md-header-nav__button.md-logo *{
    display:block
}
.no-js .md-header-nav__button.md-icon--search{
    display:none
}
.md-header-nav__topic{
    display:block;
    position:absolute;
    transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden
}
.md-header-nav__topic+.md-header-nav__topic{
    -webkit-transform:translateX(1.25rem);
    transform:translateX(1.25rem);
    transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);
    transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;
    transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);
    opacity:0;
    z-index:-1;
    pointer-events:none
}
[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{
    -webkit-transform:translateX(-1.25rem);
    transform:translateX(-1.25rem)
}
.no-js .md-header-nav__topic{
    position:static
}
.no-js .md-header-nav__topic+.md-header-nav__topic{
    display:none
}
.md-header-nav__title{
    padding:0 1rem;
    font-size:.9rem;
    line-height:2.4rem
}
.md-header-nav__title[data-md-state=active] .md-header-nav__topic{
    -webkit-transform:translateX(-1.25rem);
    transform:translateX(-1.25rem);
    transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);
    transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;
    transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);
    opacity:0;
    z-index:-1;
    pointer-events:none
}
[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{
    -webkit-transform:translateX(1.25rem);
    transform:translateX(1.25rem)
}
.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{
    -webkit-transform:translateX(0);
    transform:translateX(0);
    transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    opacity:1;
    z-index:0;
    pointer-events:auto
}
.md-header-nav__source{
    display:none
}
.md-hero{
    transition:background .25s;
    background-color:#3f51b5;
    color:#fff;
    font-size:1rem;
    overflow:hidden
}
.md-hero__inner{
    margin-top:1rem;
    padding:.8rem .8rem .4rem;
    transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    transition-delay:.1s
}
[data-md-state=hidden] .md-hero__inner{
    pointer-events:none;
    -webkit-transform:translateY(.625rem);
    transform:translateY(.625rem);
    transition:opacity .1s 0s,-webkit-transform 0s .4s;
    transition:transform 0s .4s,opacity .1s 0s;
    transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;
    opacity:0
}
.md-hero--expand .md-hero__inner{
    margin-bottom:1.2rem
}
.md-footer-nav{
    background-color:rgba(0,0,0,.87);
    color:#fff
}
.md-footer-nav__inner{
    padding:.2rem;
    overflow:auto
}
.md-footer-nav__link{
    padding-top:1.4rem;
    padding-bottom:.4rem;
    transition:opacity .25s
}
.md-footer-nav__link:hover{
    opacity:.7
}
.md-footer-nav__link--prev{
    width:25%;
    float:left
}
[dir=rtl] .md-footer-nav__link--prev{
    float:right
}
.md-footer-nav__link--next{
    width:75%;
    float:right;
    text-align:right
}
[dir=rtl] .md-footer-nav__link--next{
    float:left;
    text-align:left
}
.md-footer-nav__button{
    transition:background .25s
}
.md-footer-nav__title{
    position:relative;
    padding:0 1rem;
    font-size:.9rem;
    line-height:2.4rem
}
.md-footer-nav__direction{
    position:absolute;
    right:0;
    left:0;
    margin-top:-1rem;
    padding:0 1rem;
    color:hsla(0,0%,100%,.7);
    font-size:.75rem
}
.md-footer-meta{
    background-color:rgba(0,0,0,.895)
}
.md-footer-meta__inner{
    padding:.2rem;
    overflow:auto
}
html .md-footer-meta.md-typeset a{
    color:hsla(0,0%,100%,.7)
}
html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{
    color:#fff
}
.md-footer-copyright{
    margin:0 .6rem;
    padding:.4rem 0;
    color:hsla(0,0%,100%,.3);
    font-size:.64rem
}
.md-footer-copyright__highlight{
    color:hsla(0,0%,100%,.7)
}
.md-footer-social{
    margin:0 .4rem;
    padding:.2rem 0 .6rem
}
.md-footer-social__link{
    display:inline-block;
    width:1.6rem;
    height:1.6rem;
    font-size:.8rem;
    text-align:center
}
.md-footer-social__link:before{
    line-height:1.9
}
.md-nav{
    font-size:.7rem;
    line-height:1.3
}
.md-nav__title{
    display:block;
    padding:0 .6rem;
    font-weight:700;
    text-overflow:ellipsis;
    overflow:hidden
}
.md-nav__title:before{
    display:none;
    content:"\E5C4"
}
[dir=rtl] .md-nav__title:before{
    content:"\E5C8"
}
.md-nav__title .md-nav__button{
    display:none
}
.md-nav__list{
    margin:0;
    padding:0;
    list-style:none
}
.md-nav__item{
    padding:0 .6rem
}
.md-nav__item:last-child{
    padding-bottom:.6rem
}
.md-nav__item .md-nav__item{
    padding-right:0
}
[dir=rtl] .md-nav__item .md-nav__item{
    padding-right:.6rem;
    padding-left:0
}
.md-nav__item .md-nav__item:last-child{
    padding-bottom:0
}
.md-nav__button img{
    width:100%;
    height:auto
}
.md-nav__link{
    display:block;
    margin-top:.625em;
    transition:color .125s;
    text-overflow:ellipsis;
    cursor:pointer;
    overflow:hidden
}
.md-nav__item--nested>.md-nav__link:after{
    content:"\E313"
}
html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{
    display:none
}
.md-nav__link[data-md-state=blur]{
    color:rgba(0,0,0,.54)
}
.md-nav__link--active,.md-nav__link:active{
    color:#3f51b5
}
.md-nav__item--nested>.md-nav__link{
    color:inherit
}
.md-nav__link:focus,.md-nav__link:hover{
    color:#536dfe
}
.md-nav__source,.no-js .md-search{
    display:none
}
.md-search__overlay{
    opacity:0;
    z-index:1
}
.md-search__form{
    position:relative
}
.md-search__input{
    position:relative;
    padding:0 2.2rem 0 3.6rem;
    text-overflow:ellipsis;
    z-index:2
}
[dir=rtl] .md-search__input{
    padding:0 3.6rem 0 2.2rem
}
.md-search__input::-webkit-input-placeholder{
    transition:color .25s cubic-bezier(.1,.7,.1,1)
}
.md-search__input:-ms-input-placeholder{
    transition:color .25s cubic-bezier(.1,.7,.1,1)
}
.md-search__input::-ms-input-placeholder{
    transition:color .25s cubic-bezier(.1,.7,.1,1)
}
.md-search__input::placeholder{
    transition:color .25s cubic-bezier(.1,.7,.1,1)
}
.md-search__input::-webkit-input-placeholder,.md-search__input~.md-search__icon{
    color:rgba(0,0,0,.54)
}
.md-search__input:-ms-input-placeholder,.md-search__input~.md-search__icon{
    color:rgba(0,0,0,.54)
}
.md-search__input::-ms-input-placeholder,.md-search__input~.md-search__icon{
    color:rgba(0,0,0,.54)
}
.md-search__input::placeholder,.md-search__input~.md-search__icon{
    color:rgba(0,0,0,.54)
}
.md-search__input::-ms-clear{
    display:none
}
.md-search__icon{
    position:absolute;
    transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;
    font-size:1.2rem;
    cursor:pointer;
    z-index:2
}
.md-search__icon:hover{
    opacity:.7
}
.md-search__icon[for=__search]{
    top:.3rem;
    left:.5rem
}
[dir=rtl] .md-search__icon[for=__search]{
    right:.5rem;
    left:auto
}
.md-search__icon[for=__search]:before{
    content:"\E8B6"
}
.md-search__icon[type=reset]{
    top:.3rem;
    right:.5rem;
    -webkit-transform:scale(.125);
    transform:scale(.125);
    transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);
    transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;
    transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);
    opacity:0
}
[dir=rtl] .md-search__icon[type=reset]{
    right:auto;
    left:.5rem
}
[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{
    -webkit-transform:scale(1);
    transform:scale(1);
    opacity:1
}
[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{
    opacity:.7
}
.md-search__output{
    position:absolute;
    width:100%;
    border-radius:0 0 .1rem .1rem;
    overflow:hidden;
    z-index:1
}
.md-search__scrollwrap{
    height:100%;
    background-color:#fff;
    box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch
}
.md-search-result{
    color:rgba(0,0,0,.87);
    word-break:break-word
}
.md-search-result__meta{
    padding:0 .8rem;
    background-color:rgba(0,0,0,.07);
    color:rgba(0,0,0,.54);
    font-size:.64rem;
    line-height:1.8rem
}
.md-search-result__list{
    margin:0;
    padding:0;
    border-top:.05rem solid rgba(0,0,0,.07);
    list-style:none
}
.md-search-result__item{
    box-shadow:0 -.05rem 0 rgba(0,0,0,.07)
}
.md-search-result__link{
    display:block;
    transition:background .25s;
    outline:0;
    overflow:hidden
}
.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{
    background-color:rgba(83,109,254,.1)
}
.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{
    opacity:.7
}
.md-search-result__link:last-child .md-search-result__teaser{
    margin-bottom:.6rem
}
.md-search-result__article{
    position:relative;
    padding:0 .8rem;
    overflow:auto
}
.md-search-result__article--document:before{
    position:absolute;
    left:0;
    margin:.1rem;
    transition:opacity .25s;
    color:rgba(0,0,0,.54);
    content:"\E880"
}
[dir=rtl] .md-search-result__article--document:before{
    right:0;
    left:auto
}
.md-search-result__article--document .md-search-result__title{
    margin:.55rem 0;
    font-size:.8rem;
    font-weight:400;
    line-height:1.4
}
.md-search-result__title{
    margin:.5em 0;
    font-size:.64rem;
    font-weight:700;
    line-height:1.4
}
.md-search-result__teaser{
    display:-webkit-box;
    max-height:1.65rem;
    margin:.5em 0;
    color:rgba(0,0,0,.54);
    font-size:.64rem;
    line-height:1.4;
    text-overflow:ellipsis;
    overflow:hidden;
    -webkit-line-clamp:2
}
.md-search-result em{
    font-style:normal;
    font-weight:700;
    text-decoration:underline
}
.md-sidebar{
    position:absolute;
    width:12.1rem;
    padding:1.2rem 0;
    overflow:hidden
}
.md-sidebar[data-md-state=lock]{
    position:fixed;
    top:2.4rem
}
.md-sidebar--secondary{
    display:none
}
.md-sidebar__scrollwrap{
    max-height:100%;
    margin:0 .2rem;
    overflow-y:auto;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
}
.md-sidebar__scrollwrap::-webkit-scrollbar{
    width:.2rem;
    height:.2rem
}
.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{
    background-color:rgba(0,0,0,.26)
}
.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{
    background-color:#536dfe
}

.rst-versions {
    /* Read the Docs' versions menu */
    font-size: .85rem;
}

@-webkit-keyframes md-source__facts--done{
    0%{
        height:0
    }
    to{
        height:.65rem
    }
}
@keyframes md-source__facts--done{
    0%{
        height:0
    }
    to{
        height:.65rem
    }
}
@-webkit-keyframes md-source__fact--done{
    0%{
        -webkit-transform:translateY(100%);
        transform:translateY(100%);
        opacity:0
    }
    50%{
        opacity:0
    }
    to{
        -webkit-transform:translateY(0);
        transform:translateY(0);
        opacity:1
    }
}
@keyframes md-source__fact--done{
    0%{
        -webkit-transform:translateY(100%);
        transform:translateY(100%);
        opacity:0
    }
    50%{
        opacity:0
    }
    to{
        -webkit-transform:translateY(0);
        transform:translateY(0);
        opacity:1
    }
}
.md-source{
    display:block;
    padding-right:.6rem;
    transition:opacity .25s;
    font-size:.65rem;
    line-height:1.2;
    white-space:nowrap
}
[dir=rtl] .md-source{
    padding-right:0;
    padding-left:.6rem
}
.md-source:hover{
    opacity:.7
}
.md-source:after,.md-source__icon{
    display:inline-block;
    height:2.4rem;
    content:"";
    vertical-align:middle
}
.md-source__icon{
    width:2.4rem
}
.md-source__icon svg{
    width:1.2rem;
    height:1.2rem;
    margin-top:.6rem;
    margin-left:.6rem
}
[dir=rtl] .md-source__icon svg{
    margin-right:.6rem;
    margin-left:0
}
.md-source__icon+.md-source__repository{
    margin-left:-2rem;
    padding-left:2rem
}
[dir=rtl] .md-source__icon+.md-source__repository{
    margin-right:-2rem;
    margin-left:0;
    padding-right:2rem;
    padding-left:0
}
.md-source__repository{
    display:inline-block;
    max-width:100%;
    margin-left:.6rem;
    font-weight:700;
    text-overflow:ellipsis;
    overflow:hidden;
    vertical-align:middle
}
.md-source__facts{
    margin:0;
    padding:0;
    font-size:.55rem;
    font-weight:700;
    list-style-type:none;
    opacity:.75;
    overflow:hidden
}
[data-md-state=done] .md-source__facts{
    -webkit-animation:md-source__facts--done .25s ease-in;
    animation:md-source__facts--done .25s ease-in
}
.md-source__fact{
    float:left
}
[dir=rtl] .md-source__fact{
    float:right
}
[data-md-state=done] .md-source__fact{
    -webkit-animation:md-source__fact--done .4s ease-out;
    animation:md-source__fact--done .4s ease-out
}
.md-source__fact:before{
    margin:0 .1rem;
    content:"\00B7"
}
.md-source__fact:first-child:before{
    display:none
}
.md-source-file{
    display:inline-block;
    margin:1em .5em 1em 0;
    padding-right:.25rem;
    border-radius:.1rem;
    background-color:rgba(0,0,0,.07);
    font-size:.64rem;
    list-style-type:none;
    cursor:pointer;
    overflow:hidden
}
.md-source-file:before{
    display:inline-block;
    margin-right:.25rem;
    padding:.25rem;
    background-color:rgba(0,0,0,.26);
    color:#fff;
    font-size:.8rem;
    content:"\E86F";
    vertical-align:middle
}
html .md-source-file{
    transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)
}
html .md-source-file:before{
    transition:inherit
}
html body .md-typeset .md-source-file{
    color:rgba(0,0,0,.54)
}
.md-source-file:hover{
    box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)
}
.md-source-file:hover:before{
    background-color:#536dfe
}
.md-tabs{
    width:100%;
    transition:background .25s;
    background-color:#3f51b5;
    color:#fff;
    overflow:auto
}
.md-tabs__list{
    margin:0 0 0 .2rem;
    padding:0;
    list-style:none;
    white-space:nowrap
}
.md-tabs__item{
    display:inline-block;
    height:2.4rem;
    padding-right:.6rem;
    padding-left:.6rem
}
.md-tabs__link{
    display:block;
    margin-top:.8rem;
    transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;
    transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);
    font-size:.7rem;
    opacity:.7
}
.md-tabs__link--active,.md-tabs__link:hover{
    color:inherit;
    opacity:1
}
.md-tabs__item:nth-child(2) .md-tabs__link{
    transition-delay:.02s
}
.md-tabs__item:nth-child(3) .md-tabs__link{
    transition-delay:.04s
}
.md-tabs__item:nth-child(4) .md-tabs__link{
    transition-delay:.06s
}
.md-tabs__item:nth-child(5) .md-tabs__link{
    transition-delay:.08s
}
.md-tabs__item:nth-child(6) .md-tabs__link{
    transition-delay:.1s
}
.md-tabs__item:nth-child(7) .md-tabs__link{
    transition-delay:.12s
}
.md-tabs__item:nth-child(8) .md-tabs__link{
    transition-delay:.14s
}
.md-tabs__item:nth-child(9) .md-tabs__link{
    transition-delay:.16s
}
.md-tabs__item:nth-child(10) .md-tabs__link{
    transition-delay:.18s
}
.md-tabs__item:nth-child(11) .md-tabs__link{
    transition-delay:.2s
}
.md-tabs__item:nth-child(12) .md-tabs__link{
    transition-delay:.22s
}
.md-tabs__item:nth-child(13) .md-tabs__link{
    transition-delay:.24s
}
.md-tabs__item:nth-child(14) .md-tabs__link{
    transition-delay:.26s
}
.md-tabs__item:nth-child(15) .md-tabs__link{
    transition-delay:.28s
}
.md-tabs__item:nth-child(16) .md-tabs__link{
    transition-delay:.3s
}
.md-tabs[data-md-state=hidden]{
    pointer-events:none
}
.md-tabs[data-md-state=hidden] .md-tabs__link{
    -webkit-transform:translateY(50%);
    transform:translateY(50%);
    transition:color .25s,opacity .1s,-webkit-transform 0s .4s;
    transition:color .25s,transform 0s .4s,opacity .1s;
    transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;
    opacity:0
}
.md-typeset .admonition,.md-typeset details{
    box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);
    position:relative;
    margin:1.5625em 0;
    padding:0 .6rem;
    border-left:.2rem solid #448aff;
    border-radius:.1rem;
    font-size:.64rem;
    overflow:auto
}
[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{
    border-right:.2rem solid #448aff;
    border-left:none
}
html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{
    margin-bottom:.6rem
}
.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{
    margin:1em 0
}
.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{
    margin:0 -.6rem;
    padding:.4rem .6rem .4rem 2rem;
    border-bottom:.05rem solid rgba(68,138,255,.1);
    background-color:rgba(68,138,255,.1);
    font-weight:700
}
[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{
    padding:.4rem 2rem .4rem .6rem
}
.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{
    margin-bottom:0
}
.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{
    position:absolute;
    left:.6rem;
    color:#448aff;
    font-size:1rem;
    content:"\E3C9"
}
[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{
    right:.6rem;
    left:auto
}
.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{
    border-left-color:#00b0ff
}
[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{
    border-right-color:#00b0ff
}
.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{
    border-bottom-color:rgba(0,176,255,.1);
    background-color:rgba(0,176,255,.1)
}
.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{
    color:#00b0ff;
    content:""
}
.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{
    border-left-color:#00b8d4
}
[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{
    border-right-color:#00b8d4
}
.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{
    border-bottom-color:rgba(0,184,212,.1);
    background-color:rgba(0,184,212,.1)
}
.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{
    color:#00b8d4;
    content:""
}
.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{
    border-left-color:#00bfa5
}
[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{
    border-right-color:#00bfa5
}
.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{
    border-bottom-color:rgba(0,191,165,.1);
    background-color:rgba(0,191,165,.1)
}
.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{
    color:#00bfa5;
    content:""
}
.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{
    border-left-color:#00c853
}
[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{
    border-right-color:#00c853
}
.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{
    border-bottom-color:rgba(0,200,83,.1);
    background-color:rgba(0,200,83,.1)
}
.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{
    color:#00c853;
    content:""
}
.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{
    border-left-color:#64dd17
}
[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{
    border-right-color:#64dd17
}
.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{
    border-bottom-color:rgba(100,221,23,.1);
    background-color:rgba(100,221,23,.1)
}
.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{
    color:#64dd17;
    content:""
}
.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{
    border-left-color:#ff9100
}
[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{
    border-right-color:#ff9100
}
.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{
    border-bottom-color:rgba(255,145,0,.1);
    background-color:rgba(255,145,0,.1)
}
.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{
    color:#ff9100;
    content:""
}
.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{
    border-left-color:#ff5252
}
[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{
    border-right-color:#ff5252
}
.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{
    border-bottom-color:rgba(255,82,82,.1);
    background-color:rgba(255,82,82,.1)
}
.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{
    color:#ff5252;
    content:""
}
.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{
    border-left-color:#ff1744
}
[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{
    border-right-color:#ff1744
}
.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{
    border-bottom-color:rgba(255,23,68,.1);
    background-color:rgba(255,23,68,.1)
}
.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{
    color:#ff1744;
    content:""
}
.md-typeset .admonition.bug,.md-typeset details.bug{
    border-left-color:#f50057
}
[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{
    border-right-color:#f50057
}
.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{
    border-bottom-color:rgba(245,0,87,.1);
    background-color:rgba(245,0,87,.1)
}
.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{
    color:#f50057;
    content:""
}
.md-typeset .admonition.example,.md-typeset details.example{
    border-left-color:#651fff
}
[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{
    border-right-color:#651fff
}
.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{
    border-bottom-color:rgba(101,31,255,.1);
    background-color:rgba(101,31,255,.1)
}
.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{
    color:#651fff;
    content:""
}
.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{
    border-left-color:#9e9e9e
}
[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{
    border-right-color:#9e9e9e
}
.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{
    border-bottom-color:hsla(0,0%,62%,.1);
    background-color:hsla(0,0%,62%,.1)
}
.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{
    color:#9e9e9e;
    content:""
}
.codehilite .o,.codehilite .ow,.highlight .o,.highlight .ow{
    color:inherit
}
.codehilite .ge,.highlight .ge{
    color:#000
}
.codehilite .gr,.highlight .gr{
    color:#a00
}
.codehilite .gh,.highlight .gh{
    color:#999
}
.codehilite .go,.highlight .go{
    color:#888
}
.codehilite .gp,.highlight .gp{
    color:#555
}
.codehilite .gs,.highlight .gs{
    color:inherit
}
.codehilite .gu,.highlight .gu{
    color:#aaa
}
.codehilite .gt,.highlight .gt{
    color:#a00
}
.codehilite .gd,.highlight .gd{
    background-color:#fdd
}
.codehilite .gi,.highlight .gi{
    background-color:#dfd
}
.codehilite .k,.highlight .k{
    color:#3b78e7
}
.codehilite .kc,.highlight .kc{
    color:#a71d5d
}
.codehilite .kd,.codehilite .kn,.highlight .kd,.highlight .kn{
    color:#3b78e7
}
.codehilite .kp,.highlight .kp{
    color:#a71d5d
}
.codehilite .kr,.codehilite .kt,.highlight .kr,.highlight .kt{
    color:#3e61a2
}
.codehilite .c,.codehilite .cm,.highlight .c,.highlight .cm{
    color:#999
}
.codehilite .cp,.highlight .cp{
    color:#666
}
.codehilite .c1,.codehilite .ch,.codehilite .cs,.highlight .c1,.highlight .ch,.highlight .cs{
    color:#999
}
.codehilite .na,.codehilite .nb,.highlight .na,.highlight .nb{
    color:#c2185b
}
.codehilite .bp,.highlight .bp{
    color:#3e61a2
}
.codehilite .nc,.highlight .nc{
    color:#c2185b
}
.codehilite .no,.highlight .no{
    color:#3e61a2
}
.codehilite .nd,.codehilite .ni,.highlight .nd,.highlight .ni{
    color:#666
}
.codehilite .ne,.codehilite .nf,.highlight .ne,.highlight .nf{
    color:#c2185b
}
.codehilite .nl,.highlight .nl{
    color:#3b5179
}
.codehilite .nn,.highlight .nn{
    color:#ec407a
}
.codehilite .nt,.highlight .nt{
    color:#3b78e7
}
.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{
    color:#3e61a2
}
.codehilite .nx,.highlight .nx{
    color:#ec407a
}
.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.highlight .il,.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{
    color:#e74c3c
}
.codehilite .s,.codehilite .sb,.codehilite .sc,.highlight .s,.highlight .sb,.highlight .sc{
    color:#0d904f
}
.codehilite .sd,.highlight .sd{
    color:#999
}
.codehilite .s2,.highlight .s2{
    color:#0d904f
}
.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{
    color:#183691
}
.codehilite .sr,.highlight .sr{
    color:#009926
}
.codehilite .s1,.codehilite .ss,.highlight .s1,.highlight .ss{
    color:#0d904f
}
.codehilite .err,.highlight .err{
    color:#a61717
}
.codehilite .w,.highlight .w{
    color:transparent
}
.codehilite .hll, .highlight .hll{
    display:block;
    margin:0 -.6rem;
    padding:0 .6rem;
    background-color:rgba(255,235,59,.5)
}
.md-typeset .codehilite,.highlight{
    position:relative;
    margin:1em 0;
    padding:0;
    border-radius:.1rem;
    background-color:hsla(0,0%,92.5%,.5);
    color:#37474f;
    line-height:1.4;
    -webkit-overflow-scrolling:touch
}
.md-typeset .codehilite code,.md-typeset .codehilite pre,.highlight code,.highlight pre{
    display:block;
    margin:0;
    padding:.525rem .6rem;
    background-color:transparent;
    overflow:auto;
    vertical-align:top
}
.md-typeset .codehilite code::-webkit-scrollbar,.md-typeset .codehilite pre::-webkit-scrollbar,.highlight code::-webkit-scrollbar,.highlight pre::-webkit-scrollbar{
    width:.2rem;
    height:.2rem
}
.md-typeset .codehilite code::-webkit-scrollbar-thumb,.md-typeset .codehilite pre::-webkit-scrollbar-thumb,.highlight code::-webkit-scrollbar-thumb,.highlight pre::-webkit-scrollbar-thumb{
    background-color:rgba(0,0,0,.26)
}
.md-typeset .codehilite code::-webkit-scrollbar-thumb:hover,.md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,.highlight code::-webkit-scrollbar-thumb:hover, .highlight pre::-webkit-scrollbar-thumb:hover{
    background-color:#536dfe
}
.md-typeset pre.codehilite,.md-typeset pre.highlight{
    overflow:visible
}
.md-typeset pre.codehilite code,.md-typeset pre.highlight code{
    display:block;
    padding:.525rem .6rem;
    overflow:auto
}
.md-typeset .codehilitetable,.md-typeset .highlighttable{
    display:block;
    margin:1em 0;
    border-radius:.2em;
    font-size:.8rem;
    overflow:hidden
}
.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{
    display:block;
    padding:0
}
.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{
    display:flex
}
.md-typeset .codehilitetable .codehilite,.md-typeset .codehilitetable .highlight,.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .codehilite,.md-typeset .highlighttable .highlight,.md-typeset .highlighttable .linenodiv{
    margin:0;
    border-radius:0
}
.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{
    padding:.525rem .6rem
}
.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{
    background-color:rgba(0,0,0,.07);
    color:rgba(0,0,0,.26);
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
}
.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{
    margin:0;
    padding:0;
    background-color:transparent;
    color:inherit;
    text-align:right
}
.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{
    flex:1;
    overflow:hidden
}
.md-typeset>.codehilitetable,.md-typeset>.highlighttable{
    box-shadow:none
}
.md-typeset [id^="fnref:"]{
    display:inline-block
}
.md-typeset [id^="fnref:"]:target{
    margin-top:-3.8rem;
    padding-top:3.8rem;
    pointer-events:none
}
.md-typeset [id^="fn:"]:before{
    display:none;
    height:0;
    content:""
}
.md-typeset [id^="fn:"]:target:before{
    display:block;
    margin-top:-3.5rem;
    padding-top:3.5rem;
    pointer-events:none
}
.md-typeset .footnote{
    color:rgba(0,0,0,.54);
    font-size:.64rem
}
.md-typeset .footnote ol{
    margin-left:0
}
.md-typeset .footnote li{
    transition:color .25s
}
.md-typeset .footnote li:target{
    color:rgba(0,0,0,.87)
}
.md-typeset .footnote li :first-child{
    margin-top:0
}
.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{
    -webkit-transform:translateX(0);
    transform:translateX(0);
    opacity:1
}
.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{
    color:#536dfe
}
.md-typeset .footnote-ref{
    display:inline-block;
    pointer-events:auto
}
.md-typeset .footnote-ref:before{
    display:inline;
    margin:0 .2em;
    border-left:.05rem solid rgba(0,0,0,.26);
    font-size:1.25em;
    content:"";
    vertical-align:-.25rem
}
.md-typeset .footnote-backref{
    display:inline-block;
    -webkit-transform:translateX(.25rem);
    transform:translateX(.25rem);
    transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;
    transition:transform .25s .125s,color .25s,opacity .125s .125s;
    transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;
    color:rgba(0,0,0,.26);
    font-size:0;
    opacity:0;
    vertical-align:text-bottom
}
[dir=rtl] .md-typeset .footnote-backref{
    -webkit-transform:translateX(-.25rem);
    transform:translateX(-.25rem)
}
.md-typeset .footnote-backref:before{
    display:inline-block;
    font-size:.8rem;
    content:"\E31B"
}
[dir=rtl] .md-typeset .footnote-backref:before{
    -webkit-transform:scaleX(-1);
    transform:scaleX(-1)
}
.md-typeset .headerlink{
    display:inline-block;
    margin-left:.5rem;
    -webkit-transform:translateY(.25rem);
    transform:translateY(.25rem);
    transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;
    transition:transform .25s .25s,color .25s,opacity .125s .25s;
    transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;
    opacity:0
}
[dir=rtl] .md-typeset .headerlink{
    margin-right:.5rem;
    margin-left:0
}
html body .md-typeset .headerlink{
    color:rgba(0,0,0,.26)
}
.md-typeset h1[id]:before{
    display:block;
    margin-top:-9px;
    padding-top:9px;
    content:""
}
.md-typeset h1[id]:target:before{
    margin-top:-3.45rem;
    padding-top:3.45rem
}
.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{
    color:#536dfe
}
.md-typeset h2[id]:before{
    display:block;
    margin-top:-8px;
    padding-top:8px;
    content:""
}
.md-typeset h2[id]:target:before{
    margin-top:-3.4rem;
    padding-top:3.4rem
}
.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{
    color:#536dfe
}
.md-typeset h3[id]:before{
    display:block;
    margin-top:-9px;
    padding-top:9px;
    content:""
}
.md-typeset h3[id]:target:before{
    margin-top:-3.45rem;
    padding-top:3.45rem
}
.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{
    color:#536dfe
}
.md-typeset h4[id]:before{
    display:block;
    margin-top:-9px;
    padding-top:9px;
    content:""
}
.md-typeset h4[id]:target:before{
    margin-top:-3.45rem;
    padding-top:3.45rem
}
.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{
    color:#536dfe
}
.md-typeset h5[id]:before{
    display:block;
    margin-top:-11px;
    padding-top:11px;
    content:""
}
.md-typeset h5[id]:target:before{
    margin-top:-3.55rem;
    padding-top:3.55rem
}
.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{
    color:#536dfe
}
.md-typeset h6[id]:before{
    display:block;
    margin-top:-11px;
    padding-top:11px;
    content:""
}
.md-typeset h6[id]:target:before{
    margin-top:-3.55rem;
    padding-top:3.55rem
}
.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{
    -webkit-transform:translate(0);
    transform:translate(0);
    opacity:1
}
.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{
    color:#536dfe
}
.md-typeset .MJXc-display{
    margin:.75em 0;
    padding:.75em 0;
    overflow:auto;
    -webkit-overflow-scrolling:touch
}
.md-typeset .MathJax_CHTML{
    outline:0
}
.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{
    margin:0 .25em;
    padding:.0625em 0;
    border-radius:.1rem;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone
}
.md-typeset del.critic{
    background-color:#fdd;
    box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd
}
.md-typeset ins.critic{
    background-color:#dfd;
    box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd
}
.md-typeset .critic.comment{
    background-color:hsla(0,0%,92.5%,.5);
    color:#37474f;
    box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)
}
.md-typeset .critic.comment:before{
    padding-right:.125em;
    color:rgba(0,0,0,.26);
    content:"\E0B7";
    vertical-align:-.125em
}
.md-typeset .critic.block{
    display:block;
    margin:1em 0;
    padding-right:.8rem;
    padding-left:.8rem;
    box-shadow:none
}
.md-typeset .critic.block :first-child{
    margin-top:.5em
}
.md-typeset .critic.block :last-child{
    margin-bottom:.5em
}
.md-typeset details{
    display:block;
    padding-top:0
}
.md-typeset details[open]>summary:after{
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg)
}
.md-typeset details:not([open]){
    padding-bottom:0
}
.md-typeset details:not([open])>summary{
    border-bottom:none
}
.md-typeset details summary{
    padding-right:2rem
}
[dir=rtl] .md-typeset details summary{
    padding-left:2rem
}
.no-details .md-typeset details:not([open])>*{
    display:none
}
.no-details .md-typeset details:not([open]) summary{
    display:block
}
.md-typeset summary{
    display:block;
    outline:none;
    cursor:pointer
}
.md-typeset summary::-webkit-details-marker{
    display:none
}
.md-typeset summary:after{
    position:absolute;
    top:.4rem;
    right:.6rem;
    color:rgba(0,0,0,.26);
    font-size:1rem;
    content:"\E313"
}
[dir=rtl] .md-typeset summary:after{
    right:auto;
    left:.6rem
}
.md-typeset .emojione{
    width:1rem;
    vertical-align:text-top
}
.md-typeset code.codehilite,.md-typeset code.highlight{
    margin:0 .29412em;
    padding:.07353em 0
}
.md-typeset .superfences-content{
    display:none;
    order:99;
    width:100%;
    background-color:#fff
}
.md-typeset .superfences-content>*{
    margin:0;
    border-radius:0
}
.md-typeset .superfences-tabs{
    display:flex;
    position:relative;
    flex-wrap:wrap;
    margin:1em 0;
    border:.05rem solid rgba(0,0,0,.07);
    border-radius:.2em
}
.md-typeset .superfences-tabs>input{
    display:none
}
.md-typeset .superfences-tabs>input:checked+label{
    font-weight:700
}
.md-typeset .superfences-tabs>input:checked+label+.superfences-content{
    display:block
}
.md-typeset .superfences-tabs>label{
    width:auto;
    padding:.6rem;
    transition:color .125s;
    font-size:.64rem;
    cursor:pointer
}
html .md-typeset .superfences-tabs>label:hover{
    color:#536dfe
}
.md-typeset .task-list-item{
    position:relative;
    list-style-type:none
}
.md-typeset .task-list-item [type=checkbox]{
    position:absolute;
    top:.45em;
    left:-2em
}
[dir=rtl] .md-typeset .task-list-item [type=checkbox]{
    right:-2em;
    left:auto
}
.md-typeset .task-list-control .task-list-indicator:before{
    position:absolute;
    top:.15em;
    left:-1.25em;
    color:rgba(0,0,0,.26);
    font-size:1.25em;
    content:"\E835";
    vertical-align:-.25em
}
[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{
    right:-1.25em;
    left:auto
}
.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{
    content:"\E834"
}
.md-typeset .task-list-control [type=checkbox]{
    opacity:0;
    z-index:-1
}
@media print{
    .md-typeset a:after{
        color:rgba(0,0,0,.54);
        content:" [" attr(href) "]"
    }
    .md-typeset code,.md-typeset pre{
        white-space:pre-wrap
    }
    .md-typeset code{
        box-shadow:none;
        -webkit-box-decoration-break:initial;
        box-decoration-break:slice
    }
    .md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{
        display:none
    }
}
@media only screen and (max-width:44.9375em){
    .md-typeset pre{
        margin:1em -.8rem;
        border-radius:0
    }
    .md-typeset pre>code{
        padding:.525rem .8rem
    }
    .md-footer-nav__link--prev .md-footer-nav__title{
        display:none
    }
    .md-search-result__teaser{
        max-height:2.5rem;
        -webkit-line-clamp:3
    }
    .codehilite .hll,.md-typeset .highlight .hll{
        margin:0 -.8rem;
        padding:0 .8rem
    }
    .md-typeset>.codehilite,.md-typeset>.highlight{
        margin:1em -.8rem;
        border-radius:0
    }
    .md-typeset>.codehilite code,.md-typeset>.codehilite pre,.md-typeset>.highlight code,.md-typeset>.highlight pre{
        padding:.525rem .8rem
    }
    .md-typeset>.codehilitetable,.md-typeset>.highlighttable{
        margin:1em -.8rem;
        border-radius:0
    }
    .md-typeset>.codehilitetable .codehilite>code,.md-typeset>.codehilitetable .codehilite>pre,.md-typeset>.codehilitetable .highlight>code,.md-typeset>.codehilitetable .highlight>pre,.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .codehilite>code,.md-typeset>.highlighttable .codehilite>pre,.md-typeset>.highlighttable .highlight>code,.md-typeset>.highlighttable .highlight>pre,.md-typeset>.highlighttable .linenodiv{
        padding:.5rem .8rem
    }
    .md-typeset>p>.MJXc-display{
        margin:.75em -.8rem;
        padding:.25em .8rem
    }
    .md-typeset>.superfences-tabs{
        margin:1em -.8rem;
        border:0;
        border-top:.05rem solid rgba(0,0,0,.07);
        border-radius:0
    }
    .md-typeset>.superfences-tabs code,.md-typeset>.superfences-tabs pre{
        padding:.525rem .8rem
    }
}
@media only screen and (min-width:100em){
    html{
        font-size:137.5%
    }
}
@media only screen and (min-width:125em){
    html{
        font-size:150%
    }
}
@media only screen and (max-width:59.9375em){
    body[data-md-state=lock]{
        overflow:hidden
    }
    .ios body[data-md-state=lock] .md-container{
        display:none
    }
    html .md-nav__link[for=__toc]{
        display:block;
        padding-right:2.4rem
    }
    html .md-nav__link[for=__toc]:after{
        color:inherit;
        content:"\E8DE"
    }
    html .md-nav__link[for=__toc]+.md-nav__link{
        display:none
    }
    html .md-nav__link[for=__toc]~.md-nav{
        display:flex
    }
    html [dir=rtl] .md-nav__link{
        padding-right:.8rem;
        padding-left:2.4rem
    }
    .md-nav__source{
        display:block;
        padding:0 .2rem;
        background-color:rgba(50,64,144,.9675);
        color:#fff
    }
    .md-search__overlay{
        position:absolute;
        top:.2rem;
        left:.2rem;
        width:1.8rem;
        height:1.8rem;
        -webkit-transform-origin:center;
        transform-origin:center;
        transition:opacity .2s .2s,-webkit-transform .3s .1s;
        transition:transform .3s .1s,opacity .2s .2s;
        transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;
        border-radius:1rem;
        background-color:#fff;
        overflow:hidden;
        pointer-events:none
    }
    [dir=rtl] .md-search__overlay{
        right:.2rem;
        left:auto
    }
    [data-md-toggle=search]:checked~.md-header .md-search__overlay{
        transition:opacity .1s,-webkit-transform .4s;
        transition:transform .4s,opacity .1s;
        transition:transform .4s,opacity .1s,-webkit-transform .4s;
        opacity:1
    }
    .md-search__inner{
        position:fixed;
        top:0;
        left:100%;
        width:100%;
        height:100%;
        -webkit-transform:translateX(5%);
        transform:translateX(5%);
        transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;
        transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;
        transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;
        opacity:0;
        z-index:2
    }
    [data-md-toggle=search]:checked~.md-header .md-search__inner{
        left:0;
        -webkit-transform:translateX(0);
        transform:translateX(0);
        transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;
        transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;
        transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;
        opacity:1
    }
    [dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{
        right:0;
        left:auto
    }
    html [dir=rtl] .md-search__inner{
        right:100%;
        left:auto;
        -webkit-transform:translateX(-5%);
        transform:translateX(-5%)
    }
    .md-search__input{
        width:100%;
        height:2.4rem;
        font-size:.9rem
    }
    .md-search__icon[for=__search]{
        top:.6rem;
        left:.8rem
    }
    .md-search__icon[for=__search][for=__search]:before{
        content:"\E5C4"
    }
    [dir=rtl] .md-search__icon[for=__search][for=__search]:before{
        content:"\E5C8"
    }
    .md-search__icon[type=reset]{
        top:.6rem;
        right:.8rem
    }
    .md-search__output{
        top:2.4rem;
        bottom:0
    }
    .md-search-result__article--document:before{
        display:none
    }
}
@media only screen and (max-width:76.1875em){
    [data-md-toggle=drawer]:checked~.md-overlay{
        width:100%;
        height:100%;
        transition:width 0s,height 0s,opacity .25s;
        opacity:1
    }
    .md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{
        display:none
    }
    .md-hero__inner{
        margin-top:2.4rem;
        margin-bottom:1.2rem
    }
    .md-nav{
        background-color:#fff
    }
    .md-nav--primary,.md-nav--primary .md-nav{
        display:flex;
        position:absolute;
        top:0;
        right:0;
        left:0;
        flex-direction:column;
        height:100%;
        z-index:1
    }
    .md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{
        font-size:.8rem;
        line-height:1.5
    }
    html .md-nav--primary .md-nav__title{
        position:relative;
        height:5.6rem;
        padding:3rem .8rem .2rem;
        background-color:rgba(0,0,0,.07);
        color:rgba(0,0,0,.54);
        font-weight:400;
        line-height:2.4rem;
        white-space:nowrap;
        cursor:pointer
    }
    html .md-nav--primary .md-nav__title:before{
        display:block;
        position:absolute;
        top:.2rem;
        left:.2rem;
        width:2rem;
        height:2rem;
        color:rgba(0,0,0,.54)
    }
    html .md-nav--primary .md-nav__title~.md-nav__list{
        background-color:#fff;
        box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)
    }
    html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{
        border-top:0
    }
    html .md-nav--primary .md-nav__title--site{
        position:relative;
        background-color:#3f51b5;
        color:#fff
    }
    html .md-nav--primary .md-nav__title--site .md-nav__button{
        display:block;
        position:absolute;
        top:.2rem;
        left:.2rem;
        width:3.2rem;
        height:3.2rem;
        font-size:2.4rem
    }
    html .md-nav--primary .md-nav__title--site:before{
        display:none
    }
    html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{
        right:.2rem;
        left:auto
    }
    .md-nav--primary .md-nav__list{
        /* TODO: Consider changing, but need more fix
             See GH#48
        */
        flex:1;
        overflow-y:auto
    }
    .md-nav--primary .md-nav__item{
        padding:0;
        border-top:.05rem solid rgba(0,0,0,.07)
    }
    [dir=rtl] .md-nav--primary .md-nav__item{
        padding:0
    }
    .md-nav--primary .md-nav__item--nested>.md-nav__link{
        padding-right:2.4rem
    }
    [dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{
        padding-right:.8rem;
        padding-left:2.4rem
    }
    .md-nav--primary .md-nav__item--nested>.md-nav__link:after{
        content:"\E315"
    }
    [dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{
        content:"\E314"
    }
    .md-nav--primary .md-nav__link{
        position:relative;
        margin-top:0;
        padding:.6rem .8rem
    }
    .md-nav--primary .md-nav__link:after{
        position:absolute;
        top:50%;
        right:.6rem;
        margin-top:-.6rem;
        color:inherit;
        font-size:1.2rem
    }
    [dir=rtl] .md-nav--primary .md-nav__link:after{
        right:auto;
        left:.6rem
    }
    .md-nav--primary .md-nav--secondary .md-nav__link{
        position:static
    }
    .md-nav--primary .md-nav--secondary .md-nav{
        position:static;
        background-color:transparent
    }
    .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{
        padding-left:1.4rem
    }
    [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{
        padding-right:1.4rem;
        padding-left:0
    }
    .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{
        padding-left:2rem
    }
    [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{
        padding-right:2rem;
        padding-left:0
    }
    .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{
        padding-left:2.6rem
    }
    [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{
        padding-right:2.6rem;
        padding-left:0
    }
    .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{
        padding-left:3.2rem
    }
    [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{
        padding-right:3.2rem;
        padding-left:0
    }
    .md-nav__toggle~.md-nav{
        display:flex;
        -webkit-transform:translateX(100%);
        transform:translateX(100%);
        transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);
        transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;
        transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);
        opacity:0
    }
    [dir=rtl] .md-nav__toggle~.md-nav{
        -webkit-transform:translateX(-100%);
        transform:translateX(-100%)
    }
    .no-csstransforms3d .md-nav__toggle~.md-nav{
        display:none
    }
    .md-nav__toggle:checked~.md-nav{
        -webkit-transform:translateX(0);
        transform:translateX(0);
        transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
        transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;
        transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
        opacity:1
    }
    .no-csstransforms3d .md-nav__toggle:checked~.md-nav{
        display:flex
    }
    .md-sidebar--primary{
        position:fixed;
        top:0;
        left:-12.1rem;
        width:12.1rem;
        height:100%;
        -webkit-transform:translateX(0);
        transform:translateX(0);
        transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
        transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;
        transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);
        background-color:#fff;
        z-index:3
    }
    [dir=rtl] .md-sidebar--primary{
        right:-12.1rem;
        left:auto
    }
    .no-csstransforms3d .md-sidebar--primary{
        display:none
    }
    [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{
        box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);
        -webkit-transform:translateX(12.1rem);
        transform:translateX(12.1rem)
    }
    [dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{
        -webkit-transform:translateX(-12.1rem);
        transform:translateX(-12.1rem)
    }
    .no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{
        display:block
    }
    .md-sidebar--primary .md-sidebar__scrollwrap{
        overflow:hidden;
        position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
        margin:0
    }
    .md-tabs{
        display:none
    }
}
@media only screen and (min-width:60em){
    .md-content{
        margin-right:12.1rem
    }
    [dir=rtl] .md-content{
        margin-right:0;
        margin-left:12.1rem
    }
    .md-header-nav__button.md-icon--search{
        display:none
    }
    .md-header-nav__source{
        display:block;
        width:11.7rem;
        max-width:11.7rem;
        padding-right:.6rem
    }
    [dir=rtl] .md-header-nav__source{
        padding-right:0;
        padding-left:.6rem
    }
    .md-search{
        padding:.2rem
    }
    .md-search__overlay{
        position:fixed;
        top:0;
        left:0;
        width:0;
        height:0;
        transition:width 0s .25s,height 0s .25s,opacity .25s;
        background-color:rgba(0,0,0,.54);
        cursor:pointer
    }
    [dir=rtl] .md-search__overlay{
        right:0;
        left:auto
    }
    [data-md-toggle=search]:checked~.md-header .md-search__overlay{
        width:100%;
        height:100%;
        transition:width 0s,height 0s,opacity .25s;
        opacity:1
    }
    .md-search__inner{
        position:relative;
        width:11.5rem;
        margin-right:.8rem;
        padding:.1rem 0;
        float:right;
        transition:width .25s cubic-bezier(.1,.7,.1,1)
    }
    [dir=rtl] .md-search__inner{
        margin-right:0;
        margin-left:.8rem;
        float:left
    }
    .md-search__form,.md-search__input{
        border-radius:.1rem
    }
    .md-search__input{
        width:100%;
        height:1.8rem;
        padding-left:2.2rem;
        transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);
        background-color:rgba(0,0,0,.26);
        color:inherit;
        font-size:.8rem
    }
    [dir=rtl] .md-search__input{
        padding-right:2.2rem
    }
    .md-search__input+.md-search__icon{
        color:inherit
    }
    .md-search__input::-webkit-input-placeholder{
        color:hsla(0,0%,100%,.7)
    }
    .md-search__input:-ms-input-placeholder{
        color:hsla(0,0%,100%,.7)
    }
    .md-search__input::-ms-input-placeholder{
        color:hsla(0,0%,100%,.7)
    }
    .md-search__input::placeholder{
        color:hsla(0,0%,100%,.7)
    }
    .md-search__input:hover{
        background-color:hsla(0,0%,100%,.12)
    }
    [data-md-toggle=search]:checked~.md-header .md-search__input{
        border-radius:.1rem .1rem 0 0;
        background-color:#fff;
        color:rgba(0,0,0,.87);
        text-overflow:clip
    }
    [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{
        color:rgba(0,0,0,.54)
    }
    [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{
        color:rgba(0,0,0,.54)
    }
    [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{
        color:rgba(0,0,0,.54)
    }
    [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{
        color:rgba(0,0,0,.54)
    }
    .md-search__output{
        top:1.9rem;
        transition:opacity .4s;
        opacity:0
    }
    [data-md-toggle=search]:checked~.md-header .md-search__output{
        box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);
        opacity:1
    }
    .md-search__scrollwrap{
        max-height:0
    }
    [data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{
        max-height:75vh
    }
    .md-search__scrollwrap::-webkit-scrollbar{
        width:.2rem;
        height:.2rem
    }
    .md-search__scrollwrap::-webkit-scrollbar-thumb{
        background-color:rgba(0,0,0,.26)
    }
    .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{
        background-color:#536dfe
    }
    .md-search-result__meta{
        padding-left:2.2rem
    }
    [dir=rtl] .md-search-result__meta{
        padding-right:2.2rem;
        padding-left:0
    }
    .md-search-result__article{
        padding-left:2.2rem
    }
    [dir=rtl] .md-search-result__article{
        padding-right:2.2rem;
        padding-left:.8rem
    }
    .md-sidebar--secondary{
        display:block;
        margin-left:100%;
        -webkit-transform:translate(-100%);
        transform:translate(-100%)
    }
    [dir=rtl] .md-sidebar--secondary{
        margin-right:100%;
        margin-left:0;
        -webkit-transform:translate(100%);
        transform:translate(100%)
    }
}
@media only screen and (min-width:88.25em) {
    .md-sidebar--secondary {
        margin-left: 73rem
    }
    [dir=rtl] .md-sidebar--secondary {
        margin-right: 73rem;
        margin-left: 0
    }
}
@media only screen and (min-width:76.25em){
    .md-content{
        margin-left:12.1rem
    }
    [dir=rtl] .md-content{
        margin-right:12.1rem
    }
    .md-content__inner{
        margin-right:1.2rem;
        margin-left:1.2rem
    }
    .md-header-nav__button.md-icon--menu{
        display:none
    }
    .md-nav[data-md-state=animate]{
        transition:max-height .25s cubic-bezier(.86,0,.07,1)
    }
    .md-nav__toggle~.md-nav{
        max-height:0;
        overflow:hidden
    }
    .no-js .md-nav__toggle~.md-nav{
        display:none
    }
    .md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{
        max-height:100%
    }
    .no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{
        display:block
    }
    .md-nav__item--nested>.md-nav>.md-nav__title{
        display:none
    }
    .md-nav__item--nested>.md-nav__link:after{
        display:inline-block;
        -webkit-transform-origin:.45em .45em;
        transform-origin:.45em .45em;
        -webkit-transform-style:preserve-3d;
        transform-style:preserve-3d;
        vertical-align:-.125em
    }
    .js .md-nav__item--nested>.md-nav__link:after{
        transition:-webkit-transform .4s;
        transition:transform .4s;
        transition:transform .4s,-webkit-transform .4s
    }
    .md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{
        -webkit-transform:rotateX(180deg);
        transform:rotateX(180deg)
    }
    .md-search__inner{
        margin-right:1.2rem
    }
    [dir=rtl] .md-search__inner{
        margin-left:1.2rem
    }
    .md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{
        width:34.4rem
    }
    .md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{
        font-size:0;
        visibility:hidden
    }
    .md-tabs--active~.md-main .md-nav--primary .md-nav__title{
        display:block;
        padding:0
    }
    .md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{
        display:none
    }
    .no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{
        display:block
    }
    .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{
        font-size:0;
        visibility:hidden
    }
    .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{
        display:none;
        font-size:.7rem;
        overflow:auto;
        visibility:visible
    }
    .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{
        display:none
    }
    .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{
        display:block
    }
    .md-tabs--active~.md-main .md-nav[data-md-level="1"]{
        max-height:none;
        overflow:visible
    }
    .md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{
        padding-left:0
    }
    .md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{
        display:none
    }
}
@media only screen and (min-width:45em){
    .md-footer-nav__link{
        width:50%
    }
    .md-footer-copyright{
        max-width:75%;
        float:left
    }
    [dir=rtl] .md-footer-copyright{
        float:right
    }
    .md-footer-social{
        padding:.6rem 0;
        float:right
    }
    [dir=rtl] .md-footer-social{
        float:left
    }
}
@media only screen and (max-width:29.9375em){
    [data-md-toggle=search]:checked~.md-header .md-search__overlay{
        -webkit-transform:scale(45);
        transform:scale(45)
    }
}
@media only screen and (min-width:30em) and (max-width:44.9375em){
    [data-md-toggle=search]:checked~.md-header .md-search__overlay{
        -webkit-transform:scale(60);
        transform:scale(60)
    }
}
@media only screen and (min-width:45em) and (max-width:59.9375em){
    [data-md-toggle=search]:checked~.md-header .md-search__overlay{
        -webkit-transform:scale(75);
        transform:scale(75)
    }
}
@media only screen and (min-width:60em) and (max-width:76.1875em){
    .md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{
        width:23.4rem
    }
    .md-search-result__teaser{
        max-height:2.5rem;
        -webkit-line-clamp:3
    }
}
