* {
    font-family: 'Roboto Slab';
    font-weight: 300;
    margin: 0;
    padding: 0;
    position: relative;
    line-height: 200%;
}

html, body {
    min-height: 100%;
    font-size:16px;
}

html, body, section, p, h1, h2, h3, h4, h5, h6, header, footer {
    width: 100%;
}

a {
    font-family: inherit;
    font-weight: inherit;
}

nav li {
    list-style: none;
}

    .wrap ul,.wrap ol {
        padding-left:2em;
    }

.tool {
    transition: 0.1s cubic-bezier(0.79,0.14,0.15,0.86) 0s;
    -webkit-transition: 0.1s cubic-bezier(0.79,0.14,0.15,0.86) 0s;
    -moz-transition: 0.1s cubic-bezier(0.79,0.14,0.15,0.86) 0s;
    -o-transition: 0.1s cubic-bezier(0.79,0.14,0.15,0.86) 0s;
}

.button {
    transition: 0.2s ease;
    -webkit-transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    -o-transition: 0.2s ease;
}

.toc,.main,header {
    transition: 0.5s cubic-bezier(0.68,-0.55,0.27,1.55) 0s;
    -webkit-transition: 0.5s cubic-bezier(0.68,-0.55,0.27,1.55) 0s;
    -moz-transition: 0.5s cubic-bezier(0.68,-0.55,0.27,1.55) 0s;
    -o-transition: 0.5s cubic-bezier(0.68,-0.55,0.27,1.55) 0s;
}

.toolbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #FFF;
    height: 75px;
    z-index: 200;
    box-shadow: 0 0 3px 0 rgba(0,0,0,0.3);
}

.toolbar .toolbar-logo {
    padding: 25px;
}

.toolbar-logo img {
    height: 25px;
    width: 25px;
}

.toolbar nav {
    margin: 0;
    padding: 0;
    float: right;
}

.tool {
    width: 75px;
    height: 75px;
    padding: 20px;
    float: right;
    display: inline-block;
    text-align: center;
    cursor: pointer;
}

.tool:hover,.tool.s {
    background-color: #333;
    color: #FFF;
    border-right: 1px solid transparent;
}

.tool + .tool {
    border-right: 1px solid #eee;
}

.tool i {
    line-height: 35px;
    display: inline-block;
    text-align: center;
}

.tool sup i {
    font-size: 7px;
}

.tool label {
    position: absolute;
    top: 110%;
    display: none;
    left: 0;
    width: 100%;
    background-color: #222;
    color: #FFF;
    text-transform: uppercase;
    font-size: 0.65em;
    padding: 10px;
    line-height: 125%;
}

.tool label::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-top: 5px solid transparent;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-bottom: 5px solid #222;
}

.tool:hover label {
    display: block;
}

.chapter-ctt th, .chapter-ctt td {
    padding:0.25em 0.5em;
}

    .chapter-ctt th {
        font-weight:700;
    }

.chapter-ctt table {
    width:100%;
}

nav.toc {
    position: fixed;
    top: 75px;
    bottom: 0;
    right: -33.33%;
    float: right;
    left: auto;
    background-color: #f6f6f6;
    z-index: 150;
    padding: 3em;
    overflow-y: scroll;
    overflow-x: hidden;
}

.toc a {
    text-align: left;
    float: none;
    letter-spacing: 0;
    font-size: 1.15em;
    padding: 5px;
}

.t1 a,.t2 a,.t3 a,.t4 a,.t5 a {
    text-transform: none;
}

.t1 {
    padding-left: 10px;
}

.t2 {
    padding-left: 20px;
}

.t3 {
    padding-left: 30px;
}

.t4 {
    padding-left: 40px;
}

.t5 {
    padding-left: 50px;
}

nav.toc.s {
    right: 0;
}

.s .main,.s header {
    right: 33.33%;
}

p a::before,.note {
    content: attr(href);
    position: absolute;
    bottom: 110%;
    line-height:1.5em;
    background-color: #333;
    color: #FFF;
    font-size: 0.75em;
    padding: 7.5px;
    display: none;
    left: 0;
}

p a {
    cursor:pointer;
}

p > a:hover::before,p > a:hover::after,.footnote:hover .note,.footnote:hover::after,
.citation:hover .cite,.citation:hover::after {
    display: block;
}

p a::after,.footnote::after,.citation::after {
    content: "";
    width: 0;
    height: 0;
    border-top: 3px solid #333;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    position: absolute;
    bottom: 110%;
    margin-bottom: -6px;
    left: 10px;
    display: none;
}
    .citation::after {
        border-top:3px solid #f6f6f6;
        bottom:100%;
    }
.footnote i,.citation i {
    font-size:14px;
    padding:0 3px 0 6px;
    cursor:pointer;
    color:#CCC;
    margin-left:-3px;
}
    .footnote:hover i,.citation:hover i {
        color:#333;
    }
    .footnote .note,.footnote::after {
        bottom:100%;
    }
    .note *,.note *:hover {
        color:#FFF;
    }
.cite {
    position:absolute;
    bottom:100%;
    left:0;
    width:300px;
    background-color:#f6f6f6;
    padding:1em;
    display:none
}
    .line {
        width:100%;
        display:block;
        padding-bottom:0.5em;
    }
        .line,.line .key {
            float:left;
        }
    .line,.cite .key,.cite .value {
        line-height:125%;
    }
    .cite .key,.cite .value {
        font-size:0.8em;
    }
    .cite .value {
        width:80%;
        float:right;
    }
    .key {
        color:#999;
    }

@media (max-width:990px) {
    nav.toc {
        right: -100%;
        width: 100%;
    }
}
p + h1,p + h2,p + h3 {
    margin-top:1em;
}
h1 {
    font-size:3em;
    font-weight:300;
}
h2 {
    font-size:2em;
    font-weight:300;
    margin-top:1em;
}
h3 {
    margin-top:2em;
}
h2 + p, h1 + p, h3 + p, main ul {
    margin-top:3em;
}
    p {
        margin-top:1em;
    }
    p + p {
        margin-top:1.5em;
    }
    .toc ul {
        height:100%;
        padding-bottom:3em;
    }
    .toc li:last-child {
        padding-bottom:5em;
    }
h1,h2,h3,h1 a,h2 a,h3 a {
    line-height:125%;
}
h1 a,h2 a,h3 a,p a,li a {
    color:#000;
    border-bottom:1px dotted #29abe2;
}
    h1 a:hover,h2 a:hover, h3 a:hover,p a:hover,li a:hover {
        background-color:rgba(0, 255, 255, 0.1);
        border-bottom:1px solid #29abe2;
        text-decoration:none;
    }
.logo {
    width:5em;
    margin:3em 0 1em 0;
}
.floater-container {
    width:100%;
    text-align:center;
}
    .floater {
        text-align:left;
        display:inline-block;
        float:none;
    }
    .wrap {
        width:60%;
        max-width:800px;
    }
.toc + main {
    margin-top:75px;
}
.heading-ctt {
    padding:3em 0;
}
.chapter-ctt {
    margin-bottom:3em;
}
.button {
    text-transform:uppercase;
    color:#29abe2;
    text-decoration:none;
    display:inline-block;

    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00ffff+0,29abe2+100 */
    background: #00ffff; /* Old browsers */
    background: -moz-linear-gradient(left,  #00ffff 0%, #29abe2 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#00ffff), color-stop(100%,#29abe2)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left,  #00ffff 0%,#29abe2 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left,  #00ffff 0%,#29abe2 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left,  #00ffff 0%,#29abe2 100%); /* IE10+ */
    background: linear-gradient(to right,  #00ffff 0%,#29abe2 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffff', endColorstr='#29abe2',GradientType=1 ); /* IE6-9 */
}
.button .pop {
    margin: 0.3em;
    float:right;
    background-color:#FFF;
    padding:0.5em 2em;
}
.button:hover .pop {
    background-color:transparent;
    text-decoration:none;
    color:#FFF;
}
.chapter-ctt h1, .chapter-ctt h2 {

}
main {
    padding-bottom:5em;
}
@media (max-width:990px) {
    .wrap {
        width:80%;
    }
}

.chapter-ctt pre {
    padding:0.2em 2em;
    border-radius:0;
    border:none;
    white-space:pre;
    overflow-x:scroll;
    background-color:rgba(245, 245, 245, 0.95);
    margin:0;
    font-size:0.95em;
    text-align:left;
}

.chapter-ctt pre :not(code) {
    font-size:1em;
    white-space:nowrap;
}
.chapter-ctt pre,.chapter-ctt pre * {
    font-family:'Source Code Pro', 'Roboto Slab';
    font-weight:400;
}

.output_subarea pre {
    background-color:white;
}

.output_html,.output_png {
    font-family:'Source Code Pro', 'Roboto Slab';
    font-weight:400;
    overflow-x:scroll;
}

.output_html,.output_png::before {
    padding:1em 1.5em;
}

.ansicyan, pre .kn {
    color:#0080FF;
}
.ansigreen, pre .n,pre .nb {
    color:#690;
}
.ansired {
    color:#f00;
}
pre .nn {
    color:pink;
}
.output_png img, p img {
    max-width:100%;
}
pre .o, pre .k {
    color:purple;
}
pre .p,pre .c {
    color:#999;
}
.hl-ipython3 pre::before,.output_subarea pre::before,.output_html::before,.output_png::before {
    width:100%;
    float:left;
    margin-bottom:0.25em;
    color:#ccc;
}

blockquote {
    background-color:rgba(245,245,245,0.8);
    border-left:5px solid #eee;
}
    blockquote p {
        margin-top:0;
    }
