@charset "UTF-8";
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{
    font:inherit;
    font-size:100%;
    margin:0;
    padding:0;
    border:0
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
    display:block
}
body{
    line-height:1;
    overflow-x:hidden;
    background:#f4f4f4
}
ol,ul{
    list-style:none
}
blockquote,q{
    quotes:none
}
blockquote:after,blockquote:before,q:after,q:before{
    content:"";
    content:none
}
table{
    border-spacing:0;
    border-collapse:collapse
}
.clear:after{
    font-size:0;
    display:block;
    visibility:hidden;
    clear:both;
    height:0;
    content:" "
}
.clear{
    display:inline-block
}
* html .clear{
    height:1%
}
.clear{
    display:block
}
*{
    box-sizing:border-box
}
hr{
    clear:both;
    border:none;
    outline:none
}
em{
    font-style:italic
}
a{
    text-decoration:underline
}
ul{
    list-style:disc
}
ol{
    list-style:decimal
}
ol,ul{
    font-size:14px;
    padding:0 0 0 33px
}
ol li,ul li{
    margin:0
}
blockquote{
    padding:0 15px 0 40px
}
table{
    font-size:13px;
    width:100%;
    margin:20px 0;
    background:#fff
}
table th{
    font-size:16px;
    font-weight:700
}
table tr td{
    padding:7px
}
::selection{
    color:#fff;
    background:#000
}
::-moz-selection{
    color:#fff;
    background:#000
}
body{
    height:100vh;
    margin:0;
    flex-direction:column;
    color:#24292e;
    background-color:#fff
}
body,div.wrapper{
    display:flex;
    overflow:hidden
}
div.wrapper{
    flex-grow:1
}
div.content-wrapper{
    max-width:90ch;
}
@media (min-width:1024px){
    div.content-wrapper{
        margin-left:auto;
        margin-right:auto
    }
}
div.content{
    flex-grow:1;
    display:flex;
    flex-direction:column;
    overflow:auto;
    padding:.5rem;
    margin-bottom:2.5rem
}
@media (min-width:1024px){
    div.content{
        padding:1rem;
        margin-bottom:0
    }
}
div.centered{
    display:flex;
    flex-direction:column;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-around;
    min-width:100%;
    margin:0 auto;
    font-size: 150%;
}
div.flushleft,div.raggedright{
    display:flex;
    justify-content:flex-start
}
div.flushright,div.raggedbottom,div.raggedleft{
    display:flex;
    justify-content:flex-end
}
div.raggedbottom{
    flex-direction:column
}
div.content{
    line-height:1.4rem
}
div.content>p{
    margin:2.1rem 0
}
li>p{
    margin:.28rem 0
}
.icon{
    display:inline-block;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    width:1rem;
    height:1rem;
    stroke-width:0;
    stroke:currentColor;
    fill:currentColor
}
h1,h2,h3,h4,h5,h6{
    font-family:Lucida Grande,Arial,Helvetica,sans-serif;
    font-weight:bold;
}
h1{
    font-size:64px;
    line-height:3.5rem;
    margin:0rem 0
}
h1,h2{
    color:#24292e
}
h2{
    font-size:1.5rem;
    margin:1.3rem 0
}
h3,h4{
    margin:.67rem 0;
    color:#24292e
}
h3,h4,p{
    font-size:1rem
}
p{
    margin:.5rem 0
}
.titlepage{
    text-align:center
}
.titlepage h1{
    font-weight:400
}
b,strong{
    font-weight:700
}
dfn{
    font-style:italic
}
code,kbd,pre,samp{
    font-family:monospace,serif;
    font-size:1rem
}
pre{
    white-space:pre-wrap
}
q{
    quotes:"“" "”" "‘" "’"
}
small{
    font-size:80%
}
sub,sup{
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sup{
    top:-.5rem
}
sub{
    bottom:-.25rem
}
.mdseries,.textmf{
    font-weight:400
}
.bfseries,.textbf{
    font-weight:700
}
.rmfamily,.textrm{
    font-family:serif
}
.sffamily,.textsf{
    font-family:sans-serif
}
.texttt,.ttfamily{
    font-family:monospace
}
.textup,.upshape{
    text-transform:uppercase
}
.itshape,.textit{
    font-style:italic
}
.slshape,.textsl{
    font-style:oblique
}
.scshape,.textsc{
    font-variant:small-caps
}
small.tiny{
    font-size:x-small
}
small.scriptsize{
    font-size:smaller
}
small.footnotesize,small.small{
    font-size:small
}
.normalsize{
    font-size:normal
}
big.large{
    font-size:large
}
big.xlarge,big.xxlarge{
    font-size:x-large
}
big.huge,big.xhuge{
    font-size:xx-large
}
.rm{
    font-family:serif;
    font-style:normal;
    font-weight:400
}
.cal,.it{
    font-style:italic
}
.cal,.it,.sl{
    font-family:serif;
    font-weight:400
}
.sl{
    font-style:oblique
}
.bf{
    font-family:serif;
    font-weight:700
}
.bf,.tt{
    font-style:normal
}
.tt{
    font-family:monospace;
    font-weight:400
}
.underbar{
    text-decoration:underline
}
.fbox,.framebox{
    border:1px solid #000;
    padding:1px 3px
}
.quotation p,.quote p,.verse p{
    margin-top:0;
    margin-bottom:.5em
}
hr{
    color:#000
}
dd{
    margin-left:3rem
}
dd p{
    padding:0;
    margin:0 0 1rem
}
ul.breadcrumbs{
    margin:0;
    padding:0;
    list-style:none;
    font-size:small
}
ul.breadcrumbs li{
    display:inline
}
ul.breadcrumbs a{
    text-decoration:none;
    color:#3a434b
}
li.crumb:after{
    content:" / "
}
div.equation{
    display:flex;
    align-items:center;
    margin:1rem
}
span.equation_label { 
    order: -1;
}
div.equation span.equation_label{
    margin-right:1rem
}
div.equation span.equation_label:before{
    content:"("
}
div.equation span.equation_label:after{
    content:")"
}
div.equation div.equation_content{
    margin:auto
}
figure{
    display:flex;
    flex-direction:column;
    vertical-align:bottom;
    overflow:auto
}
figure img{
    display:block;
    margin:0 auto
}
figcaption{
    display:block;
    text-align:center;
    margin-bottom:.1rem
}
span.caption_ref,span.caption_title,span.subcaption{
    font-weight:700
}
figcaption{
    font-size:62.5%;
}
span.caption_ref:after{
    content:":"
}
span.subref:after{
    content:")"
}
footer#footnotes{
    clear:both;
    padding-top:1rem;
    padding-left:1rem;
    border-color:gray;
    border-top:1px solid
}
footer#footnotes h1{
    font-size:1.5rem;
    margin:0;
    margin-bottom:.5rem;
    color:#000
}
a.footnote{
    text-decoration:none
}
a.footnote sup:after{
    content:"]"
}
a.footnote sup:before{
    content:"["
}
body>header{
    background:#f2f2f2;
    color:#24292e;
    text-shadow:none;
    display:flex;
    align-items:center;
    padding:.5rem
}
svg#toc-toggle{
    width:1.125rem;
    height:1.125rem;
    margin-right:.5rem
}
h1#doc_title{
    color:#24292e;
    font-size:1.5rem;
    margin:auto
}
#doc_title a,#doc_title a:visited{
    text-decoration:none;
    color:#24292e
}
.theindex li{
    list-style-type:none
}
nav.index-groups{
    margin-bottom:1rem
}
a[class^=index-group]{
    text-decoration:none
}
a.index-group:after{
    content:" |"
}
section.theindex{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    margin-top:1rem
}
section.theindex h2{
    min-width:100%;
    margin:1rem 0 .5rem
}
ul.index-column{
    min-width:100%
}
@media (min-width:1024px){
    ul.index-column{
        min-width:auto
    }
}
nav.prev_up_next a.index{
    font-size:small;
    padding-left:.5rem;
    padding-right:.5rem
}
dl.description dt{
    font-weight:700
}
table.list{
    margin-left:15px;
    margin-top:1em;
    margin-bottom:1em
}
table.list td{
    padding-right:5px
}
div.displaymath{
    overflow:auto
}
a.eqref:before{
    content:"("
}
a.eqref:after{
    content:")"
}
nav.prev_up_next{
    position:fixed;
    z-index:1;
    right:0;
    bottom:0;
    display:flex;
    height:2.5rem;
    background:#f2f2f2
}
nav.prev_up_next a{
    font-size:150%;
    margin:auto;
    padding:.5rem 1rem;
    text-decoration:none;
    color:#24292e;
    text-shadow:none
}
hspace,vspace{
    margin:0;
    padding:0
}
div.bigskip{
    margin-bottom:4rem
}
div.medskip{
    margin:0;
    padding:0;
    margin-bottom:2rem
}
div.bigskip{
    margin:0;
    padding:0;
    margin-bottom:1rem
}
.tabular{
    border-collapse:collapse;
    color:#24292e;
    background-color:#fff;
    width:auto
}
.tabular td,.tabular th{
    vertical-align:baseline;
    text-align:left;
    padding:.3em .6em;
    empty-cells:show
}
td p:first-child,th p:first-child{
    margin-top:0;
    margin-bottom:0
}
td p,th p{
    margin-top:1em;
    margin-bottom:0
}
@keyframes a{
    0%{
        background-color:#d9d9d9
    }
    to{
        background-color:#fff
    }
}
div[class$=_thmwrapper]{
    margin-top:1rem
}
div[class$=_thmwrapper]:target{
    animation:a 1s ease
}
div[class$=_thmheading]{
    display:flex;
    font-weight:700;
    line-height:150%
}
span[class$=_thmtitle]:before{
    content:"("
}
span[class$=_thmtitle]:after{
    content:")"
}
div[class$=_thmcontent]{
    font-weight:400;
    margin-left:1rem;
    padding-top:.14rem;
    padding-left:1rem;
    border-left: .1rem solid black;
}
span[class$=_thmlabel]{
    margin-left:.5rem;
    margin-right:.5rem
}
div.proof_heading {
    font-family: serif;
}
div[class$=proof_heading]{
    font-weight:700;
    line-height:120%;
    cursor:pointer
}
div.proof_content{
    font-weight:400;
    margin-left:1rem;
    padding-top:.5rem;
    padding-left:1rem
}
span.expand-proof{
    font-size:80%
}
div.hilite{
    animation:a 1s ease
}
span.qed{
    float:right
}
button.modal{
    border:none;
    text-align:center;
    text-decoration:none;
    background:transparent;
    cursor:pointer;
    padding:0
}
div.modal-container{
    position:fixed;
    z-index:2;
    top:0;
    left:0;
    display:none;
    width:100%;
    height:100%
}
div.modal-content{
    font-weight:400;
    overflow:auto;
    margin:auto;
    vertical-align:middle;
    border:1px solid #e6e6e6;
    border-radius:5px;
    background-color:#fff;
    box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)
}
div.modal-content header{
    position:relative;
    background:#f2f2f2;
    color:#24292e;
    text-shadow:none;
    display:flex;
    flex-direction:row;
    min-height:1rem;
    min-width:100%;
    text-align:center;
    vertical-align:middle;
    padding:0 .5rem;
    justify-content:space-between
}
div.modal-content header button.closebtn{
    font-size:120%;
    font-weight:700;
    background:Transparent;
    border:none;
    margin:auto 0;
    padding-right:.3rem;
    text-decoration:none;
    color:#24292e;
    cursor:pointer
}
div.modal-content header h1{
    font-size:120%;
    margin:auto 0;
    padding:.2rem;
    color:#464f59
}
div.modal-content a{
    text-decoration:none
}
div.modal-content ul{
    padding:1rem;
    list-style:none
}
div.modal-content li{
    padding-left:.5rem
}
a.icon{
    text-decoration:none;
    color:#24292e;
    border:none;
    background-color:Transparent
}
div[class$=_thmheading]:hover div.thm_icons{
    display:inline-block
}
div.thm_icons{
    display:none
}
ul.quizz{
    display:flex;
    flex-direction:column;
    list-style:circle!important
}
ul.quizz li{
    display:flex;
    padding:.5rem;
    flex-direction:row;
    min-width:100%;
    min-height:3rem;
    flex-grow:1;
    align-items:center;
    justify-content:space-between
}
ul.quizz li.active-qright{
    background-color:green
}
ul.quizz li.active-qwrong{
    background-color:red
}
ul.quizz svg.icon{
    display:none;
    padding-right:.5rem;
    width:2rem;
    height:2rem
}
.tikzcd{
    overflow:auto
}
.tikzcd,.tikzpicture{
    display:block;
    margin:.5rem auto
}
.local_toc ul{
    padding-left:1rem;
    list-style:none
}
.local_toc ul a{
    text-decoration:none;
    color:#24292e
}
.local_toc ul li{
    padding:.2rem 0
}
nav.toc{
    flex-shrink:0;
    display:none;
    width:100%;
    overflow-x:hidden;
    overflow-y:auto;
    flex-direction:column;
    margin-right:1rem;
    padding:0;
    padding-right:1rem;
    transition:left .5s ease;
    background-color:#fff;
    border-right:1px solid #f2f2f2
}
@media (min-width:1024px){
    nav.toc{
        display:flex;
        max-width:25ch
    }
}
nav.active{
    width:100%
}
.toc ul{
    min-width:100%;
    padding-left:0;
    list-style:none
}
.toc ul a{
    display:inline-block;
    max-width:90%;
    padding-top:.5rem;
    padding-right:.5rem;
    padding-bottom:.5rem;
    transition:all .1s ease;
    text-align:left;
    text-decoration:none;
    font-size:1.125rem;
    color:#464f59;
    text-shadow:none;
    flex-grow:1
}
.toc ul a:hover{
    transition:all .2s ease;
    background:#e6e6e6
}
.toc ul li{
    display:flex;
    min-width:100%;
    align-items:center;
    flex-wrap:wrap;
    justify-content:space-between;
    background-color:#fff
}
.toc ul li.current{
    background-color:#fff;
    font-weight:700
}
.sub-toc-0 a{
    padding-left:.8rem
}
.sub-toc-1 a{
    padding-left:1.6rem
}
.sub-toc-2 a{
    padding-left:2.4rem
}
.sub-toc-3 a{
    padding-left:3.2rem
}
.sub-toc-4 a{
    padding-left:4rem
}
ul.sub-toc-1,ul.sub-toc-2,ul.sub-toc-3,ul.sub-toc-4{
    display:none
}
span.expand-toc{
    min-width:.7rem;
    width:.8rem;
    height:.8rem;
    padding:0;
    padding-right:.5rem;
    color:#5c6976;
    font-size:125%
}
span.expand-toc,svg.close-toc{
    cursor:pointer;
    text-align:center;
    background-color:Transparent
}
svg.close-toc{
    min-width:1.3rem;
    min-height:1.3rem;
    margin:.5rem;
    margin-left:auto;
    color:#464f59;
    display:none
}
nav.active svg.close-toc{
    display:inline-block
}
ul.active{
    display:block
}
code.verb{
    font-family:monospace;
    font-style:normal;
    font-weight:400
}
pre.verbatim{
    margin:1rem 2rem;
    background-color:#f2f2f2;
    padding:.5rem
}
