/* bgColor #282c34 Dark slate gray */
/* bgColorLight #3a3f4b Lighter dark slate gray*/
/* txtColor #bbc2cf Light gray-blue */
/* linkColor #ff6c6b Soft red */
/* linkColorHover #ff4b4a Brighter red for hover */
/* headerColor: #51afef Bright sky blue */
/* headerColorLight: #7ecbff Lighter blue for highlights */
/* thisPage: #E16600 */
/* footer, nav border: #ddd */
/* some of the colors are from vern.cc, check them out */
/* layout from cat-v.org, check them out */

html {
    font-family: sans-serif;
    background-color: #282c34;
    color: #d3d8e3;
    font-size: 16px;
    line-height: 1.6;
}

body {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 84%;
}

header {
    flex-basis: 100%;
    flex-shrink: 0;
}

header nav {
    display: flex;
    justify-content: space-between;
    background-color: #282c34;
    color: white;
    padding: 0.3em;
}

header h1 {
    background-color: #282c34;
    margin: 0;
    padding: 0.25ex;
    font-size: 233%;
}

header h1 span {
    margin-left: 1em;
    font-size: 50%;
    font-style: italic;
}

body > nav {
    flex-basis: content;
    min-width: 16em;
    border-right: 1px solid #ddd;
}

nav ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    padding-left: 0;
}

nav li ul {
    padding-left: 0.6em;
}

body > nav > div a {
    color: #bbc2cf;
    display: block;
    text-transform: capitalize;
    font-weight: bold;
    padding: 0.25em 1ex 0.25em 2mm;
    font-size: 102%;
}

body > nav > div a:hover {
    color: #bbc2cf;
    background-color: #3a3f4b;
    border-left: 0.4em solid #E16600;
}

footer {
    border-top: 1px solid #ddd;
    padding-left: 1em;
    width: 100%;
    box-sizing: border-box;
}

hr {
   color: #ddd;
}

footer a {
    color: #ff6c6b;
}

footer a:hover {
    color: #ff4b4a;
    text-decoration: underline;
}

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

.thisPage { 
    color: #E16600;
}

article {
    flex: 1;
    padding-left: 1em;
    padding-right: 2em;
}

article h1,
article h2,
article h3,
article h4 {
   line-height: 1.2;
}

article h1 {
   font-size: 1.8em; 
   text-align: center; 
}

article h2,
article h3,
article h4 {
   font-size: 1.4em; 
   color: #51afef;
}

article h1 a,
article h2 a,
article h3 a,
article h4 a {
   color: inherit; 
   text-decoration: none; 
}

article h1 a:hover,
article h2 a:hover,
article h3 a:hover,
article h4 a:hover {
   color: #7ecbff;
   text-decoration: underline; 
}

article h1:target,
article h2:target,
article h3:target,
article h4:target {
   padding-top: 60px; 
   margin-top:-60px; 
}

article ul {
    margin-left: 0;
    padding-left: 20px;
}

article a {
    color: #ff6c6b;
    text-decoration: none;
}

article a:hover {
    color: #ff4b4a;
    text-decoration: underline;
}

article pre {
    background-color: #3a3f4b;
    border: 1px solid #E16600;
    border-radius: 7px;
    padding: 10px 5px;
    overflow-x: auto;
    margin: 10px auto;
    text-align: left;
    font-size: 1.2em;
}

article p {
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

article blockquote {
    background-color: #3a3f4b;
    border-left: 5px solid #E16600;
    margin: 15px auto;
    padding: 15px;
    text-align: left;
}

article blockquote p {
    margin: 0;
}

article cite {
    display: block;
    font-style: italic;
    margin-top: 10px;
}

article summary {
    border: 1px solid #E16600;
    border-radius: 7px;
    padding: 10px 5px;
    overflow-x: auto; 
    margin: 10px auto;
    text-align: left;
    font-size: 1.2em;
    font-weight: bold;
    cursor: pointer;
}

article details ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    padding-left: 1em;
    margin: 0;
}

article details li {
    margin: 0.2em 0;
    padding-left: 1em;
}

article details li a {
    color: #d3d8e3;
    display: block;
    text-transform: capitalize;
    font-weight: bold;
    padding: 0.25em 1ex 0.25em 2mm;
}

article details li a:hover {
    background-color: #3a3f4b;
    color: #d3d8e3;
    border-left: 0.4em solid #E16600;
    text-decoration: none;
    font-size: 102%;
}

@media (max-width: 768px) {
    body {
        margin: 0;
        padding: 0;
        font-size: 16px;
        line-height: 1.6;
    }

    header nav {
        flex-direction: column;
    }

    body > nav {
        order: -1; 
        width: auto; 
    }

    header {
        width: 100%;
    }

    article {
        padding: 1em;
        max-width: 100%;
        box-sizing: border-box;
    }

    footer {
        border-top: 1px solid #ddd;
        padding: 1em;
        width: 100%;
        box-sizing: border-box;
    }
}
