:root {
    --color-background: #0d1117;
    --color-primary: #8b949e;
    --color-secondary: #c9d1d9;
    --color-tertiary: #00cc00;
    --color-hover: #21262d;
    --color-border: rgba(55, 58, 62, 10);

    --cursor-default: default;
    --cursor-hover: pointer;
}

body, html {
    height: 100%;
    background-color: var(--color-background);
    cursor: var(--cursor-default);
}

html {
    font-size: 125%;
    overflow-x: hidden;

    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;

    box-sizing: border-box;
}

body {
    position: relative;
    margin: 0;
    font-size: .5rem;

    color: var(--color-primary);
    -webkit-font-feature-settings: "kern", "liga";
    font-feature-settings: "kern", "liga";
}

body, input {
    font-family: "Roboto", helvetica;
}

a {
    color: inherit;
    text-decoration: none;
}

a, button, input, label {
    -webkit-tap-highlight-color: transparent;
}

h2, h3, h4, b, strong {
    color: var(--color-secondary);
}

code, kbd, pre {
    font-family: "Roboto Mono", "Courier New", Courier, monospace;
    font-feature-settings: "kern";
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

td, th {
    font-weight: 400;
    vertical-align: top;
}

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

.ga-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 2.4rem;

    z-index: 2;
    backface-visibility: hidden;
}

.ga-header[data-ga-state] {
    box-shadow: none;
    border-bottom: 1px solid var(--color-border);
    background-color: inherit;
}

[data-md-color-primary="white"] .ga-header,
[data-md-color-primary="white"] .ga-hero,
button[data-md-color-primary="white"] {
    background-color: #fff;
    color: rgba(0,0,0,.87);
}

.ga-header[data-md-state="shadow"] {
    transition: background-color .25s, color .25s, box-shadow .25s;
    transition-property: background-color, color, box-shadow;
    transition-duration: 0.25s, 0.25s, 0.25s;
    transition-delay: 0s, 0s, 0s;
}

.ga-header-nav {
    padding: 0 .2rem;
}

.ga-header-nav-title {
    padding: 0 1rem;
    font-size: .9rem;
    line-height: 2.4rem;
}

.ga-header-nav-topic[data-ga-state="active"] .ga-header-nav-topic {
    -webkit-transform: translateX(-1.25rem);
    transform: translateX(-1.25rem);
    transition: transform .4s cubic-bezier(1,.7,.1,.1), opacity .15s, -webkit-transform .4s cubic-bezier(1,.7,.1,.1);
    opacity: 0;
    z-index: -1;
    pointer-events: none;
}

.ga-header-nav-topic {
    display: block;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.ga-grid {
    max-width: 57rem;
    margin-right: auto;
    margin-left: auto;
}

.ga-flex {
    display: table;
}

.ga-flex-ellipsis {
    display: table-cell;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.ga-flex-cell {
    display: table-cell;
    position: relative;
    vertical-align: top;
}

.ga-flex-cell-shrink {
    width: 0;
}

.ga-flex-cell-stretch {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.ga-header-nav-button {
    position: relative;
    transition: opacity .25s;
    z-index: 1;
}

.ga-content-icon, .ga-footer-nav-button, .ga-header-nav-button,
.ga-nav-button, .ga-nav-title::before {
    display: inline-block;
    margin: .2rem;
    padding: .4rem;
    font-size: 1.2rem;
    cursor: pointer;
}

.ga-container {
    display: table;
    width: 100%;
    height: calc(100% - 2.4rem);
    padding-top: 2.4rem;
    table-layout: fixed;
    flex: 1;
}

.ga-container, .ga-main {
    overflow: auto;
}

.ga-main-inner {
    height: 100%;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}

.ga-typeset {
    font-family: Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    font-size: 32px;
    line-height: 1.4;
    color: var(--color-primary);
}

.ga-typeset .ga-content-icon {
    color: rgba(0,0,0,.26);
}

.ga-typeset h3, .ga-typeset h4 {
    font-weight: bold;
}

.ga-typeset h4 {
    margin: .8rem;
    font-weight: 800;
    font-size: .8rem;
    letter-spacing: -.01rem;
}

.ga-typeset a, .ga-typeset a::before {
    color: var(--color-tertiary);
    transition: color .125s;
}

.ga-typeset a {
    word-break: break-word;
}

.ga-typeset a > code {
    margin: inherit;
    padding: inherit;
    border-radius: initial;
    background-color: inherit;
    color: inherit;
    box-shadow: none;
}

.ga-typeset code {
    word-break: break-word;
    box-decoration-break: clone;

    font-size: 85%;
    direction: 1tr;
}

.ga-typeset p {
    margin: 1em 0;
}

.ga-typeset-scrollwrap {
    margin: 1em -.8rem;
    overflow-x: auto;
}

.ga-typeset .ga-typeset-table {
    display: inline-block;
    margin-bottom: .5em;
    padding: 0 .8rem;
}

.ga-typeset table:not([class]) {
    box-shadow: none;
    border: none;
    border-radius: 0;
    font-size: inherit;
}

.ga-typeset .ga-typeset-table table {
    display: table;
    width: 100%;
    margin: 0;
    overflow: hidden;
}

.ga-typeset table:not([class]) tr {
    transition: background-color .125s;
}

.ga-typeset table:not([class]) tr a {
    cursor: pointer;
}

.ga-typeset table:not([class]) tr:hover {
    background-color: var(--color-hover);
    border-radius: 25px;
}

.ga-typeset table:not([class]) tr:first-child td {
    border-top: 0;
    min-width: 10rem;
}

.ga-typeset table:not([class]) td {
    padding: .6rem .8rem;
    border-top: .05rem solid rgba (0,0,0,.07);
    vertical-align: top;

}

.ga-content {
    margin-left: 12.1rem;
    margin-right: 12.1rem;
}

@media screen and (max-width:800px)
{
    .ga-content {
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

@media only screen and (hover:none) and (pointer: coarse) {
    .ga-content {
        margin-left: 0;
        margin-right: 0;
    }

    .ga-typeset table:not([class]) td {
        padding: .6rem .3rem;
    }

    .ga-typeset table:not([class]) tr:first-child td {
        min-width: 8rem;
    }
}

.ga-content-inner {
    padding-top: 0;
    margin: 0 8.rem 1.2rem;
}

.ga-separator {
    border-top: 1px solid var(--color-border);
    padding-top: .6rem;
}

.ga-footer {
    width: 100%;
    height: 2.4rem;
    border-top: 1px solid var(--color-border);
    padding: .6rem .8rem 0rem .6rem;

    text-align: center;
}

.ga-footer-title .ga-footer-topic {
    font-size: .6rem;
}
