*, *:before, *:after {
    box-sizing: border-box;
}

html {
    font-size: 15px;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul {
    margin: 0;
    padding: 0;
    font-weight: normal;
}

ol, ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

body {
    font-size: 1rem;
    font-family: "Helvetica Neue", Arial, sans-serif;
    background-color: rgb(252,252,252);
    color: rgb(38,50,56);
    line-height: 1.5;
}

body aside {
    background-color: rgb(38,50,56);
    position: fixed;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    transition: left 0.2s ease-out;
    overflow-x: hidden;
}

body main {
    background-color: rgb(252,252,252);
    padding: 1rem;
    margin-left: 0;
    overflow-x: hidden;
}

body.mobile-sidebar aside {
    left: 0;
}

body.mobile-sidebar main {
}

body #sidebar-toggle {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    background-color: rgb(8,72,101);
    background-position: center center;
    background-size: 70%;
    background-repeat: no-repeat;
    border-radius: 4px;
    z-index: 4;
}

body.mobile-sidebar #sidebar-toggle {
}

@media screen and (min-width: 768px) {
    body aside {
        left: 0;
        width: 22rem;
    }

    body main {
        margin-left: 22rem;
        padding: 2rem;

    }

    #sidebar-toggle {
        display: none;
    }
}

code, pre {
    font-family: Menlo, Consolas, monospace;
    font-size: 0.9rem;
}

pre {
    line-height: 125%;
    padding: 0;
    margin: 0;
}

main code, main pre {
}

main code {
    background: rgb(236,239,241);
    border: 1px solid rgb(207,216,220);
    border-radius: 4px;
    color: rgb(38,50,56);
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
}

pre code {
    display: inline;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

div.highlight {
    background-color: rgb(255,248,225);
    border: 1px solid rgb(255,213,79);
    border-radius: 4px;
    padding: 1em;
    margin: 1em 0;
    overflow-x: auto;
}

p.highlighttitle {
    background-color: rgb(255,213,79);
    display: inline-block;
    font-family: Menlo, Consolas, monospace;
    font-size: 0.8rem;
    font-weight: 600;
    margin: 1em 0 0 0;
    padding: 0.2em 0.8em;
}

p.highlighttitle + div.highlight {
    margin-top: 0;
    border-top-left-radius: 0;
}

table.highlighttable tr {
    vertical-align: top;
}

div.linenodiv {
    opacity: 0.4;
    padding-right: 0.5em;
}

blockquote {
    margin: 10px 0;
    padding: 10px 10px 10px 15px;
    background: rgb(236,239,241);
    border-left: 6px solid rgb(207,216,220);
}

main {
}

main a {
    color: rgb(2,119,189);
    text-decoration: none;
}

main a.header-link {
    opacity: 0;
    font-size: 1rem;
    padding: 0 0 0 10px;
    transition: all 0.5s ease;
}

main h1:hover a.header-link,
main h2:hover a.header-link,
main h3:hover a.header-link,
main h4:hover a.header-link,
main h5:hover a.header-link,
main h6:hover a.header-link {
    opacity: 1;
}


main a code {
    color: rgb(2,119,189);
}

main a:hover {
    text-decoration: underline;
}

main h1 {
    font-size: 2.5rem;
    margin: 1.5rem 0;
}

main h1:first-child {
    margin-top: 0;
}

main h2 {
    font-size: 2rem;
    margin: 1.5rem 0 0.5rem 0;
}

main h3 {
    font-size: 1.75rem;
    margin: 1.5rem 0;
}

main h4 {
    font-size: 1.5rem;
    margin: 1.5rem 0;
}

main h5 {
    font-size: 1.25rem;
    margin: 1.5rem 0;
}

main h6 {
    font-size: 1rem;
    font-weight: 800;
    margin: 1.5rem 0;
}

main p {
    margin: 12px 0;
}

main li {
    margin: 6px 0 6px 48px;
    list-style-type: disc;

}

table.markdown-table {
    font-size: 0.9rem;
    border-collapse: collapse;
    margin: 1.5rem;
}

table.markdown-table th, table.markdown-table td {
    margin: 0;
    padding: 0.9rem;
    border: 1px solid #ddd;
}

table.markdown-table tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.03);
}

table.markdown-table th {
    font-weight: 600;
    text-align: left;
    background: rgba(0, 0, 0, 0.09);
    font-variant-caps: all-small-caps;
}

figure {
    display: table;
    padding: 20px;
    margin: 30px auto;
}

figcaption {
    display: table-caption;
    caption-side: bottom;
    font-size: 0.8rem;
    font-weight: bold;
    font-style: italic;
    text-align: center;
}

nav {
    padding: 1rem 0;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
    display: flex;
    align-items: center;
    font-size: 0.8rem;
}

nav a {
}

nav span {
    padding: 0 0.2rem;
}

.nav-flex {
    background: red;
    flex: 1;
}

.nav-icon {
    display: inline-block;
    width: 1.3rem;
    height: 1.3rem;
    opacity: 0.7;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;

}

.nav-icon.disabled {
    opacity: 0.1;
}

#sidebar {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#sidebar-header {
    display: block;
    background-color: rgb(0,134,201);
    padding: 1rem 0.5rem 1rem 0.5rem;
    color: white;
    text-align: center;
    text-decoration: none;
}

#sidebar-logo {
    display: none;
}

@media screen and (min-width: 768px) {
    #sidebar-header {
        background-color: rgb(0,134,201);
        color: white;
        text-align: center;
    }
    #sidebar-logo {
        display: block;
        width: 25%;
        margin: 0.3rem auto;
    }
}

#sidebar-header-title {
    display: block;
    font-size: 1.3rem;
    font-weight: 500;
}

#sidebar-header-subtitle {
    display: block;
    font-size: 0.9rem;
}

#sidebar-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

#sidebar-search {
    background: rgb(20,91,134);
}

#sidebar-search-box {
    background-color: rgb(204,226,236);
    background-position: 8px center;
    background-repeat: no-repeat;
    background-size: 1.2rem 1.2rem;
    border-radius: 18px;
    display: flex;
    margin: 1rem;

}

#sidebar-search input {
    border: 0;
    flex: 1;
    background: none;
    padding: 10px 10px 10px 35px;
    outline: none;
}

#sidebar-search button {
    border: 0;
    background: none;
    width: 3rem;
    color: rgb(120,144,156);
    font-size: 1.3rem;
}

#sidebar-search-results, #sidebar-search-not-found {
    display: none;
    background: rgb(20,91,134);
    padding-bottom: 0.5rem;
    height: 100%;
    overflow: auto;
}

#sidebar-search-not-found {
    text-align: center;
    color: rgb(236,239,241);
    font-size: 0.9rem;
    font-style: italic;
}

#sidebar-search-results ul {
    font-size: 0.9rem;
}

#sidebar-search-results li {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
}

#sidebar-search-results li:nth-child(odd) {
    background: rgba(255, 255, 255, 0.05);
}

#sidebar-search-results a {
    color: rgb(236,239,241);
    text-decoration: none;
    display: inline-block;
    padding: 0;
}

#sidebar-search-results a:hover {
    text-decoration: underline;
}

body.with-search-found #sidebar-search-results {
    display: block;
}

body.with-search-not-found #sidebar-search-not-found {
    display: block;
}

#sidebar-toc {
    padding: 8px 0;
}

body.with-search-found #sidebar-toc {
    display: none;
}


#sidebar-toc li {
    font-size: 0.9rem;
}

#sidebar-toc a {
    color: rgb(236,239,241);
    text-decoration: none;
    display: inline-block;
    padding: 0.6rem 0;
}

#sidebar-toc a:hover {
    text-decoration: underline;
}

#sidebar-toc li.active > span > a {
    font-weight: 900;
    color: white;
}

#sidebar-toc ul li span {
    padding-left: 1rem;
}

#sidebar-toc ul ul li span {
    padding-left: 2rem;
}

#sidebar-toc ul ul ul li span {
    padding-left: 3rem;
}

#sidebar-toc ul ul ul ul li span {
    padding-left: 4rem;
}

#sidebar-toc ul ul ul ul ul li span {
    padding-left: 5rem;
}

#sidebar-toc ul ul li {
    background: rgb(55,71,79);
}

#sidebar-toc ul ul ul li {
    background: rgb(69,90,100);
}

#sidebar-toc ul ul ul ul li {
    background: rgb(84,110,122);
}

#sidebar-toc ul ul ul ul ul li {
    background: rgb(96,125,139);
}

#sidebar-toc ul ul ul ul ul li {
    background: rgb(120,144,156);
}

#sidebar-toc ul {
    display: none;
    opacity: 0;
    transition: all 0.5s ease;
}

#sidebar-toc > ul {
    display: block;
    opacity: 1;
}

#sidebar-toc li.open > ul {
    opacity: 1;
    transition: all 0.5s ease;
    display: block;
}

#sidebar-toc li > span {
    display: flex;
    align-items: center;
}

#sidebar-toc li > span > a {
    flex: 1;
}

#sidebar-toc li button {
    border: none;
    background-color: transparent;
    min-width: 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    margin-right: 0;
    background-size: 60%;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 0.5s ease;
    cursor: pointer;
    visibility: hidden;
}

#sidebar-toc li.branch > span > button {
    visibility: visible;
}

#sidebar-toc li.branch.open > span > button {
    transform: rotate(90deg);
}

#sidebar-footer {
    background: black;
    color: rgb(115,109,109);
    padding: 10px;
    font-size: 0.6rem;
}

.reference {
    border-bottom: 1px solid rgb(187,222,251);
    padding: 5px 0;
    margin-bottom: 10px;
    display: inline-block;
    font-size: 0.9rem;
}

.demo {
    border-bottom: 1px solid rgb(187,222,251);
    padding: 5px 0;
    margin-bottom: 10px;
    display: inline-block;
    font-size: 0.9rem;
}

.admonition_info {
    background-color: rgb(231,253,234);
    background-position: 20px center;
    background-size: 30px 30px;
    background-repeat: no-repeat;
    border-radius: 4px;
    border: 1px solid rgb(179,251,201);
    color: rgb(27,121,8);
    margin: 12px 0;
    padding: 20px 20px 20px 70px;
}

.admonition_warn {
    background-color: rgb(255,235,238);
    background-position: 20px center;
    background-size: 30px 30px;
    background-repeat: no-repeat;
    border-radius: 4px;
    border: 1px solid rgb(255,205,210);
    color: rgb(183,28,28);
    margin: 12px 0;
    padding: 20px 20px 20px 70px;
}

code.configref_literal {
    background: rgb(227,242,253);
    border: none;
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
    vertical-align: middle;
}

code.configref_typename {
    background: none;
    border: none;
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
    font-weight: 600;
    vertical-align: middle;
}

code.configref_propname {
    background: rgb(255,248,225);
    border: 1px solid rgb(255,213,79);
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
    vertical-align: middle;
}

code.configref_required {
    background: rgb(255,248,225);
    border: 1px solid rgb(255,213,79);
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
}

code.configref_required::after {
    content: '\00a0*';
    color: rgb(250,55,73);
    font-weight: 600;
}

code.configref_dev_missing_translation {
    background: rgb(255,209,209);
    border: none;
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
    vertical-align: text-bottom;
    font-size: 0.7rem;
    display: none;
}

code.configref_dev_uid {
    background: rgb(238, 233, 133);
    border: none;
    border-radius: 4px;
    display: inline-block;
    padding: 0 6px;
    margin: 0 3px;
    vertical-align: text-bottom;
    font-size: 0.7rem;
    display: none;
}

body.with-dev code.configref_dev_missing_translation {
    display: inline-block;
}
body.with-dev code.configref_dev_uid {
    display: inline-block;
}

.configref_category_object::before,
.configref_category_enum::before,
.configref_category_variant::before,
.configref_category_type::before {
    background: rgb(0,134,201);
    border-radius: 4px;
    color: white;
    display: inline-block;
    font-size: 0.7rem;
    margin: 0 6px 0 0;
    padding: 0 6px;
    vertical-align: middle;
}

.configref_category_object::before {
    content: "obj";
    background: rgb(0,134,201);
}
.configref_category_enum::before {
    content: "enum";
    background: rgb(0,134,201);
}
.configref_category_variant::before {
    content: "variant";
    background: rgb(0,134,201);
}
.configref_category_type::before {
    content: "type";
    background: rgb(0,134,201);
}

code.configref_category,
code.configref_label_added,
code.configref_label_deprecated,
code.configref_label_changed {
    border: none;
    border-radius: 4px;
    color: white;
    display: inline-block;
    padding: 0 6px;
    margin: 0 6px;
    vertical-align: text-bottom;
    font-size: 0.7rem;
}

code.configref_category {
    background: rgb(0,134,201);
    margin: 0 3px 0 0;
}

code.configref_label_added {
    background: rgb(27,121,8);
}

code.configref_label_deprecated {
    background: rgb(115,80,42);
}

code.configref_label_changed {
    background: rgb(210,6,184);
}

.decoration_title {
    background: rgb(253,255,171);
    border-radius: 4px;
    border: 1px solid rgb(159,134,106);
    color: #333;
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 3px;
    padding: 0 6px;
}

.decoration_button {
    background: rgb(216,221,224);
    border-radius: 4px;
    border: 1px solid rgb(4,18,28);
    color: #333;
    display: inline-block;
    font-size: 0.9rem;
    margin: 0 3px;
    padding: 0 6px;
}

.decoration_param {
    background: rgb(232,242,250);
    border-radius: 4px;
    border: 1px solid rgb(127,187,227);
    color: #333;
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 3px;
    padding: 0 6px;
}

.decoration_link {
    color: rgb(2,119,189);
}

@media print {
    html {
        font-size: 11pt;
    }

    body {
        background: white;
    }

    nav {
        display: none
    }

    aside {
        display: none
    }

    main {
        padding: 10mm;
    }

    h1, h2, h3 {
        page-break-before: always;
    }

    #sidebar-toggle {
        display: none;
    }
}

#sidebar-search-box {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path fill="rgb(120,144,156)" d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
}

#sidebar-toc li.branch > span > button {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path fill="rgb(192,192,192)" d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>');
}

.admonition_info {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path fill="rgb(27,121,8)" d="M480-80q-33 0-56.5-23.5T400-160h160q0 33-23.5 56.5T480-80ZM320-200v-80h320v80H320Zm10-120q-69-41-109.5-110T180-580q0-125 87.5-212.5T480-880q125 0 212.5 87.5T780-580q0 81-40.5 150T630-320H330Zm24-80h252q45-32 69.5-79T700-580q0-92-64-156t-156-64q-92 0-156 64t-64 156q0 54 24.5 101t69.5 79Zm126 0Z"/></svg>');
}

.admonition_warn {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path fill="rgb(183,28,28)" d="M2 42 24 4l22 38Zm5.2-3h33.6L24 10Zm17-2.85q.65 0 1.075-.425.425-.425.425-1.075 0-.65-.425-1.075-.425-.425-1.075-.425-.65 0-1.075.425Q22.7 34 22.7 34.65q0 .65.425 1.075.425.425 1.075.425Zm-1.5-5.55h3V19.4h-3Zm1.3-6.1Z"/></svg>');

}

body #sidebar-toggle {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path fill="rgb(232,234,237)" d="M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"/></svg>');
}

body.mobile-sidebar #sidebar-toggle {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path fill="rgb(232,234,237)" d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg>');
}

#nav-breadcrumbs-home {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="rgb(2,119,189)" d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>');
}

#nav-arrow-prev {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path fill="rgb(0,135,201)" d="M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"/></svg>');
}

#nav-arrow-up {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path fill="rgb(0,135,201)" d="m296-345-56-56 240-240 240 240-56 56-184-184-184 184Z"/></svg>');
}

#nav-arrow-next {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path fill="rgb(0,135,201)" d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>');
}
