body {
    margin: 0;
    opacity: 1;
    transition-duration: 0.4s;
    transition-property: opacity;
    transition-timing-function: ease-in-out;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.fade {
    opacity: 0;
}

/* SHARED */
.wrapperTop {
    max-width: 1900px;
    margin: 0 auto;
    padding: 0 10px;
}

/* INTRO SECTION */
#intro-container {
    background-color: whitesmoke;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* LOGO */

/* Open Source Disclaimer */
/* This section of the CSS file uses open source fonts under the SIL Open Font License.
   For details, see: https://scripts.sil.org/OFL */
@font-face {
    font-family: 'Source Code Variable';
    font-weight: 200 900;
    font-style: normal;
    font-stretch: normal;
    src: local('source code pro'),
        url('../SourceCodePro-VariableFont_wght.ttf') format('truetype-variations');
}

/* End of section that uses open source fonts */

#codemountain {
    max-width: 500px;
    display: block;
    padding-top: 20px;
    margin-right: auto;
    margin-left: auto;
    height: auto;
    width: 100%;
    font-family: Source Code Variable;
    font-weight: 600;
    font-size: 13.5px
}

#headerText {
    padding-bottom: 10px;
    margin-bottom: 0px;
    margin-top: 5px;
    text-align: center;
    font-family: Source Code Variable;
    font-weight: normal;
    font-size: calc(36px - .5vh);
}

#header-hr {
    max-width: 700px;
    width: calc(10% + 8em * 8);
    margin: auto;
    margin-top: 5px;
}

#name {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 0px;
    padding-bottom: 10px;
    font-family: 'Courier New', Courier, monospace;
}

/* NAVBAR */
#navbar {
    background-color: lightgrey;
    opacity: .80;
    border-bottom: 5px;
    border-color: black;
    padding-left: 5px;
    display: block;
}

#navbar ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#navbar li {
    float: left;
    display: inline;
}

#navbar li a {
    display: block;
    text-align: center;
    padding: 12px 14px;
    text-decoration: none;
    color: black;
}

#navbar li a:hover {
    background-color: gray;
}

.active {
    background-color: #aaa;
}

/* SHARED (ABOUT-ME, WORKFLOW, PROJECTS, CONTACT-ME) */
.main-section {
    padding-top: 100px;
    padding-bottom: 100px;
}

.section-wrapper {
    max-width: 1170px;
    margin: 40px auto;
    padding: 0 10px;
}

.text-wrapper {
    padding-right: 15px;
    padding-left: 15px;
}

.title-font {
    font-family: 'Courier New', Courier, monospace;
    padding-left: 15px;
}

.sub-title {
    font-family: source code pro;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

/* ABOUT ME SECTION */
#ab-me {
    background-color: white;
}

#ab-me img {
    margin-top: auto;
    margin-bottom: auto;
    padding: 15px;
    width: 250px;
    height: 250px;
}

.flex-container {
    display: flex;
    flex-direction: row;
}

/* WORKFLOW SECTION */
#workflow {
    background-color: #f8f8f8;
}

/* PROJECTS SECTION */
#projects {
    background-color: #EEEEEE;
}

#projects h4 {
    margin-bottom: 0;
}

#projects p {
    margin-top: 0;
}

#prev {
    margin-left: 10px;
}

#projectSelector, #prev, #next {
    color: black;
}

.card {
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16);
    background-color: #f8f8f8;
    margin-top: 20px;
    margin-bottom: 30px;
    padding: 10px;
}

.card2 {
    background-color: white;
    margin-top: 10px;
    padding: 0 10px;
    border: .25px solid lightgray;
}

pre {
    margin-top: 0;
    margin-bottom: 0;
}

/* CONTACT-ME SECTION */
#contact-me {
    background-color: white;
}

/* FOOTER SECTION */
footer {
    margin-top: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: lightgrey;
    opacity: .80;
    text-align: center;
}

#copyright {
    margin: 0;
    padding: 5px;
}

@media screen and (min-width: 960px) {
    #logo-container {
        padding-left: calc(100vw - 100%);
        margin-right: 0;
    }
}

@media (max-width: 800px) {
    #header-hr {
        max-width: 98%;
    }

    #name {
        font-size: medium;
    }

    #navbar li a {
        padding: 8px 6px;
    }

    .main-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .flex-container {
        flex-direction: column;
    }

    #me {
        margin-left: auto;
        margin-right: auto;
    }

    #prev {
        margin-left: 18vw;
    }

    #copyright {
        font-size: 12px;
    }
}

@media (max-width: 650px) {
    #headerText {
        font-size: 5.14vw;
    }
}

@media (max-width: 400px) {
    #navbar ul {
        font-size: 3.6vw;
    }
}

@media (max-width: 300px) {
    #name {
        font-size: 4vw;
    }

    #ab-me img {
        padding: 0;
    }

    #prev {
        margin-left: 1vw;
    }
}