/* ==========================================================================
                       _           
     ___ _ __ ___   __| | ___ _ __ 
    / __| '_ ` _ \ / _` |/ _ \ '__|
    | (__| | | | | | (_| |  __/ |   
    \___|_| |_| |_|\__,_|\___|_|   
   ========================================================================== */

html, body, button, input, select, textarea {
    color: #212529;
}
::selection {
    background: #b3d4fc;
    text-shadow: none;
}
img {
    vertical-align: middle;
}

/* -------------- General Styles -------------- */

body {
    background-color: Whitesmoke;
    font-size: 0.9em;
    font-family: 'Lato', Candara, Calibri, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    line-height: 1.4;
}
body > div.container, body > div.container-fluid {
    margin: 2em auto;
    padding: 0 0 2em 0;
    background-color: #fff;
    box-shadow: 0 0 8px 3px #eee;
}
main > section {
    margin: 0 auto;
    widows: 100%;
}

@media (max-width: 768px) {
    body > div.container, body > div.container-fluid {
        margin-top: 0;
    }
}

/* -------------- Typography -------------- */

a {
    color: #1E90FF;
}
h2 {
    padding: .5em 1em;
    color: #444;
    text-align: center;
    font-weight: 300;
    font-style: italic;
    font-size: 1.2em;
}
h2:before, h2:after {
    display: block;
    margin: 0.5em auto;
    width: 50%;
    height: 1px;
    background-color: #eee;
    content: "";
}
h3 {
    margin: 2.3em 0 0 0;
    padding: 8px;
    background-color: #eee;
    color: #222;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
    font-weight: normal;
    font-size: 1.3em;
}
h4 {
    margin: 1em 0;
    color: #444;
    text-indent: 8px;
    letter-spacing: 0.1em;
    font-size: 1.1em;
    font-weight: 700;
    text-rendering: optimizeLegibility;
}
.btn {
    display: block;
    padding: 12px 0;
    width: 100%;
    border: 1px solid #eee;
    border-radius: 4px;
    background-color: #888;
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.02) !important;
    color: #fff;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    font-size: 1.1em;
    outline: none;
    text-decoration: none;
    transition: background-color 0.3s;
}
.btn:active:focus {
    outline: none;
    box-shadow: none;
}
.btn.btn-secondary {
    border: 1px solid #eee;
    background-color: #C4C4C4;
    color: #eee;
}
.btn.btn-secondary:hover {
    border: 1px solid #eee;
    background-color: #ccc;
    color: #eee;
}
.btn.btn-secondary:active {
    border: 1px solid #eee;
    background-color: #bbb;
    color: #eee;
}
.btn.btn-primary {
    border: 1px solid #eee;
    background-color: #3498db;
    color: #eee;
}
.btn.btn-primary:hover {
    border: 1px solid #eee;
    background-color: #5dade2;
    color: #eee;
}
.btn.btn-primary:active {
    /* the !important rule used to over-write bs's :disabled attr */
    border: 1px solid #eee !important;
    background-color: #1E90FF !important;
    color: #eee !important;
}

/* -------------- Modules -------------- */

header {
    position: relative;
    overflow: hidden;
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: normal;
    font-size: 1.6em;
    font-family: 'Lato', Candara, Calibri, Segoe, "Segoe UI", Optima, Arial, sans-serif;
}
#title_image {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}
@media (max-width: 1000px) {
    #title_image {
        margin-left: -10%;
        width: 120%;
    }
}
main {
    padding: 0em 6%;
}
#logo, #pitch {
    position: absolute;
    width: 100%;
    text-align: center;
}
#pitch {
    top: 100px;
    color: #222;
    text-shadow: 1px 1px 0 rgba(88, 88, 88, 0.5);
    font-style: italic;
    font-size: 0.6em;
}
#logo {
    top: 50px;
}
#logo img {
    height: 40px;
}
.information img {
    width: 100%;
}
.information p {
    margin: 0;
    padding: 0 .5em;
    padding-bottom: 3em;
    line-height: 1.4em;
}
.download {
    padding-top: 1.2em;
    max-width: 35em;
    text-align: center;
}
.download > .github {
    margin-bottom: 1.5em;
}
#installation {
    text-align: left;
}
.download small {
    display: inline-block;
    margin: 0.5em 0 0;
}
footer {
    text-align: center;
    font-size: small;
    padding-bottom: 2em;
}
code {
    padding: 1px 3px;
    border-radius: 2px;
    color: #222;
    background-color: #eee;
    font-size: 0.9em;
    font-family: Consolas, monaco, monospace;
}

/* -------------- Lists -------------- */

ul {
    padding-left: 8px;
    list-style: none;
}
ul ol {
    margin: 0.5em 0;
    padding: 0 0 0 30px;
    list-style: none;
}

/* -------------- Dark Mode -------------- */

@media (prefers-color-scheme: dark) {
    html, body, button, input, select, textarea {
        color: #e0e0e0;
    }
    
    body {
        background-color: #1a1a1a;
    }
    
    body > div.container, body > div.container-fluid {
        background-color: #2a2a2a;
        box-shadow: 0 0 8px 3px #000;
    }
    
    a {
        color: #5dade2;
    }
    
    h2 {
        color: #d0d0d0;
    }
    
    h2:before, h2:after {
        background-color: #444;
    }
    
    h3 {
        background-color: #333;
        color: #e0e0e0;
    }
    
    h4 {
        color: #d0d0d0;
    }
    
    #pitch {
        color: #e0e0e0;
        text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.8);
    }
    
    .btn {
        border: 1px solid #444;
        background-color: #555;
        color: #e0e0e0;
    }
    
    .btn.btn-secondary {
        border: 1px solid #444;
        background-color: #4a4a4a;
        color: #e0e0e0;
    }
    
    .btn.btn-secondary:hover {
        border: 1px solid #555;
        background-color: #555;
        color: #e0e0e0;
    }
    
    .btn.btn-secondary:active {
        border: 1px solid #666;
        background-color: #606060;
        color: #e0e0e0;
    }
    
    .btn.btn-primary {
        border: 1px solid #2980b9;
        background-color: #2980b9;
        color: #e0e0e0;
    }
    
    .btn.btn-primary:hover {
        border: 1px solid #3498db;
        background-color: #3498db;
        color: #e0e0e0;
    }
    
    .btn.btn-primary:active {
        border: 1px solid #1E90FF !important;
        background-color: #1E90FF !important;
        color: #e0e0e0 !important;
    }
    
    code {
        color: #e0e0e0;
        background-color: #3a3a3a;
    }
    
    footer {
        color: #b0b0b0;
    }
}
