/*
 * This Sphinx stylesheet adds some customizations to the default Alabaster theme.
 * 
 * The source for the default stylesheet can be found at 
 * https://github.com/bitprophet/alabaster/blob/master/alabaster/static/alabaster.css_t
 *
 * For the classes provided by the primer, see https://unpkg.com/@primer/css/dist/primer.css
 */


/* -- CODE SNIPPETS ----------------------------------------------------------------------- */

code {
    font-size: 0.9em !important; /* makes code snippets in headings the correct size */
}

/* -- MAIN BODY ---------------------------------------------------------------------------- */

main {
    min-height: calc(100vh - 68px);
}

div.body {
    max-width: 100%;
    min-width: unset;
    padding: 0;
}

div.body li {
    margin: 0 0 0.5em 0; /* Increase spacing between list items */
}

article {
    min-height: calc(100vh - 145px); /* Makes sure GitHub footer stays at bottom of viewport */
}

article ul, article ol {
    margin-left: 18px; /* Aligns list items with other text */
}

/* -- SIDEBAR ------------------------------------------------------------------------------- */

.SideNav {
    max-height: 100vh;  /* Makes sure sidebar doesn't cover GitHub footer */
}

.SideNav li {
    margin: 10px 0 10px 0px; 
}

.SideNav ul, .SideNav ol, .SideNav li {
    list-style-type: none;
}

.SideNav ul li a {
    border-bottom: none;
    color: black;
}

.SideNav ul li a:hover {
    font-weight: bold;
    border-bottom: none;
}

.SideNav a.current {
    font-weight: bold;
    text-decoration: underline;
}

/* -- BREADCRUMBS --------------------------------------------------------------------------------*/

div.related ul {
    padding: 0;
}

/* -- LINKS --------------------------------------------------------------------------------------*/

a.reference {
    border-bottom: none;
}

a.reference:hover {
    text-decoration: none; 
}

/* -- ADMONITIONS ---------------------------------------------------------------------------- */

/* 
 * Override default styling for "admonitions". 
 * This includes: note, tip, important, and caution.
 *
 */
 
div.admonition p.admonition-title { 
    /* Make title same size and font as body, but bold. */
    font-family: Lato, sans-serif; 
    font-size: 14px;
    font-weight: bold;
}

p.admonition-title:after {
    content: ""; /* Don't insert a colon after the title */
}

/* 
 * Don't use yellow for footnote background.
 *
 */

.footnote:target {
    background-color: unset;
}

/* 
 * Add a border with rounded corners around code blocks
 * (as in the QL language spec).
 *
 */

pre {
    border: 1px solid #BBB;
    background: #F6F6F6;
    border-radius: 5px;
    white-space: pre-wrap;
}

/* -- QL SYNTAX HIGHLIGHTING -------------------------------------------------- */

/*
 * Use more appropriate colors for syntax highlighting
 *
 */

.highlight { color: #333 } /* default */
.highlight .s { color: #06994a } /* strings */
.highlight .m { color: #333 } /* numbers (no special highlighting) */
.highlight .c1 { color: #007020; font-style: italic } /* one-line comments */
.highlight .cm { color: #007020; font-style: italic } /* multiline comments */
.highlight .cp { color: #2F1695; font-style: italic } /* QLDoc comments */
.highlight .k { color: #7a65cd; font-weight: bold } /* keywords */
.highlight .kt { color: #7a65cd; font-weight: bold } /* built-in type keywords */
.highlight .kr { color: #333; font-style: italic } /* annotations */


/* -- SEARCH PAGE ---------------------------------------------------------------------------- */

div.context { /* hide rst search snippets */
    display: none;
}

/* -- INDEX ---------------------------------------------------------------------------------------- */

table.indextable li > a {
    text-decoration: unset;
}

/* -- ANCHOR LINKS ------------------------------------------------------------------------------- */

/* make anchor highlighting more sensible */

dt:target::before {
    background-color: white;
}

/* -- CSV TABLE STYLING ------------------------------------------------------------------------------- */

table.colwidths-auto.fullwidthtable.docutils {
    width: 100%;
    margin-bottom: 20px;
}

table.colwidths-auto.fullwidthtable.docutils caption {
    top-outside: true;
    margin-bottom: 10px;
    margin-top: 10px;
    text-align: left;
    font-size: 150%;
}

/* -- FOOTNOTE TABLE STYLING ------------------------------------------------------------------------------- */

table.docutils.footnote {
    border: none;
    background: transparent;
    margin-left: 10px;
}

table.footnote td.label {
    padding-right: 10px;
    display: table-cell;
}

/* -- STYLE PULL-QUOTE AS ADMONITION WHILE DOCS STILL PARSED FOR LGTM EMBEDDED HELP------------------------- */

blockquote.pull-quote {
    margin: 20px 30px;
    padding: 10px 20px;
    background-color: #EEE;
    border: #CCC;
    border-radius: 5px;
} 

blockquote.pull-quote:first-line {
    font-weight: bold;
    margin-top: 0px;
}

blockquote.pull-quote > :last-child {
    margin-bottom: -10px;
}

/* -- COLLAPSIBLE SECTIONS --------------------------------------------------------------------------------- */

.toggle .name {
    display: block;
    clear: both;
}

.toggle .name:hover {
    cursor: pointer;
}

.toggle .name:after {
    content: " ▶";
    font-family: "monospace";
}

.toggle .name.open:after {
    content: " ▼";
    font-family: "monospace";
}

/* -- PRINT VIEW ----------------------------------------------------------------------------*/

@media print {

    div.SideNav {
        display: none;
    }

    body {
        margin: 0;
        padding: 0;
        overflow: inherit;
        width:95%;
    }

    div.privacy {
        display: none;
    }
}

/* -- SMALL SCREEN ------------------------------------------------------------------------------- */

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

    /* Overrides strange behaviour caused by default styles */

    body {
        padding: 0;
    } 
    
    div.footer {
        display: block;
    }
}
