/*
 * kwdevtheme - official theme for kwdev.org
 */ 

/* Colors */
:root {
    --doc-bg-color: Snow;
    --primary-dark-color: Firebrick;
    --primary-med-color: Crimson;
    --primary-light-color: Red;
    --primary-faint-color: MistyRose;
}

/* HTML Body */
body {
    margin: 0px;
    
    /* Anchor Links */
    a.headerlink {
        padding-left: 0.3em;
        opacity: 0;
        color: var(--primary-dark-color);
        text-decoration: none;
        font-style: normal;
        transition-property: opacity;
        transition-duration: 0.25s;
        transition-behavior: allow-discrete;
            
    }
    a.headerlink:hover {
        opacity: 1;
        transition-property: opacity;
        transition-duration: 0.25s;
        transition-behavior: allow-discrete;
    }

    /* Navigation Bar */
    div.related {
        font-family: "Arial", sans-serif;
        font-size: medium;
        background-color: var(--primary-dark-color);
        color: WhiteSmoke;
        padding-left: 1em;
        padding-top: 1em;
        padding-bottom: 1em;
        filter: drop-shadow(Black 6px 6px 3px);
        h1,
        h2,
        h3,
        h4 {
            font-family: "Helvetica", sans-serif;
        }
        ul,
        li,
        h3 {
            display: inline
        }
        ul.nav-item-this {
            font-weight: bold;
        }
        a {
            color: WhiteSmoke;
        }
        a:visited {
            color: Gainsboro;
        }
    }

    /* Document Root */
    div.document {
        display: grid;
        grid-template-columns: 80% 20%;
        background-color: var(--doc-bg-color);

        /* Sidebar */
        div.sphinxsidebar {
            border-left-style: solid;
            border-left-color: Silver;
            border-left-width: 1.5em;
            display: block;
            font-family: "Helvetica", sans-serif;
            background-color: Gainsboro;
            color: Black;
            font-size: medium;
            padding-left: 2em;
            padding-right: 2em;
            padding-top: 2em;
            h1,
            h2,
            h3,
            h4 {
                font-family: "Helvetica", sans-serif;
            }
            a {
                color: DarkSlateGray;
            }
            a:visited {
                color: DarkSlateGray;
            }
            div > ul > li > ul > li > ul > li {   /* Hide TOC levels after 3 */
                visibility: hidden;
                display: none;
            }
            ul {
                padding-left: 1.5em;
            }
        }

        /* Bodywrapper */
        div.documentwrapper {
            display: block;
            font-family: "Arial", sans-serif;
            margin-left: 5%;
            margin-right: 5%;
            h1 {
                padding-left: 0px;
                text-align: center;
                font-family: "Arial", sans-serif;
                color: var(--primary-dark-color);
                font-size: 3.5em;
                letter-spacing: .02em;
                margin-top: .8em;
                margin-bottom: .6em;
                font-weight: 1000;
                text-shadow: 2px 2px 4px Black;
                -webkit-text-stroke: 1px DimGray;
                strong {
                   color: var(--primary-light-color);
                   -webkit-text-stroke: 1px var(--primary-dark-color);


                }
            }
            h2 {
                font-size: xx-large;
                padding-left: 4px;
                border-bottom-style: solid;
                border-bottom-width: 5px;
                border-bottom-color: var(--primary-med-color);
                font-family: "Helvetica", sans-serif;
            }
            h3 {
                font-size: x-large;
                font-style: italic;
                padding-left: 4px;
                font-family: "Helvetica", sans-serif;

            }
            h4 {
                font-size: large;
                font-style: italic;
                padding-left: 4px;
                font-family: "Helvetica", sans-serif;
                border-bottom-color: Black;
                border-bottom-style: solid;
                border-bottom-width: 2px;

            }
            ul {
                padding-left: 1.5em;
            }
            p {
                margin-left: 2em;
                margin-right: 2em;
                line-height: 1.3;
                text-align: justify;
                font-size: large;
            }
            li {
                p {
                    margin-left: 0px;
                    margin-right: 0px;
                    margin-top: .2em;
                    margin-bottom: .2em;
                }
                dl {
                    margin-left: 0px;
                    margin-right: 0px;
                }
            }
            dl {
                margin-left: 2em;
                margin-right: 2em;
                p {
                    display: block;
                    margin-right: 0.5em;
                }
            }
            dd {
                margin-left: 0.5em;
                display: block flow-root;
                p {
                    margin-top: .8em;
                    margin-left: 0px;
                    mergin-right: 0px;
                }
            }
            a {
                color: DarkSlateGray;
            }
            a:visited {
                color: DarkSlateGray;
            }
            blockquote {
                text-align: center;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                margin-top: 1em;
                margin-bottom: 2em;
                background-color: Gainsboro;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: Gray;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;     
                filter: drop-shadow(DarkGray 4px 4px 2px);
                p {
                    margin-left: 2em;
                    margin-right: 0px;
                    margin-top: 0px;
                    margin-bottom: .6em;
                    font-style: italic;
                    font-size: medium;
                }
            }
            section {
                ul {
                    margin-left: 3.5em;
                    margin-right: 3.5em;
                }
                dd {
                    ul {
                        margin-left: 1em;
                        margin-right: 1em;
                    }
                    
                }
            }

            /* Double backtick inline-code */
            code.docutils.literal.notranslate {
                font-size: large;
                font-style: italic;
            }

            /* All Admonitions */
            div.admonition {
                margin-left: 2.8em;
            }


            /* Version Added */
            div.versionadded {
                margin-top: 1.6em;
                margin-bottom: 1.6em;
            }
            span.added {
                text-align: center;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                background-color: Honeydew;
                font-style: italic;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: LimeGreen;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;
                filter: drop-shadow(DarkGray 4px 4px 2px);
                margin-bottom: .6em;
            }

            /* Warning Admonition */
            div.warning {
                text-align: center;
                font-style: normal;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                margin-top: 1em;
                margin-bottom: 2em;
                background-color: LightYellow;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: Gold;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;
                filter: drop-shadow(DarkGray 4px 4px 2px);
                p {
                    margin-left: 2em;
                    margin-right: 0px;
                    margin-top: 0px;
                    margin-bottom: .6em;
                }
                p.admonition-title {
                    margin-left: 0px;
                    font-weight: bold;
                }
            }

            /* Error Admonition */
            div.error {
                text-align: center;
                font-style: normal;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                margin-top: 1em;
                margin-bottom: 2em;
                background-color: MistyRose;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: Red;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;
                filter: drop-shadow(DarkGray 4px 4px 2px);
                p {
                    margin-left: 2em;
                    margin-right: 0px;
                    margin-top: 0px;
                    margin-bottom: .6em;
                }
                p.admonition-title {
                    margin-left: 0px;
                    font-weight: bold;
                }
            }

            /* Tip Admonition */
            div.tip {
                text-align: center;
                font-style: normal;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                margin-top: 1em;
                margin-bottom: 2em;
                background-color: LightCyan;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: MediumBlue;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;
                filter: drop-shadow(DarkGray 4px 4px 2px);
                p {
                    margin-left: 2em;
                    margin-right: 0px;
                    margin-top: 0px;
                    margin-bottom: .6em;
                }
                p.admonition-title {
                    margin-left: 0px;
                    font-weight: bold;
                }
            }

            /* Just So You Know Admonition */
            div.admonition-just-so-you-know {
                text-align: center;
                font-style: normal;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                margin-top: 1em;
                margin-bottom: 2em;
                background-color: Lavender;
                border-left-style: solid;
                border-left-width: 16px;
                border-left-color: DarkViolet;
                border-top-style: solid;
                border-top-width: 1px;
                border-top-color: Gainsboro;
                border-bottom-style: solid;
                border-bottom-width: 1px;
                border-bottom-color: Gainsboro;
                border-right-style: solid;
                border-right-width: 1px;
                border-right-color: Gainsboro;  
                filter: drop-shadow(DarkGray 4px 4px 2px);
                p {
                    margin-left: 2em;
                    margin-right: 0px;
                    margin-top: 0px;
                    margin-bottom: .6em;
                }
                p.admonition-title {
                    margin-left: 0px;
                    font-weight: bold;
                }
            }

            
            /* TOC */
            div.toctree-wrapper { 
               p.caption {
                   span {
                       font-size: xx-large;
                       font-weight: bold;
                   }
                   margin: 0px;
                   padding-left: 4px;
                   border-bottom-style: solid;
                   border-bottom-width: 5px;
                   border-bottom-color: var(--primary-med-color);
                   font-family: "Helvetica", sans-serif;
               }
               ul {
                 margin-left: 2em;
                 line-height: 1.3;
               }
            }

            /* Simple Def. List */
            dl.simple {
                p {
                    margin-top: .3em;
                    margin-bottom: .3em;
                }
            }

            /* Code Block */
            div.highlight {
                margin-left: 8em;
                margin-right: 8em;
                margin-bottom: 2.5em;
                border-style: solid;
                border-width: 2px;
                border-color: Gainsboro;
                filter: drop-shadow(var(--primary-dark-color) 6px 6px 3px);
                background-color: var(--primary-faint-color);
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
            }

            /* Signatures */
            dt.sig {
                font-family: monospace;
                font-size: large;
                margin-top: 2em;
                margin-bottom: .8em;
                padding-left: 1em;
                padding-right: 1em;
                padding-top: .5em;
                padding-bottom: .5em;
                background-color: Azure;
                border-style: solid;
                border-width: .2em;
                border-color: Gainsboro;
                filter: drop-shadow(DarkGray 6px 6px 3px);
                span.sig-name {
                    font-weight: bold;
                    color: var(--primary-med-color);
                }
            }

            /* Python Doc Paragraph */
            dl.py {
                p {
                    margin-left: 2em;
                }
                ul {
                    margin-left: 3em;
                    p {
                        margin-left: 1em;
                    }
                }
            }

            /* Blank Space */
            div.clearer {
                visibility: hidden;
                display: none;
                max-height: 0px;
                min-height: 0px;
            }
        }
    }

    /* Footer */
    div.footer {
        font-size: small;
        font-style: italic;
        text-align: center;
        color: Black;
        background-color: Snow;
        padding-top: 1em;
        padding-bottom: .5em;
        margin-top: .5em;
        a {
            color: DarkSlateGray;
        }
        a:visited {
            color: DarkSlateGray;
        }
    }

}

