/*
 * Sphinx stylesheet to add 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
 *
 */

div.body h1 {
    margin-top: 1em;
}

div.wrapper {
    padding-top: 78px;
    margin-bottom: 0px;
    height: 637px;
}

/* -- HEADER ------------------------------------------------------------------------------- */

div.header {
    background-color: #140f46;
    top:0;
    position: fixed;
    width: 100%;
    padding: 0 30px 30px 30px;
}
.textContainer {
    margin: auto;
}

/*div.logocontainer {
    width: 50%;
}*/

#siteBanner {
    position: fixed;
    width: 100%;
    height: 4.5rem; 
    margin: 0;
    padding: 0 20px 0 30px;
    background-color: #140f46;
    opacity: 0.95;
    transform: translate3d(0px, 0px, 0px);
    z-index: 1;
}
#siteBanner input {
    border-width: 0;
    /*color: rgb(244, 244, 244);
    background-color: #140f46;
    font-size: 0.9rem;*/
    letter-spacing: 0.1rem;
    /*width: 12rem;*/
}
#siteBanner input:focus, 
#siteBanner textarea:focus, 
#siteBanner select:focus{
    outline: none;
}
svg.Header-logo-white {
    display: inline;
}
svg.Header-logo-purple {
    display: none;
}

div.linkcontainer {
   /*width: 50%;*/
    margin-left: auto;
    margin-top: -1.3rem;
    padding-right: 50px;
}

div.linkbar {
    float:right;
}
.linkbar a {
    color: White;
    font-size: 18px;
    margin-left: 20px;
    text-decoration: none;
}


.linkbar a:hover {
    text-decoration: underline;
}
.small-bar {
    float:right;
    display:none;
}

.small-bar a {
    color: White;
    font-size: 18px;
    margin-left: 20px;
    text-decoration: none;
}
.small-bar a:hover {
    text-decoration: underline;
}

#Header-logo {
    text-decoration: none;
    position: relative;
    width: 98px;
    height: 20px;
}

#Header-logo > * {
    margin-top: 1.7rem;
}

svg.Header-logo-white {
    display: inline;
}


/* -- DOCUMENT ------------------------------------------------------------------------------- */

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

div.documentwrapper {
    width: 90%;
    box-shadow: 0.1rem 0.4rem 1.5rem #d0cee4;
    margin: 20px 20px 20px 20px;
    padding-bottom: 50px;
}
div.mainBox {
    margin-left: calc(30% + 25px);  /* Allow 25px for the width of the ToC scrollbar */
}

div.privacy {
    text-align: right;
    padding-right: 5%;
    padding-bottom: 20px;
}

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

div.navBox {
    overflow-y:auto;
    width:29%;
    padding-left: 25px;
    position: fixed;
    height: calc(100% - 108px);
    z-index: 100;
    background-color: #FFFFFF;
    padding-top: 30px;
}

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

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

.navBox ul li a {
    border-bottom: none;
}

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

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

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

@media screen and (max-width: 875px){ 
   
    #siteBanner {
        position: relative;
    }
    div.wrapper {
        /*margin-top:-100px;*/
        flex-direction: column;
        height: 100%;
        width: 100%;
        padding-top: 0px;
    }  
    div.mainBox {
        margin: 0 10px 0 10px;
        position: relative;
        height: 100%;
        width: 100%;
    } 
    div.documentwrapper {
        padding-left: 20px;
        width:100%;
        box-shadow: none;
        margin: 0;
        padding-left:0;
    }

    div.navBox {
        position: relative;
        width: 100%;
        border-color: #2f1695;       
    }
    body {
        margin: 0;
        padding: 0;
        overflow: inherit;
        width:95%;
    }

    div.body {
        min-width: unset;
    }
    div.linkbar {
        display: none;
    
    } 
    .small-bar {
        display: inherit;
    }
    
    ul {
    margin: 10px 20px 10px 20px;
    }

    div.privacy {
        padding-right: 0%;
    }

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

@media print {
    div.navBox {
        display: none;
    }

    #siteBanner {
        display: none;
    }

    div.wrapper {
        /*margin-top:-100px;*/
        flex-direction: column;
        height: 100%;
        width: 100%;
        padding-top: 0px;
    }  
    div.mainBox {
        margin: 0 10px 0 10px;
        position: relative;
        height: 100%;
        width: 100%;
    } 
    div.documentwrapper {
        padding-left: 20px;
        width:100%;
        box-shadow: none;
        margin: 0;
        padding-left:0;
    }

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

    div.body {
        min-width: unset;
    }
    div.linkbar {
        display: none;
    
    } 
    .small-bar {
        display: inherit;
    }
    
    ul {
    margin: 10px 20px 10px 20px;
    }

    div.privacy {
        display: none;
    }
}

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

div.body {
    max-width: 100%;  /* overrule 800px in basic.css */
} 

/* 
 * 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;
}

/*
 * 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 */

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

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


/* -- FOOTER ------------------------------------------------------------------------------- */
div.footer {
    display: none;
    /* background-color: #2F1695; */
    /* color: #FFFFFF; */
    /* padding: 30px; */
    /* margin: 0; */
    /* width: calc(100% - 60px); */  /* Allow for 2 x 30px of padding (at left & right side) */
    /* position: fixed; */
    /* bottom: 0; */
}

/* Adjust anchor targets to allow for the fixed banner */
div.documentwrapper a[name], 
div.documentwrapper :target::before,
div.footnote-group a[name], 
div.footnote-group :target::before
 {
    content: "";
    display: block;
    height: 78px;      /* Height of banner */
    margin-top: -78px; /* Prevent this showing as a gap */      
}

/* -- 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;
}

/* -- 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 p:first-of-type {
    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: " ▶";
}

.toggle .name.open:after {
    content: " ▼";
}