button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    appearance: none;
    background-color: #774c9a;
    border: 0;
    border-radius: 0px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
    line-height: 1;
    padding: .75em 1.5em;
    text-decoration: none;
    transition: background-color 150ms ease;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
    background-color: #1e507a;
    color: #fff
}

button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: 0.5
}

button:disabled:hover,
input[type="button"]:disabled:hover,
input[type="reset"]:disabled:hover,
input[type="submit"]:disabled:hover {
    background-color: #774c9a
}

fieldset {
    background-color: #e8e8e7;
    border: 1px solid #e8e8e7;
    margin: 0 0 .75em;
    padding: 1.5em
}

input,
label,
select {
    display: block;
    font-family: "Ubuntu", sans-serif;
    font-size: 14px
}

label {
    font-weight: 600;
    margin-bottom: .375em
}

label.required::after {
    content: "*"
}

label abbr {
    display: none
}

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
input:not([type]),
textarea,
select[multiple=multiple] {
    background-color: #fff;
    border: 1px solid #e8e8e7;
    border-radius: 0px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    margin-bottom: .75em;
    padding: .5em;
    transition: border-color 150ms ease;
    width: 100%
}

input[type="color"]:hover,
input[type="date"]:hover,
input[type="datetime"]:hover,
input[type="datetime-local"]:hover,
input[type="email"]:hover,
input[type="month"]:hover,
input[type="number"]:hover,
input[type="password"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="text"]:hover,
input[type="time"]:hover,
input[type="url"]:hover,
input[type="week"]:hover,
input:not([type]):hover,
textarea:hover,
select[multiple=multiple]:hover {
    border-color: #babab9
}

input[type="color"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="month"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="week"]:focus,
input:not([type]):focus,
textarea:focus,
select[multiple=multiple]:focus {
    border-color: #774c9a;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(33, 87, 132, 0.7);
    outline: none
}

input[type="color"]:disabled,
input[type="date"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="email"]:disabled,
input[type="month"]:disabled,
input[type="number"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="tel"]:disabled,
input[type="text"]:disabled,
input[type="time"]:disabled,
input[type="url"]:disabled,
input[type="week"]:disabled,
input:not([type]):disabled,
textarea:disabled,
select[multiple=multiple]:disabled {
    background-color: #f2f2f2;
    cursor: not-allowed
}

input[type="color"]:disabled:hover,
input[type="date"]:disabled:hover,
input[type="datetime"]:disabled:hover,
input[type="datetime-local"]:disabled:hover,
input[type="email"]:disabled:hover,
input[type="month"]:disabled:hover,
input[type="number"]:disabled:hover,
input[type="password"]:disabled:hover,
input[type="search"]:disabled:hover,
input[type="tel"]:disabled:hover,
input[type="text"]:disabled:hover,
input[type="time"]:disabled:hover,
input[type="url"]:disabled:hover,
input[type="week"]:disabled:hover,
input:not([type]):disabled:hover,
textarea:disabled:hover,
select[multiple=multiple]:disabled:hover {
    border: 1px solid #e8e8e7
}

textarea {
    resize: vertical
}

input[type="search"] {
    appearance: none
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
    margin-right: .375em
}

input[type="checkbox"]+label,
input[type="radio"]+label {
    display: inline-block
}

input[type="file"] {
    margin-bottom: .75em;
    width: 100%
}

select {
    margin-bottom: 1.5em;
    max-width: 100%;
    width: auto
}

dl {
    margin-bottom: .75em
}

dl dt {
    margin-top: .75em;
    font-weight: 600;
    color: #4c4c4c
}

body {
    color: #2f2f2f;
    font-family: "Ubuntu", sans-serif;
    font-feature-settings: "kern", "pnum";
    font-size: 14px;
    line-height: 1.5
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 14px;
    line-height: 1.2
}

p {
    margin: 0 0 .75em
}

a {
    color: #774c9a;
    text-decoration: none;
    transition: color 150ms ease
}

a:active,
a:focus,
a:hover {
    color: #460f72;
    text-decoration: underline
}

hr {
    border-bottom: 1px solid #e8e8e7;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    margin: 1.5em 0
}

img,
picture {
    margin: 0;
    max-width: 100%
}

code,
pre {
    color: #460f72;
    background-color: #fff
}

html {
    box-sizing: border-box
}

*,
*::after,
*::before {
    box-sizing: inherit
}

body {
    margin: 0em;
    padding: 0em;
    color: #2f2f2f;
    font-family: "Ubuntu", sans-serif;
    font-size: 12px
}

@media screen and (min-width: 900px) {
    body {
        font-size: 14px
    }
}

.wrapper,
.section .content {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    position: relative;
    z-index: 9999;
    padding-left: 2em;
    padding-right: 2em
}

.wrapper::after,
.section .content::after {
    clear: both;
    content: "";
    display: table
}

.wrapper::after,
.section .content::after {
    clear: both;
    content: "";
    display: table
}

.title,
.section h1,
.section.docs .content h1 {
    color: #774c9a;
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-size: 2.4285714286em
}

.section .content {
    padding: 0.5em 24px 2em 24px
}

@media screen and (min-width: 640px) {
    .section .content {
        padding: 0.5em 60px 2em 60px
    }
}

.section .content p {
    margin: 1em 0;
    line-height: 1.4em
}

.section .content p+ul {
    margin-top: -0.5em
}

.section .content li {
    list-style-type: inherit;
    list-style-position: inherit
}

.section h3 {
    text-transform: uppercase;
    color: #c4a9d6;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    font-size: 1.2857142857em
}

.section h4 {
    font-size: 1.1428571429em
}

.section .small-title-with-sub .sub {
    font-weight: 400;
    text-transform: none;
    float: right;
    font-size: 14px
}

.section img {
    border-color: #2f2f2f;
    border-style: solid;
    border-width: 1px
}

.section .caption {
    margin-top: 0.25em;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400
}

.section.dark {
    background-color: #e8e8e7
}

.section.light h3 {
    margin-bottom: 1.5em
}

.navigation {
    background-color: #2f2f2f;
    border-bottom: 1px solid #161616;
    min-height: 40px;
    width: 100%;
    z-index: 999;
    font-family: "Source Sans Pro", sans-serif
}

.navigation ul,
.navigation ol {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.navigation .logo {
    float: left;
    max-height: 40px;
    padding-left: 0.2em 0;
    padding-right: 2em;
    margin-left: -5px
}

.navigation .logo img {
    max-height: 40px;
    padding: 0.2em 0
}

.navigation .logo-text {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    color: #c4c3c3;
    display: inline-block;
    text-decoration: none;
    font-size: 1.1428571429em;
    position: absolute;
    left: 60px;
    top: 8px
}

.navigation .navigation-menu-button {
    color: #c4a9d6;
    display: block;
    float: right;
    line-height: 40px;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
    font-size: .8571428571em
}

@media screen and (min-width: 640px) {
    .navigation .navigation-menu-button {
        display: none
    }
}

.navigation .navigation-menu-button:focus,
.navigation .navigation-menu-button:hover {
    color: #e8e8e7
}

.navigation nav {
    float: none;
    z-index: 9999999
}

@media screen and (min-width: 640px) {
    .navigation nav {
        float: right
    }
}

.navigation ul.navigation-menu {
    clear: both;
    display: none;
    margin: -1em auto 1em auto;
    overflow: visible;
    padding: 0;
    width: 100%;
    z-index: 9999
}

.navigation ul.navigation-menu.show {
    display: block
}

@media screen and (min-width: 640px) {
    .navigation ul.navigation-menu {
        display: inline;
        margin: 0;
        padding: 0
    }
}

.navigation ul li.nav-link {
    font-size: .8571428571em;
    background: #2f2f2f;
    display: block;
    line-height: 1.5;
    overflow: hidden;
    padding-right: 0.8em;
    text-align: right;
    width: 100%;
    z-index: 9999
}

@media screen and (min-width: 640px) {
    .navigation ul li.nav-link {
        background: transparent;
        display: inline;
        line-height: 40px;
        text-decoration: none;
        width: auto
    }
    .navigation ul li.nav-link:last-child {
        padding-right: 0
    }
    .navigation ul li.nav-link:last-child>a {
        padding-right: 0
    }
}

.navigation ul li.nav-link a {
    color: #c4a9d6;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase
}

@media screen and (min-width: 640px) {
    .navigation ul li.nav-link a {
        padding-right: 1em
    }
}

.navigation ul li.nav-link a:focus,
.navigation ul li.nav-link a:hover {
    color: #e8e8e7
}

.navigation .active-nav-item a {
    border-bottom: 1px solid #e8e8e7;
    padding-bottom: 3px
}

.second-nav {
    background-color: #774c9a;
    min-height: 1.2em;
    text-transform: uppercase;
    padding: 0.5em 24px
}

.second-nav::after {
    clear: both;
    content: "";
    display: table
}

@media screen and (min-width: 640px) {
    .second-nav {
        padding: 0.5em 60px
    }
}

.second-nav ul,
.second-nav ol {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.second-nav ul li.nav-link {
    background: inherit;
    display: inline;
    line-height: 1.5em;
    padding-right: 2em
}

.second-nav ul li.nav-link a {
    font-size: .8571428571em;
    font-family: "Source Sans Pro", sans-serif;
    color: #FFFFFF
}

.second-nav ul li.nav-link a:focus,
.second-nav ul li.nav-link a:hover {
    text-decoration: underline
}

.second-nav ul li.nav-link a.current {
    color: #c4a9d6
}

.second-nav .navigation-menu {
    float: left
}

.second-nav .navigation-tools {
    clear: both;
    display: block;
    padding-top: 0.4em
}

.second-nav .navigation-tools::after {
    clear: both;
    content: "";
    display: table
}

@media screen and (min-width: 640px) {
    .second-nav .navigation-tools {
        background: transparent;
        clear: none;
        float: right;
        padding-top: 0
    }
}

.second-nav li.more.nav-link {
    padding-right: 0
}

@media screen and (min-width: 640px) {
    .second-nav li.more.nav-link {
        padding-right: 1em
    }
}

.second-nav li.more.nav-link>ul>li:first-child a {
    padding-top: 1em
}

.second-nav li.more.nav-link a {
    margin-right: 1em
}

.second-nav li.more.nav-link>a {
    padding-right: 0.6em
}

.second-nav li.more.nav-link>a:after {
    position: absolute;
    top: auto;
    right: -.4em;
    bottom: auto;
    left: auto;
    content: '\25BE';
    color: #e8e8e7
}

.second-nav li.more {
    overflow: visible;
    padding-right: 0
}

.second-nav li.more a {
    padding-right: 0.8em
}

.second-nav li.more>a {
    padding-right: 1.6em;
    position: relative
}

@media screen and (min-width: 640px) {
    .second-nav li.more>a {
        margin-right: 1em
    }
}

.second-nav li.more>a:after {
    content: '›';
    font-size: 1.2em;
    position: absolute;
    right: .5em
}

.second-nav li.more:focus>.submenu,
.second-nav li.more:hover>.submenu {
    display: block
}

@media screen and (min-width: 640px) {
    .second-nav li.more {
        padding-right: 0.8em;
        position: relative
    }
}

.second-nav ul.submenu {
    display: none;
    z-index: 10;
    background-color: #774c9a
}

@media screen and (min-width: 640px) {
    .second-nav ul.submenu {
        padding: 1em;
        position: absolute;
        top: 1.5em
    }
}

@media screen and (min-width: 640px) {
    .second-nav ul.submenu .submenu {
        left: 11.8em;
        top: 0
    }
}

.footer {
    background: #4c4c4c;
    font-family: "Source Sans Pro", sans-serif;
    padding: 2em 24px
}

@media screen and (min-width: 640px) {
    .footer {
        padding: 2em 60px
    }
}

.footer .footer-links {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    -webkit-box-pack: left;
    -moz-box-pack: left;
    box-pack: left;
    -webkit-justify-content: left;
    -moz-justify-content: left;
    -ms-justify-content: left;
    -o-justify-content: left;
    justify-content: left;
    -ms-flex-pack: left
}

.footer .footer-links::after {
    clear: both;
    content: "";
    display: table
}

.footer ul {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 31.7615656014%;
    padding: 0
}

.footer ul:last-child {
    margin-right: 0
}

@media screen and (min-width: 640px) {
    .footer ul {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 14.7019570017%
    }
    .footer ul:last-child {
        margin-right: 0
    }
}

.footer .copyright {
    margin-right: 0
}

@media screen and (min-width: 640px) {
    .footer .copyright {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%
    }
    .footer .copyright:last-child {
        margin-right: 0
    }
}

.footer .copyright>li {
    color: #e8e8e7;
    font-size: .8571428571em;
    float: left
}

@media screen and (min-width: 640px) {
    .footer .copyright>li {
        float: right
    }
}

.footer li {
    list-style: none;
    text-align: left;
    font-size: .8571428571em
}

.footer li>a {
    color: #e8e8e7;
    text-decoration: none
}

.footer li>a:focus,
.footer li>a:hover {
    color: #774c9a
}

.footer li>.footer-title {
    color: #c4a9d6;
    font-size: 1em;
    margin-bottom: 0.4em;
    text-transform: uppercase;
    font-weight: 400
}

.content.title-content {
    padding-top: 0.5em;
    padding-bottom: 2.5em;
    margin-bottom: 0
}

.content.title-content .title,
.content.title-content .section h1,
.section .content.title-content h1 {
    margin: 0.5em 0 0 0;
    line-height: 1em;
    padding: 0
}

.content.title-content .subtitle {
    color: #4c4c4c;
    font-family: "Ubuntu", sans-serif;
    font-weight: 400
}

.mosaic-backdrop {
    line-height: 0;
    position: relative;
    width: 100%;
    overflow: hidden
}

.mosaic-backdrop ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 125%;
    overflow: hidden;
    height: 75px
}

.mosaic-backdrop ul li {
    float: left;
    width: 100px
}

.mosaic-backdrop ul li img {
    border: none;
    height: auto;
    left: 0;
    position: relative;
    top: 0;
    width: 100%
}

.mosaic-backdrop .copy {
    z-index: 999
}

.mosaic-backdrop .overlay {
    background-color: transparent;
    background-image: -webkit-linear-gradient(top, transparent, #fff);
    background-image: linear-gradient(to bottom, transparent, #fff);
    display: block;
    position: absolute;
    top: 40px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.getting-started {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 31.7615656014%;
    padding-right: 1em
}

.getting-started:last-child {
    margin-right: 0
}

.examples {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%;
    padding-right: 2em
}

.examples:last-child {
    margin-right: 0
}

.value-prop .lead {
    color: #774c9a;
    font-size: 1.5714285714em
}

.value-prop:first-child {
    padding-top: 1.5em
}

.value-prop:last-child {
    padding-bottom: 1.3em
}

.highlight code,
.highlight pre {
    color: #087d88;
    background-color: #f4f4f4;
    padding: 0.5em 1em;
    font-size: .8571428571em;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px
}

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

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

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

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

.highlight .o {
    color: #666666
}

.highlight .cm {
    color: #408080;
    font-style: italic
}

.highlight .cp {
    color: #BC7A00
}

.highlight .c1 {
    color: #408080;
    font-style: italic
}

.highlight .cs {
    color: #408080;
    font-style: italic
}

.highlight .gd {
    color: #A00000
}

.highlight .ge {
    font-style: italic
}

.highlight .gr {
    color: #FF0000
}

.highlight .gh {
    color: #000080;
    font-weight: bold
}

.highlight .gi {
    color: #00A000
}

.highlight .go {
    color: #808080
}

.highlight .gp {
    color: #000080;
    font-weight: bold
}

.highlight .gs {
    font-weight: bold
}

.highlight .gu {
    color: #800080;
    font-weight: bold
}

.highlight .gt {
    color: #0040D0
}

.highlight .kc {
    color: #008000;
    font-weight: bold
}

.highlight .kd {
    color: #008000;
    font-weight: bold
}

.highlight .kn {
    color: #008000;
    font-weight: bold
}

.highlight .kp {
    color: #008000
}

.highlight .kr {
    color: #008000;
    font-weight: bold
}

.highlight .kt {
    color: #B00040
}

.highlight .m {
    color: #666666
}

.highlight .s {
    color: #BA2121
}

.highlight .na {
    color: #7D9029
}

.highlight .nb {
    color: #008000
}

.highlight .nc {
    color: #0000FF;
    font-weight: bold
}

.highlight .no {
    color: #880000
}

.highlight .nd {
    color: #AA22FF
}

.highlight .ni {
    color: #999999;
    font-weight: bold
}

.highlight .ne {
    color: #D2413A;
    font-weight: bold
}

.highlight .nf {
    color: #0000FF
}

.highlight .nl {
    color: #A0A000
}

.highlight .nn {
    color: #0000FF;
    font-weight: bold
}

.highlight .nt {
    color: #008000;
    font-weight: bold
}

.highlight .nv {
    color: #19177C
}

.highlight .ow {
    color: #AA22FF;
    font-weight: bold
}

.highlight .w {
    color: #bbbbbb
}

.highlight .mf {
    color: #666666
}

.highlight .mh {
    color: #666666
}

.highlight .mi {
    color: #666666
}

.highlight .mo {
    color: #666666
}

.highlight .sb {
    color: #BA2121
}

.highlight .sc {
    color: #BA2121
}

.highlight .sd {
    color: #BA2121;
    font-style: italic
}

.highlight .s2 {
    color: #BA2121
}

.highlight .se {
    color: #BB6622;
    font-weight: bold
}

.highlight .sh {
    color: #BA2121
}

.highlight .si {
    color: #BB6688;
    font-weight: bold
}

.highlight .sx {
    color: #008000
}

.highlight .sr {
    color: #BB6688
}

.highlight .s1 {
    color: #BA2121
}

.highlight .ss {
    color: #19177C
}

.highlight .bp {
    color: #008000
}

.highlight .vc {
    color: #19177C
}

.highlight .vg {
    color: #19177C
}

.highlight .vi {
    color: #19177C
}

.highlight .il {
    color: #666666
}

div.clearer {
    clear: both
}

div.related {
    width: 100%;
    font-size: 90%
}

div.related h3 {
    display: none
}

div.related ul {
    margin: 0;
    padding: 0 0 0 10px;
    list-style: none
}

div.related li {
    display: inline
}

div.related li.right {
    float: right;
    margin-right: 5px
}

div.sphinxsidebarwrapper {
    padding: 10px 5px 0 10px
}

div.sphinxsidebar {
    float: left;
    width: 230px;
    margin-left: -100%;
    font-size: 90%
}

div.sphinxsidebar ul {
    list-style: none
}

div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
    margin-left: 20px;
    list-style: square
}

div.sphinxsidebar ul ul {
    margin-top: 0;
    margin-bottom: 0
}

div.sphinxsidebar form {
    margin-top: 10px
}

div.sphinxsidebar input {
    border: 1px solid #98dbcc;
    font-family: sans-serif;
    font-size: 1em
}

div.sphinxsidebar #searchbox input[type="text"] {
    width: 170px
}

div.sphinxsidebar #searchbox input[type="submit"] {
    width: 30px
}

img {
    border: 0;
    max-width: 100%
}

ul.search {
    margin: 10px 0 0 20px;
    padding: 0
}

ul.search li {
    padding: 5px 0 5px 20px;
    background-image: url(file.png);
    background-repeat: no-repeat;
    background-position: 0 7px
}

ul.search li a {
    font-weight: bold
}

ul.search li div.context {
    color: #888;
    margin: 2px 0 0 30px;
    text-align: left
}

ul.keywordmatches li.goodmatch a {
    font-weight: bold
}

table.contentstable {
    width: 90%
}

table.contentstable p.biglink {
    line-height: 150%
}

a.biglink {
    font-size: 1.3em
}

span.linkdescr {
    font-style: italic;
    padding-top: 5px;
    font-size: 90%
}

table.indextable {
    width: 100%
}

table.indextable td {
    text-align: left;
    vertical-align: top
}

table.indextable dl,
table.indextable dd {
    margin-top: 0;
    margin-bottom: 0
}

table.indextable tr.pcap {
    height: 10px
}

table.indextable tr.cap {
    margin-top: 10px;
    background-color: #f2f2f2
}

img.toggler {
    margin-right: 3px;
    margin-top: 3px;
    cursor: pointer
}

div.modindex-jumpbox {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 1em 0 1em 0;
    padding: 0.4em
}

div.genindex-jumpbox {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 1em 0 1em 0;
    padding: 0.4em
}

a.headerlink {
    visibility: hidden
}

h1:hover>a.headerlink,
h2:hover>a.headerlink,
h3:hover>a.headerlink,
h4:hover>a.headerlink,
h5:hover>a.headerlink,
h6:hover>a.headerlink,
dt:hover>a.headerlink,
caption:hover>a.headerlink,
p.caption:hover>a.headerlink,
div.code-block-caption:hover>a.headerlink {
    visibility: visible
}

div.body p.caption {
    text-align: inherit
}

div.body td {
    text-align: left
}

.field-list ul {
    padding-left: 1em
}

.first {
    margin-top: 0 !important
}

p.rubric {
    margin-top: 30px;
    font-weight: bold
}

img.align-left,
.figure.align-left,
object.align-left {
    clear: left;
    float: left;
    margin-right: 1em
}

img.align-right,
.figure.align-right,
object.align-right {
    clear: right;
    float: right;
    margin-left: 1em
}

img.align-center,
.figure.align-center,
object.align-center {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.align-left {
    text-align: left
}

.align-center {
    text-align: center
}

.align-right {
    text-align: right
}

div.sidebar {
    margin: 0 0 0.5em 1em;
    border: 1px solid #ddb;
    padding: 7px 7px 0 7px;
    background-color: #ffe;
    width: 40%;
    float: right
}

p.sidebar-title {
    font-weight: bold
}

div.topic {
    border: 1px solid #ccc;
    padding: 7px 7px 0 7px;
    margin: 10px 0 10px 0
}

p.topic-title {
    font-size: 1.1em;
    font-weight: bold;
    margin-top: 10px
}

table.docutils {
    border: 0;
    border-collapse: collapse
}

table caption span.caption-number {
    font-style: italic
}

table.docutils td,
table.docutils th {
    padding: 1px 8px 1px 5px;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #aaa
}

table.field-list td,
table.field-list th {
    border: 0 !important
}

table.footnote td,
table.footnote th {
    border: 0 !important
}

th {
    text-align: left;
    padding-right: 5px
}

table.citation {
    border-left: solid 1px gray;
    margin-left: 1px
}

table.citation td {
    border-bottom: none
}

div.figure {
    margin: 0.5em;
    padding: 0.5em
}

div.figure p.caption {
    padding: 0.3em
}

div.figure p.caption span.caption-number {
    font-style: italic
}

ol.arabic {
    list-style: decimal
}

ol.loweralpha {
    list-style: lower-alpha
}

ol.upperalpha {
    list-style: upper-alpha
}

ol.lowerroman {
    list-style: lower-roman
}

ol.upperroman {
    list-style: upper-roman
}

dl {
    margin-bottom: 15px
}

dd p {
    margin-top: 0px
}

dd ul,
dd table {
    margin-bottom: 10px
}

dd {
    margin-top: 3px;
    margin-bottom: 10px;
    margin-left: 30px
}

dt:target,
.highlighted {
    background-color: #fbe54e
}

dl.glossary dt {
    font-weight: bold;
    font-size: 1.1em
}

.field-list ul {
    margin: 0;
    padding-left: 1em
}

.field-list p {
    margin: 0
}

.optional {
    font-size: 1.3em
}

.sig-paren {
    font-size: larger
}

.versionmodified {
    font-style: italic
}

.system-message {
    background-color: #fda;
    padding: 5px;
    border: 3px solid red
}

.footnote:target {
    background-color: #ffa
}

.line-block {
    display: block;
    margin-top: 1em;
    margin-bottom: 1em
}

.line-block .line-block {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 1.5em
}

.guilabel,
.menuselection {
    font-family: sans-serif
}

.accelerator {
    text-decoration: underline
}

.classifier {
    font-style: oblique
}

abbr,
acronym {
    border-bottom: dotted 1px;
    cursor: help
}

pre {
    overflow: auto;
    overflow-y: hidden
}

td.linenos pre {
    padding: 5px 0px;
    border: 0;
    background-color: transparent;
    color: #aaa
}

table.highlighttable {
    margin-left: 0.5em
}

table.highlighttable td {
    padding: 0 0.5em 0 0.5em
}

div.code-block-caption {
    padding: 2px 5px;
    font-size: small
}

div.code-block-caption code {
    background-color: transparent
}

div.code-block-caption+div>div.highlight>pre {
    margin-top: 0
}

div.code-block-caption span.caption-number {
    padding: 0.1em 0.3em;
    font-style: italic
}

div.literal-block-wrapper {
    padding: 1em 1em 0
}

div.literal-block-wrapper div.highlight {
    margin: 0
}

code.descname {
    background-color: transparent;
    font-weight: bold;
    font-size: 1.2em
}

code.descclassname {
    background-color: transparent
}

code.xref,
a code {
    background-color: transparent;
    font-weight: bold
}

h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
    background-color: transparent
}

.viewcode-link {
    float: right
}

.viewcode-back {
    float: right;
    font-family: sans-serif
}

div.viewcode-block:target {
    margin: -1px -10px;
    padding: 0 10px
}

img.math {
    vertical-align: middle
}

div.body div.math p {
    text-align: center
}

span.eqno {
    float: right
}

@media print {
    div.document,
    div.documentwrapper,
    div.bodywrapper {
        margin: 0 !important;
        width: 100%
    }
    div.sphinxsidebar,
    div.related,
    div.footer,
    #top-link {
        display: none
    }
}

.section.docs {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    max-width: none
}

.section.docs h2,
.section.docs h3 {
    margin-top: 1em;
    font-size: 1.3em;
    font-weight: 400;
    color: #2f2f2f;
    text-transform: unset;
    font-weight: 600
}

.section.docs h3 {
    font-size: 1.2em;
    color: #6f6f6f;
    margin-bottom: 0em
}

.section.docs .content .section {
    overflow-x: auto
}

.section.docs::after {
    clear: both;
    content: "";
    display: table
}

.section.docs .content {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 74.4105871005%;
    margin-right: 0;
    padding-left: 0.5em
}

.section.docs .content:last-child {
    margin-right: 0
}

.section.docs img {
    border: none;
    vertical-align: middle
}

.highlight-python {
    margin-bottom: 20px
}

a.headerlink {
    visibility: visible;
    color: #e8e8e7;
    padding-left: 0.2em;
    margin-top: -0.2em;
    vertical-align: text-bottom
}

a.headerlink:hover {
    color: #c4a9d6;
    text-decoration: none
}

dt a.headerlink {
    vertical-align: inherit
}

.mosaic.docs-home {
    margin-top: 2em
}

.mosaic.docs-home td,
.mosaic.docs-home th {
    padding: 0;
    background-color: #2f2f2f
}

.mosaic.docs-home td a:hover,
.mosaic.docs-home th a:hover {
    opacity: 0.5
}

.field-list .field-name {
    white-space: nowrap
}

#tab-panes pre {
    clear: both
}

.toc {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 23.2317613015%;
    font-family: "Source Sans Pro", sans-serif;
    margin-top: 3em;
    padding: 2em 1em;
    background-color: #fff
}

.toc:last-child {
    margin-right: 0
}

.toc .hide {
    display: none
}

.toc.obfuscate {
    background-color: white;
    width: 7%
}

.toc code {
    font-weight: 400;
    font-size: 0.9em
}

.toc ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.toc li.divide-top {
    border-top: solid 1px #404040
}

.toc li.divide-bottom {
    border-bottom: solid 1px #404040
}

.toc li.current {
    background: #fafafa
}

.toc li.current a {
    color: #2f2f2f;
    padding: .4045em 2.427em
}

.toc li.current a:hover {
    background-color: lightgray;
    text-decoration: none
}

.toc li code {
    border: none;
    background: inherit;
    color: inherit;
    padding-left: 0;
    padding-right: 0
}

.toc li.on a,
.toc li.current>a {
    color: black;
    padding: .809em 1.618em;
    position: relative;
    background: lightgray;
    border: none;
    padding-left: 1.618em -4px
}

.toc li.on a:hover,
.toc li.current>a:hover {
    background-color: #f4f4f4
}

.toc li.toctree-l2 a:hover {
    text-decoration: underline;
    background: #f4f4f4
}

.toc li.toctree-l2.current>a {
    background: #f4f4f4;
    padding: .4045em 2.427em
}

.toc li.toctree-l2.current li.toctree-l3>a {
    display: block;
    background: #f4f4f4;
    padding: .4045em 4.045em
}

.toc li.toctree-l3>a {
    background: #f4f4f4;
    padding: .4045em 4.045em
}

.toc li.toctree-l3 li.toctree-l4>a {
    display: block;
    background: #f4f4f4;
    padding: .4045em 5.663em;
    border-top: none;
    border-bottom: none
}

.toc li.current ul {
    display: block;
    overflow-x: auto
}

.toc li ul {
    margin-bottom: 0;
    display: none
}

.toc .local-toc li ul {
    display: block
}

.toc li ul li a {
    margin-bottom: 0;
    color: #2f2f2f;
    font-weight: normal
}

.toc a {
    display: inline-block;
    line-height: 18px;
    padding: .4045em 1.618em;
    display: block;
    position: relative;
    font-size: 90%;
    color: #2f2f2f
}

.toc a:hover {
    background-color: #f4f4f4;
    text-decoration: none;
}

.toctree-wrapper {
    display: none
}

.class,
.section {
    clear: both
}

.class {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px #e8e8e7 solid
}

.class>dt {
    color: #774c9a
}

dt:target,
.highlighted {
    background-color: #EEEEDD
}

.class>dd {
    padding-top: 10px;
    clear: both
}

.attribute>dt>code:before {
    content: ' attr ';
    font-style: italic;
    color: #c4a9d6;
    font-size: 0.8em
}

.method>dt>code:before {
    content: ' method ';
    font-style: italic;
    color: #c4a9d6;
    font-size: 0.8em
}

.classmethod>dt>.property {
    font-style: italic;
    color: #c4a9d6;
    font-size: 0.9em
}

.classmethod>dd>table,
.method>dd>table,
.attribute>dd>table {
    margin-left: 40px;
    margin-bottom: 0
}

.class ~ .panel-group {
    float: left
}

.xref .pre {
    font-weight: normal
}

.section .content .admonition-title {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    color: #c4a9d6;
    font-size: 1.3em
}

.section .content .admonition {
    margin: 1em 0;
    border-left: 0.5em #2f2f2f solid;
    padding: 0em 3em 0.5em 1em
}

.section .content .admonition p {
    margin: 0.2em 0
}

.section .content .admonition.note {
    border-color: #3bbcb5
}

.section .content .admonition.note .admonition-title {
    color: #3bbcb5
}

.section .content .admonition.error {
    border-color: red
}

.section .content .admonition.error .admonition-title {
    color: red
}

.section .content .admonition.warning {
    border-color: #774c9a
}

.section .content .admonition.warning .admonition-title {
    color: #774c9a
}

.section .content .admonition.alert {
    border-color: #c4a9d6
}

.section .content .admonition.alert .admonition-title {
    color: #774c9a
}

.section .content ul.gallery li {
    list-style-type: none;
    float: left
}

.section .content img.gallery {
    width: 200px;
    height: 200px
}

.search-bar {
    float: left;
    width: 100%;
    position: relative
}

@media screen and (min-width: 640px) {
    .search-bar {
        width: 60%
    }
}

.search-bar input[type=search] {
    box-sizing: border-box;
    background: #f4f4f4;
    border: 1px solid #dcdcda;
    color: #460f72;
    font-size: 0.85em;
    margin: 0;
    padding: 0.25em 0.4em;
    width: 100%
}

@media screen and (min-width: 640px) {
    .search-bar {
        width: 100%
    }
}

.search-bar button[type=submit] {
    background: #f4f4f4;
    border: none;
    bottom: 0.1em;
    left: auto;
    outline: none;
    padding: 0 9px;
    position: absolute;
    right: 0.1em;
    top: 0.2em
}

.search-bar button[type=submit] img {
    height: 12px;
    opacity: 0.7;
    padding: 1px
}

#search-results .cse .gsc-control-cse,
#search-results .gsc-control-cse {
    padding: 1em 0 0 0
}

#search-results .gsc-selected-option-container {
    min-width: 100px
}

#search-results .gsc-tabsArea {
    border-color: #4c4c4c
}

#search-results .gsc-tabHeader.gsc-tabhActive {
    border-color: #4c4c4c #4c4c4c #fff;
    height: 29px
}

@media screen and (min-width: 640px) {
    display: inline-block;
    position: relative;
    width: 16em;
    input {
        box-sizing: border-box;
        display: block
    }
}

.expander .expander-trigger {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #774c9a;
    cursor: pointer;
    display: block;
    font-size: 1em;
    margin-bottom: 1em;
    padding-bottom: .25em;
    text-decoration: none
}

.expander .expander-trigger:before {
    font-size: .7em;
    content: "\25BC";
    margin-right: 0.5em
}

.expander .expander-hidden:before {
    font-size: .7em;
    content: "\25BA"
}

.expander .expander-hidden+.expander-content {
    display: none
}