/*
 * flasky.css_t
 * ~~~~~~~~~~~~
 *
 * :copyright: Copyright 2010 by Armin Ronacher. Modified by Stefan Pfenninger.
 * :license: Flask Design License, see LICENSE for details.
 */






@import url("basic.css");

@import url('https://rsms.me/inter/inter-ui.css');

@font-face {
    font-family: 'Lato';
    src: url(font/lato-regular.eot);
    src: local('Lato Regular'), local('Lato-Regular'), url(font/lato-regular.eot?#iefix) format('embedded-opentype'), url(font/lato-regular.woff2) format('woff2'), url(font/lato-regular.woff) format('woff'), url(font/lato-regular.ttf) format('truetype'), url(font/lato-regular.svg#lato) format('svg');
    font-weight: 400;
    font-style: normal;
  }

@font-face {
    font-family: 'Lato';
    src: url(font/lato-bold.eot);
    src: local('Lato Bold'), local('Lato-Bold'), url(font/lato-bold.eot?#iefix) format('embedded-opentype'), url(font/lato-bold.woff2) format('woff2'), url(font/lato-bold.woff) format('woff'), url(font/lato-bold.ttf) format('truetype'), url(font/lato-bold.svg#lato) format('svg');
    font-weight: 700;
    font-style: normal;
  }

@font-face {
    font-family: 'Ubuntu Mono';
    src: url('font/ubuntumono-regular-webfont.eot');
    src: url('font/ubuntumono-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/ubuntumono-regular-webfont.woff2') format('woff2'),
         url('font/ubuntumono-regular-webfont.woff') format('woff'),
         url('font/ubuntumono-regular-webfont.ttf') format('truetype'),
         url('font/ubuntumono-regular-webfont.svg#ubuntu_monoregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* -- page layout ----------------------------------------------------------- */

body { font-family: 'Inter UI', sans-serif; }
@supports (font-variation-settings: normal) {
    body { font-family: 'Inter UI var alt', sans-serif; }
}

body {
    /* font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif; */
    font-size: 17px;
    background-color: white;
    color: #000;
    margin: 0;
    padding: 0;
}

div.document {
    min-width: 940px;
    max-width: 1160px;
    margin: 30px auto 0 auto;
}

div.documentwrapper {
    float: left;
    width: 100%;
}

div.bodywrapper {
    margin: 0 0 0 240px;
}

div.sphinxsidebar {
    width: 240px;
    position: sticky;
    top: 35px;
    height: 100vh;
}

.sphinxsidebar h1 {
    font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
    margin-top: 0;
    font-weight: normal;
    color: #98252D;
}

.sphinxsidebar a h1 {
    color: #98252D;
}

.sphinxsidebar .small {
    font-size: 15px;
    color: rgb(97, 97, 97);
}

div#sidebartoc{
    width: 200px;
    overflow-y: auto;
    position: sticky;
    height: 80vh;
}

div#sidebartoc div{
    width: 200px;
    position:relative;
    overflow-y: scroll;
}

div#sidebarsearch{
    width: 200px;
    padding: 0 0 20px 0;
    overflow: visible;
}

#sidebarsearch input {
    width: 200px;
}

hr {
    border: 1px solid #B1B4B6;
}

div.body {
    background-color: #ffffff;
    color: #3E4349;
    padding: 0 30px 0 30px;
}

img.floatingflask {
    padding: 0 0 10px 10px;
    float: right;
}

div.footer {
    min-width: 940px;
    max-width: 1160px;
    margin: 20px auto 30px auto;
    font-size: 15px;
    color: #888;
    text-align: right;
}

div.footer a {
    color: #888;
}

div.related {
    display: none;
}

div.sphinxsidebar a {
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

div.sphinxsidebar a:hover, div.sphinxsidebar a.current:hover {
    border-bottom: 1px solid transparent;
    background-color: #F3F3F3;
}

div.sphinxsidebar .logo a:hover {
    background-color: transparent;
}

div.sphinxsidebar a.current {
    background-color: #D6E1F6;
}

div.sphinxsidebar {
    font-size: 15px;
    line-height: 1.5;
}

div.sphinxsidebarwrapper {
    padding: 0 10px 18px 10px;
}

div.sphinxsidebarwrapper p.logo {
    padding: 0 0 20px 0;
    margin: 0;
    text-align: center;
}

div.sphinxsidebar h3,
div.sphinxsidebar h4 {
    font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
    color: #444;
    font-size: 20px;
    /* font-weight: normal; */
    margin: 0 0 5px 0;
    padding: 0;
    padding-top: 15px;
}

div.sphinxsidebar h4 {
    font-size: 20px;
}

div.sphinxsidebar h3 a {
    color: #444;
    text-decoration: none;
}

div.sphinxsidebar p.logo a,
div.sphinxsidebar h3 a,
div.sphinxsidebar p.logo a:hover,
div.sphinxsidebar h3 a:hover {
    border: none;
}

div.sphinxsidebar p {
    color: #555;
    margin: 10px 0;
}

div.sphinxsidebar ul {
    margin: 10px 0;
    padding: 0;
    color: #000;
}

div.sphinxsidebar input {
    border: 1px solid #ccc;
    font-family: 'Inter UI', 'Helvetica Neue', 'Helvetica', sans-serif;
    font-size: 1em;
}

div.twocol {
    display: flex;
    align-items: center;
}

div.leftside {
    width: 50%;
    padding: 0 15px 0 0;
}

div.rightside {
    width: 50%;
}

div.scrolling-wrapper {
  overflow-x: scroll;
}

/* -- body styles ----------------------------------------------------------- */

a {
    color: #0A2C7E;
    text-decoration: underline;
}

a:hover {
    text-decoration: underline;
}

div.body h1,
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
    font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
    font-weight: normal;
    margin: 30px 0px 10px 0px;
    padding: 0;
}


div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
div.body h2 { font-size: 180%; }
div.body h3 { font-size: 150%; }
div.body h4 { font-size: 130%; }
div.body h5 { font-size: 100%; }
div.body h6 { font-size: 100%; }

a.headerlink {
    color: #ddd;
    padding: 0 4px;
    text-decoration: none;
}

a.headerlink:hover {
    color: #444;
    background: #eaeaea;
}

div.body p, div.body dd, div.body li {
    line-height: 1.4em;
}

div.body p.caption {
    // text-align: center;
    padding: 0 60px;
    font-size: 15px;
    font-family: 'Inter UI', 'Helvetica Neue', 'Helvetica', sans-serif;
}

div.admonition {
    background: #fafafa;
    margin: 20px -30px;
    padding: 10px 30px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

div.admonition tt.xref, div.admonition a tt {
    border-bottom: 1px solid #fafafa;
}

dd div.admonition {
    margin-left: -60px;
    padding-left: 60px;
}

div.admonition p.admonition-title {
    font-family: 'Inter UI', 'Helvetica Neue', 'Helvetica', sans-serif;
    font-weight: normal;
    font-size: 24px;
    margin: 0 0 10px 0;
    padding: 0;
    line-height: 1;
}

div.admonition p.last {
    margin-bottom: 0;
}

div.highlight {
    background-color: white;
}

dt:target, .highlight {
    background: #FAF3E8;
}

div.note {
    background-color: #eee;
    border: 1px solid #ccc;
}

div.seealso {
    background-color: #ffc;
    border: 1px solid #ff6;
}

div.topic {
    background-color: #eee;
}

p.admonition-title {
    display: inline;
}

p.admonition-title:after {
    content: ":";
}

pre, tt {
    font-family: 'Ubuntu Mono', monospace;
    font-size: 1.0em;
}

img.screenshot {
}

tt.descname, tt.descclassname {
    font-size: 0.95em;
}

tt.descname {
    padding-right: 0.08em;
}

img.screenshot {
    -moz-box-shadow: 2px 2px 4px #eee;
    -webkit-box-shadow: 2px 2px 4px #eee;
    box-shadow: 2px 2px 4px #eee;
}

table.docutils {
    border: 1px solid #888;
}

table.docutils td, table.docutils th {
    border: 1px solid #888;
    padding: 0.25em 0.7em;
}

table.field-list, table.footnote {
    border: none;
}

table.footnote {
    margin: 15px 0;
    width: 100%;
    border: 1px solid #eee;
    background: #fdfdfd;
    font-size: 0.9em;
}

table.footnote + table.footnote {
    margin-top: -15px;
    border-top: none;
}

table.field-list th {
    padding: 0 0.8em 0 0;
}

table.field-list th.field-name {
    background-color: rgb(238, 238, 238);
    padding: 1px 8px 1px 5px;
    white-space: nowrap;
    font-weight: normal;
}

table.field-list td {
    padding: 0;
}

table.field-list td.field-body {
    padding-left: 10px;
}

table.field-list td.field-body > p {
    font-style: italic;
}

table.field-list td.field-body > p > strong {
    font-style: normal;
}

table.footnote td.label {
    width: 0px;
    padding: 0.3em 0 0.3em 0.5em;
}

table.footnote td {
    padding: 0.3em 0.5em;
}

table.citation {
    font-size: 15px;
}

table.citation td.label {
    width: 120px;
}

table.citation, table.citation td, table.citation th {
    border: none;
    padding: 0;
}

table.citation {
    margin-bottom: 20px;
}

dl {
    margin: 0;
    padding: 0;
}

dl.method {
    border-top: 1px solid #E2E2E2;
    padding-top: 10px;
}

dl dd {
    margin-left: 30px;
}

blockquote {
    margin: 0 0 0 30px;
    padding: 0;
}

ul, ol {
    margin: 10px 0 10px 30px;
    padding: 0;
}

pre {
    background: #ececec;
    padding: 7px 30px;
    margin: 15px -30px;
    line-height: 1.3em;
}

code.docutils {
    background: #ececec;
    padding: 2px;
}

.pre {
    font-family: 'Ubuntu Mono', monospace;
    background: #ececec;
}

.admonition .pre {
    background: transparent;
}

dl pre, blockquote pre, li pre {
    margin-left: -60px;
    padding-left: 60px;
}

dl dl pre {
    margin-left: -90px;
    padding-left: 90px;
}

tt {
    background-color: #ecf0f3;
    color: #222;
    /* padding: 1px 2px; */
}

tt.xref, a tt {
    background-color: #FBFBFB;
    /* border-bottom: 1px solid white; */
}

a.reference {
    text-decoration: none;
    border-bottom: 1px solid #999;
}

a.reference:hover {
    background-color: #F3F3F3;
    border-bottom: 1px solid #000000;
}

a.footnote-reference {
    text-decoration: none;
    font-size: 0.7em;
    vertical-align: top;
    border-bottom: 1px dotted #004B6B;
}

a.footnote-reference:hover {
    border-bottom: 1px solid #000000;
}

a:hover tt {
    background: #EEE;
}


@media screen and (max-width: 870px) {

    div.sphinxsidebar {
        display: none;
    }

    div.document {
       width: 100%;

    }

    div.documentwrapper {
        margin-left: 0;
        margin-top: 0;
        margin-right: 0;
        margin-bottom: 0;
    }

    div.bodywrapper {
        margin-top: 0;
        margin-right: 0;
        margin-bottom: 0;
        margin-left: 0;
    }

    ul {
        margin-left: 0;
    }

    .document {
        width: auto;
    }

    .footer {
        width: auto;
    }

    .bodywrapper {
        margin: 0;
    }

    .footer {
        width: auto;
    }

    .github {
        display: none;
    }

    .github-corner {
        display: none;
    }

}



@media screen and (max-width: 875px) {

    body {
        margin: 0;
        padding: 20px 30px;
    }

    div.documentwrapper {
        float: none;
        background: white;
    }

    div.sphinxsidebar {
        display: block;
        float: none;
        width: 102.5%;
        margin: 50px -30px -20px -30px;
        padding: 10px 20px;
        background: #333;
        color: white;
    }

    div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
    div.sphinxsidebar h3 a {
        color: white;
    }

    div.sphinxsidebar a {
        color: #aaa;
    }

    div.sphinxsidebar p.logo {
        display: none;
    }

    div.document {
        width: 100%;
        margin: 0;
    }

    div.related {
        display: block;
        margin: 0;
        padding: 10px 0 20px 0;
    }

    div.related ul,
    div.related ul li {
        margin: 0;
        padding: 0;
    }

    div.footer {
        display: none;
    }

    div.bodywrapper {
        margin: 0;
    }

    div.body {
        min-height: 0;
        padding: 0;
    }

    .rtd_doc_footer {
        display: none;
    }

    .document {
        width: auto;
    }

    .footer {
        width: auto;
    }

    .footer {
        width: auto;
    }

    .github {
        display: none;
    }
}


/* scrollbars */

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
    display: block;
    height: 10px;
}

::-webkit-scrollbar-button:vertical:increment {
    background-color: #fff;
}

::-webkit-scrollbar-track-piece {
    background-color: #eee;
    -webkit-border-radius: 3px;
}

::-webkit-scrollbar-thumb:vertical {
    height: 50px;
    background-color: #ccc;
    -webkit-border-radius: 3px;
}

::-webkit-scrollbar-thumb:horizontal {
    width: 50px;
    background-color: #ccc;
    -webkit-border-radius: 3px;
}

/* misc. */

.revsys-inline {
    display: none!important;
}


/* colored changelog boxes */


.green {
  background-color: rgba(0, 151, 142, 0.25);
  color: #00978e;
  border-radius: 2px;
  padding: 1px 4px 1px 4px;
  font-size: 0.9em;
}

.blue {
  background-color: rgba(0, 83, 159, 0.25);
  color: #00539f;
  border-radius: 2px;
  padding: 1px 4px 1px 4px;
  font-size: 0.9em;
}

.red {
  background-color: rgba(217, 57, 54, 0.25);
  color: #D93936;
  border-radius: 2px;
  padding: 1px 4px 1px 4px;
  font-size: 0.9em;
}

.yellow {
  background-color: rgba(254, 247, 80, 0.5);
  color: #757719;
  border-radius: 2px;
  padding: 1px 4px 1px 4px;
  font-size: 0.9em;
}

.grey {
  background-color: rgba(73, 73, 73, 0.25);
  color: #494949;
  border-radius: 2px;
  padding: 1px 4px 1px 4px;
  font-size: 0.9em;
}

.figure img {
  justify-content: center;
  text-align: center;
  display: flex;
  margin: 0 auto;
}

/* API */

dl.function {
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 30px;
    padding-bottom: 30px;
}

h2 + span + dl.function, h2 + dl.function {
    padding-top: 20px;
}

dl.function dd {
    padding-top: 5px;
}

.function code {
    word-break: break-all;
    overflow-wrap: break-word;
}

code.descclassname {
    color: #c5c5c5;
    margin-top: 20px;
    font-size: 90%;
}

code.descclassname:after {
    content:"\a";
    white-space: pre;
}

code.descname {
    font-size: 100%;
}

.scrolling-wrapper .math {
    font-size: 90%
}

/* JUPYTER NOTEBOOK BELOW */

div#notebook {
    font-size: 15px;
    line-height: 20px;
    overflow-y: hidden;
    overflow-x: auto;
    width: 100%;
    /* This spaces the page away from the edge of the notebook area */
    padding-top: 20px;
    margin: 0px;
    outline: none;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    min-height: 100%;
}

@media not print {
    #notebook-container {
        min-height: 0;
    }
}

@media print {
    #notebook-container {
        width: 100%;
    }
}

div#notebook {
    overflow: visible;
    border-top: none;
}

@media print {
    div.cell {
        display: block;
        page-break-inside: avoid;
    }
    div.output_wrapper {
        display: block;
        page-break-inside: avoid;
    }
    div.output {
        display: block;
        page-break-inside: avoid;
    }
}

.border-box-sizing {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 0px;
    padding-right: 0px;
}

div.cell {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-radius: 2px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    width: 100%;
    padding: 5px;
    /* This acts as a spacer between cells, that is outside the border */
    margin: 0px;
    outline: none;
    border-left-width: 1px;
    padding-left: 5px;
    background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}

div.cell.jupyter-soft-selected {
    border-left-color: #90CAF9;
    border-left-color: #E3F2FD;
    border-left-width: 1px;
    padding-left: 5px;
    border-right-color: #E3F2FD;
    border-right-width: 1px;
    background: #E3F2FD;
}

@media print {
    div.cell.jupyter-soft-selected {
        border-color: transparent;
    }
}

div.cell.selected {
    border-color: #ababab;
    border-left-width: 0px;
    padding-left: 6px;
    background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}

@media print {
    div.cell.selected {
        border-color: transparent;
    }
}

div.cell.selected.jupyter-soft-selected {
    border-left-width: 0;
    padding-left: 6px;
    background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}

.edit_mode div.cell.selected {
    border-color: #66BB6A;
    border-left-width: 0px;
    padding-left: 6px;
    background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}

@media print {
    .edit_mode div.cell.selected {
        border-color: transparent;
    }
}

.prompt {
    /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
    min-width: 9ex;  /* FIXME: modified from 14ex, possibly too narrow for 3 digit numbers */
    /* This padding is tuned to match the padding on the CodeMirror editor. */
    padding: 0.4em;
    margin: 0px;
    font-size: 80%;
    font-family: 'Ubuntu Mono', monospace;
    text-align: right;
    /* This has to match that of the the CodeMirror class line-height below */
    line-height: 1.21429em;
    /* Don't highlight prompt number selection */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Use default cursor */
    cursor: default;
}

@media (max-width: 540px) {
    .prompt {
        text-align: left;
    }
}

div.inner_cell {
    min-width: 0;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* Old browsers */
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    /* Modern browsers */
    flex: 1;
}

/* input_area and input_prompt must match in top border and margin for alignment */

div.input_area {
    border: 1px solid #cfcfcf;
    border-radius: 2px;
    background: #f7f7f7;
    line-height: 1.21429em;
}

/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */

div.prompt:empty {
    padding-top: 0;
    padding-bottom: 0;
}

div.unrecognized_cell {
    padding: 5px 5px 5px 0px;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: horizontal;
    -moz-box-align: stretch;
    display: box;
    box-orient: horizontal;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

div.unrecognized_cell .inner_cell {
    border-radius: 2px;
    padding: 5px;
    font-weight: bold;
    color: red;
    border: 1px solid #cfcfcf;
    background: #eaeaea;
}

div.unrecognized_cell .inner_cell a {
    color: inherit;
    text-decoration: none;
}

div.unrecognized_cell .inner_cell a:hover {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 540px) {
    div.unrecognized_cell>div.prompt {
        display: none;
    }
}

div.code_cell {
    /* avoid page breaking on code cells when printing */
}

@media print {
    div.code_cell {
        page-break-inside: avoid;
    }
}

/* any special styling for code cells that are currently running goes here */

div.input {
    page-break-inside: avoid;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: horizontal;
    -moz-box-align: stretch;
    display: box;
    box-orient: horizontal;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

@media (max-width: 540px) {
    div.input {
        /* Old browsers */
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-box-align: stretch;
        display: -moz-box;
        -moz-box-orient: vertical;
        -moz-box-align: stretch;
        display: box;
        box-orient: vertical;
        box-align: stretch;
        /* Modern browsers */
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
}

/* input_area and input_prompt must match in top border and margin for alignment */

div.input_prompt {
    color: #303F9F;
    border-top: 1px solid transparent;
}

div.input_area>div.highlight {
    margin: 0.4em;
    border: none;
    padding: 0px;
    background-color: transparent;
}

div.input_area>div.highlight>pre {
    margin: 0px;
    border: none;
    padding: 0px;
    background-color: transparent;
}

div.output_wrapper {
    /* this position must be relative to enable descendents to be absolute within it */
    position: relative;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    z-index: 1;
}

/* class for the output area when it should be height-limited */

div.output_scroll {
    /* ideally, this would be max-height, but FF barfs all over that */
    height: 24em;
    /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
    width: 100%;
    overflow: auto;
    border-radius: 2px;
    -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
    display: block;
}

/* output div while it is collapsed */

div.output_collapsed {
    margin: 0px;
    padding: 0px;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

div.out_prompt_overlay {
    height: 100%;
    padding: 0px 0.4em;
    position: absolute;
    border-radius: 2px;
}

div.out_prompt_overlay:hover {
    /* use inner shadow to get border that is computed the same on WebKit/FF */
    -webkit-box-shadow: inset 0 0 1px #000;
    box-shadow: inset 0 0 1px #000;
    background: rgba(240, 240, 240, 0.5);
}

div.output_prompt {
    color: #D84315;
}

/* This class is the outer container of all output sections. */

div.output_area {
    padding: 0px;
    page-break-inside: avoid;
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: horizontal;
    -moz-box-align: stretch;
    display: box;
    box-orient: horizontal;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

div.output_area .MathJax_Display {
    text-align: left !important;
}

div.output_area .rendered_html table {
    margin-left: 0;
    margin-right: 0;
}

div.output_area .rendered_html img {
    margin-left: 0;
    margin-right: 0;
}

div.output_area img,
div.output_area svg {
    max-width: 100%;
    height: auto;
}

div.output_area img.unconfined,
div.output_area svg.unconfined {
    max-width: none;
}

/* This is needed to protect the pre formating from global settings such
as that of bootstrap */

.output {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

@media (max-width: 540px) {
    div.output_area {
        /* Old browsers */
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-box-align: stretch;
        display: -moz-box;
        -moz-box-orient: vertical;
        -moz-box-align: stretch;
        display: box;
        box-orient: vertical;
        box-align: stretch;
        /* Modern browsers */
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
}

div.output_area pre {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    color: black;
    background-color: transparent;
    border-radius: 0;
}

/* This class is for the output subarea inside the output_area and after
the prompt div. */

div.output_subarea {
    overflow-x: auto;
    padding: 0.4em;
    /* Old browsers */
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    /* Modern browsers */
    flex: 1;
    max-width: calc(100% - 14ex);
}

div.output_scroll div.output_subarea {
    overflow-x: visible;
}

/* The rest of the output_* classes are for special styling of the different
output types */

/* all text output has this class: */

div.output_text {
    text-align: left;
    color: #000;
    /* This has to match that of the the CodeMirror class line-height below */
    line-height: 1.21429em;
}

/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */

div.output_stderr {
    background: #fdd;
    /* very light red background for stderr */
}

div.output_latex {
    text-align: left;
}

/* Empty output_javascript divs should have no height */

div.output_javascript:empty {
    padding: 0;
}

.js-error {
    color: darkred;
}

/* raw_input styles */

div.raw_input_container {
    line-height: 1.21429em;
    padding-top: 5px;
}

pre.raw_input_prompt {
    /* nothing needed here. */
}

input.raw_input {
    font-family: 'Ubuntu Mono', monospace;
    font-size: inherit;
    color: inherit;
    width: auto;
    /* make sure input baseline aligns with prompt */
    vertical-align: baseline;
    /* padding + margin = 0.5em between prompt and cursor */
    padding: 0em 0.25em;
    margin: 0em 0.25em;
}

input.raw_input:focus {
    box-shadow: none;
}

p.p-space {
    margin-bottom: 10px;
}

div.output_unrecognized {
    padding: 5px;
    font-weight: bold;
    color: red;
}

div.output_unrecognized a {
    color: inherit;
    text-decoration: none;
}

div.output_unrecognized a:hover {
    color: inherit;
    text-decoration: none;
}

.rendered_html {
    color: #000;
    /* any extras will just be numbers: */
}

.rendered_html em {
    font-style: italic;
}

.rendered_html strong {
    font-weight: bold;
}

.rendered_html u {
    text-decoration: underline;
}

.rendered_html :link {
    text-decoration: underline;
}

.rendered_html :visited {
    text-decoration: underline;
}

.rendered_html h1 {
    font-size: 185.7%;
    margin: 1.08em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
}

.rendered_html h2 {
    font-size: 157.1%;
    margin: 1.27em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
}

.rendered_html h3 {
    font-size: 128.6%;
    margin: 1.55em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
}

.rendered_html h4 {
    font-size: 100%;
    margin: 2em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
}

.rendered_html h5 {
    font-size: 100%;
    margin: 2em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
    font-style: italic;
}

.rendered_html h6 {
    font-size: 100%;
    margin: 2em 0 0 0;
    font-weight: bold;
    line-height: 1.0;
    font-style: italic;
}

.rendered_html h1:first-child {
    margin-top: 0.538em;
}

.rendered_html h2:first-child {
    margin-top: 0.636em;
}

.rendered_html h3:first-child {
    margin-top: 0.777em;
}

.rendered_html h4:first-child {
    margin-top: 1em;
}

.rendered_html h5:first-child {
    margin-top: 1em;
}

.rendered_html h6:first-child {
    margin-top: 1em;
}

.rendered_html ul {
    list-style: disc;
    margin: 0em 2em;
    padding-left: 0px;
}

.rendered_html ul ul {
    list-style: square;
    margin: 0em 2em;
}

.rendered_html ul ul ul {
    list-style: circle;
    margin: 0em 2em;
}

.rendered_html ol {
    list-style: decimal;
    margin: 0em 2em;
    padding-left: 0px;
}

.rendered_html ol ol {
    list-style: upper-alpha;
    margin: 0em 2em;
}

.rendered_html ol ol ol {
    list-style: lower-alpha;
    margin: 0em 2em;
}

.rendered_html ol ol ol ol {
    list-style: lower-roman;
    margin: 0em 2em;
}

.rendered_html ol ol ol ol ol {
    list-style: decimal;
    margin: 0em 2em;
}

.rendered_html *+ul {
    margin-top: 1em;
}

.rendered_html *+ol {
    margin-top: 1em;
}

.rendered_html hr {
    color: black;
    background-color: black;
}

.rendered_html pre {
    margin: 1em 2em;
}

.rendered_html pre,
.rendered_html code {
    border: 0;
    background-color: #fff;
    color: #000;
    font-size: 100%;
    padding: 0px;
}

.rendered_html blockquote {
    margin: 1em 2em;
}

.rendered_html table {
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    border-collapse: collapse;
}

.rendered_html tr,
.rendered_html th,
.rendered_html td {
    border-collapse: collapse;
    margin: 1em 2em;
}

.rendered_html th {
    border-bottom: 1px solid black;
}

.rendered_html td,
.rendered_html th {
    text-align: left;
    vertical-align: middle;
    padding: 4px;
}

.rendered_html th {
    font-weight: bold;
}

.rendered_html *+table {
    margin-top: 1em;
}

.rendered_html p {
    text-align: left;
}

.rendered_html *+p {
    margin-top: 1em;
}

.rendered_html img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.rendered_html *+img {
    margin-top: 1em;
}

.rendered_html img,
.rendered_html svg {
    max-width: 100%;
    height: auto;
}

.rendered_html img.unconfined,
.rendered_html svg.unconfined {
    max-width: none;
}

div.text_cell {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: horizontal;
    -moz-box-align: stretch;
    display: box;
    box-orient: horizontal;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

@media (max-width: 540px) {
    div.text_cell>div.prompt {
        display: none;
    }
}

div.text_cell_render {
    outline: none;
    resize: none;
    width: inherit;
    border-style: none;
    padding: 0.5em 0.5em 0.5em 0.4em;
    color: #000;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

a.anchor-link:link {
    text-decoration: none;
    padding: 0px 20px;
    visibility: hidden;
}

h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
    visibility: visible;
}

.text_cell.rendered .input_area {
    display: none;
}

.text_cell.rendered .rendered_html {
    overflow-x: auto;
    overflow-y: hidden;
}

.text_cell.unrendered .text_cell_render {
    display: none;
}

.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
    font-weight: bold;
    font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
}

.cm-header-1 {
    font-size: 185.7%;
}

.cm-header-2 {
    font-size: 157.1%;
}

.cm-header-3 {
    font-size: 128.6%;
}

.cm-header-4 {
    font-size: 110%;
}

.cm-header-5 {
    font-size: 100%;
    font-style: italic;
}

.cm-header-6 {
    font-size: 100%;
    font-style: italic;
}

.highlight .hll {
    background-color: #ffffcc
}

.highlight {
    background: #f8f8f8;
}

.highlight .c, .code .comment {
    color: #408080;
    font-style: italic
}

/* Comment */

.highlight .err, .code .error {
    border: 1px solid #FF0000
}

/* Error */

.highlight .k, .code .keyword, .code .keyword {
    color: #008000;
    font-weight: bold
}

/* Keyword */

.highlight .p, .code .punctuation {
    color: #000000; font-weight: bold
}

/* Punctuation */

.highlight .o, .code .operator {
    color: #666666
}

/* Operator */

.highlight .ch, .code .comment.hashbang {
    color: #408080;
    font-style: italic
}

/* Comment.Hashbang */

.highlight .cm, .code .comment.multiline {
    color: #408080;
    font-style: italic
}

/* Comment.Multiline */

.highlight .cp, .code .comment.preproc {
    color: #BC7A00
}

/* Comment.Preproc */

.highlight .cpf, .code .comment.preprocfile {
    color: #408080;
    font-style: italic
}

/* Comment.PreprocFile */

.highlight .c1, .code .comment.single {
    color: #408080;
    font-style: italic
}

/* Comment.Single */

.highlight .cs, .code .comment.special {
    color: #408080;
    font-style: italic
}

/* Comment.Special */

.highlight .gd, .code .generic {
    color: #000000
}

/* Generic */

.highlight .gd, .code .generic.deleted {
    color: #A00000
}

/* Generic.Deleted */

.highlight .ge, .code .generic.emph {
    font-style: italic
}

/* Generic.Emph */

.highlight .gr, .code .generic.error {
    color: #FF0000
}

/* Generic.Error */

.highlight .gh, .code .generic.heading {
    color: #000080;
    font-weight: bold
}

/* Generic.Heading */

.highlight .gi, .code .generic.inserted {
    color: #00A000
}

/* Generic.Inserted */

.highlight .go, .code .generic.output {
    color: #888888
}

/* Generic.Output */

.highlight .gp, .code .generic.prompt {
    color: #000080;
    font-weight: bold
}

/* Generic.Prompt */

.highlight .gs, .code .generic.strong {
    font-weight: bold
}

/* Generic.Strong */

.highlight .gu, .code .generic.subheading {
    color: #800080;
    font-weight: bold
}

/* Generic.Subheading */

.highlight .gt, .code .generic.traceback {
    color: #0044DD
}

/* Generic.Traceback */

.highlight .kc, .code .keyword.constant {
    color: #008000;
    font-weight: bold
}

/* Keyword.Constant */

.highlight .kd, .code .keyword.declaration {
    color: #008000;
    font-weight: bold
}

/* Keyword.Declaration */

.highlight .kn, .code .keyword.namespace {
    color: #008000;
    font-weight: bold
}

/* Keyword.Namespace */

.highlight .kp, .code .keyword.pseudo {
    color: #008000
}

/* Keyword.Pseudo */

.highlight .kr, .code .keyword.reserved {
    color: #008000;
    font-weight: bold
}

/* Keyword.Reserved */

.highlight .kt, .code .keyword.type {
    color: #B00040
}

/* Keyword.Type */

.highlight .m, .code .literal.number {
    color: #666666
}

/* Literal.Number */

.highlight .s, .code .literal.string {
    color: #BA2121
}

/* Literal.String */

.highlight .n, .code .name {
    color: #000000
}

/* Name */

.highlight .na, .code .name.attribute {
    color: #7D9029
}

/* Name.Attribute */

.highlight .nb, .code .name.builtin {
    color: #008000
}

/* Name.Builtin */

.highlight .nc, .code .name.class {
    color: #0000FF;
    font-weight: bold
}

/* Name.Class */

.highlight .no, .code .name.constant {
    color: #880000
}

/* Name.Constant */

.highlight .nd, .code .name.decorator {
    color: #AA22FF
}

/* Name.Decorator */

.highlight .ni, .code .name.entity {
    color: #999999;
    font-weight: bold
}

/* Name.Entity */

.highlight .ne, .code .name.exception {
    color: #D2413A;
    font-weight: bold
}

/* Name.Exception */

.highlight .nf, .code .name.function {
    color: #0000FF
}

/* Name.Function */

.highlight .nl, .code .name.label {
    color: #A0A000
}

/* Name.Label */

.highlight .nn, .code .name.namespace {
    color: #0000FF;
    font-weight: bold
}

/* Name.Namespace */

.highlight .nt, .code .name.tag {
    color: #008000;
    font-weight: bold
}

/* Name.Tag */

.highlight .nv, .code .name.variable {
    color: #19177C
}

/* Name.Variable */

.highlight .o, .code .operator {
    color: #582800
}

/* Operator */

.highlight .ow, .code .operator.word {
    color: #AA22FF;
    font-weight: bold
}

/* Operator.Word */

.highlight .w, .code .text.whitespace {
    color: #bbbbbb
}

/* Text.Whitespace */

.highlight .mb, .code .literal.number.bin {
    color: #666666
}

/* Literal.Number.Bin */

.highlight .mf, .code .literal.number.float {
    color: #666666
}

/* Literal.Number.Float */

.highlight .mh, .code .literal.number.hex {
    color: #666666
}

/* Literal.Number.Hex */

.highlight .mi, .code .literal.number.integer {
    color: #666666
}

/* Literal.Number.Integer */

.highlight .mo, .code .literal.number.oct {
    color: #666666
}

/* Literal.Number.Oct */

.highlight .sa, .code .literal.string.affix {
    color: #BA2121
}

/* Literal.String.Affix */

.highlight .sb, .code .literal.string.backtick {
    color: #BA2121
}

/* Literal.String.Backtick */

.highlight .sc, .code .literal.string.char {
    color: #BA2121
}

/* Literal.String.Char */

.highlight .dl, .code .literal.string.delimiter {
    color: #BA2121
}

/* Literal.String.Delimiter */

.highlight .sd, .code .literal.string.doc {
    color: #BA2121;
    font-style: italic
}

/* Literal.String.Doc */

.highlight .s2, .code .literal.string.double {
    color: #BA2121
}

/* Literal.String.Double */

.highlight .se, .code .literal.string.escape {
    color: #BB6622;
    font-weight: bold
}

/* Literal.String.Escape */

.highlight .sh, .code .literal.string.heredoc {
    color: #BA2121
}

/* Literal.String.Heredoc */

.highlight .si, .code .literal.string.interpol {
    color: #BB6688;
    font-weight: bold
}

/* Literal.String.Interpol */

.highlight .sx, .code .literal.string.other {
    color: #008000
}

/* Literal.String.Other */

.highlight .sr, .code .literal.string.regex {
    color: #BB6688
}

/* Literal.String.Regex */

.highlight .s1, .code .literal.string.single {
    color: #BA2121
}

/* Literal.String.Single */

.highlight .ss, .code .literal.string.symbol {
    color: #19177C
}

/* Literal.String.Symbol */

.highlight .bp, .code .name.builtin.pseudo {
    color: #008000
}

/* Name.Builtin.Pseudo */

.highlight .fm, .code .name.function.magic {
    color: #0000FF
}

/* Name.Function.Magic */

.highlight .vc, .code .name.variable.class {
    color: #19177C
}

/* Name.Variable.Class */

.highlight .vg, .code .name.variable.global {
    color: #19177C
}

/* Name.Variable.Global */

.highlight .vi, .code .name.variable.instance {
    color: #19177C
}

/* Name.Variable.Instance */

.highlight .vm, .code .name.variable.magic {
    color: #19177C
}

/* Name.Variable.Magic */

.highlight .il, .code .literal.number.integer.long {
    color: #666666
}

/* Literal.Number.Integer.Long */