body {
    margin: 0;
    background-color: #F4FAFF;
    color: #031926;
    font-family: 'Outfit', sans-serif;
}

h1 {
    font-family: 'Montserrat', sans-serif;
}

header {
    width: 100%;
    background-color: #122F68;
    color: #F4FAFF;
}

header p, nav{
    font-family: 'Raleway', sans-serif;
    font-weight: bold;
}

nav {
    background-color: #122F68;
    padding: 5px 0 5px;
    position: sticky;
    top: 0;
}

nav ul {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

nav li {
    float: left;
    padding: 5px 0 5px;
    border-right: 3px solid #F4FAFF;
    background-color: #122F68;
    width: calc(25% - 2.25px);
}

nav li:last-child { border-right: none; }

nav li a {
    display: block;
    text-align: center;
    background-color: #122F68;
    color: #F4FAFF;
    text-decoration: none;
}

main>div>h1,#about p,#resume a {
    margin: 25px 10px 0 40px;
}

main>div {
    padding-bottom: 20px;
    border-bottom: 2px black solid;
}

/* Fix nav bar covering headers on jumps*/
main h1::before {
    display: block; 
    content: " "; 
    margin-top: -90px; 
    height: 90px; 
    visibility: hidden; 
    pointer-events: none;
}

#about>div {
    display: flex;
}

#about img {
    border: 7px solid #031926;
    border-radius: 5px;
}

#about p {
    font-size: 1.25rem;
    margin-bottom: 10px;
}

#projects>div {
    width: 92.5%;
    margin: 10px auto 0;
    padding: 25px 0 50px;
    display: grid;
    grid-gap: 40px;
    justify-items: center;
}

#projects p {
    margin: 5%;
}

/* Narrow screens */
@media only screen and (max-width: 920px) {
    header div {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-items: start;
    }

    header h1 {
        font-size: 9vw;
        margin: 0;
    }

    header p {
        font-size: 5vw;
        margin-bottom: 5vw;
    }

    header img {
        width: 50%;
    }

    #nav_wide {
        display: none;
    }

    nav li a {
        font-size: 1.25rem;
    }

    main>div>h1 {
        font-size: 2.5rem;
    }

    #about>div {
        flex-direction: column;
    }

    #about img {
        margin: 20px auto auto;
        width: 90%;
    }

    #projects>div {
        grid-template-rows: 1fr 1fr 1fr;
    }

    #resume {
        display: none;
    }

    #contact div {
        display: grid;
        grid-template: 1fr 1fr 1fr / 50px 1fr;
        grid-gap: 25px;
        align-items: center;
        margin: 15px;
    }

    #contact img {
        width: 50px;
        margin: 1vw 0 1vw 1vw;
    }
    
    #contact a,#contact p {
        font-size: 1.25em;
    }
}

/* Wide screens */
@media only screen and (min-width: 920px) {
    header div {
        margin: auto;
        width: 80%;
        display: grid;
        justify-content: center;
        align-items: center;
        grid-template: 1fr 1fr / 1fr 1fr;
        grid-template-areas: 
        "img name"
        "img tagline";
    }
    
    header img {
        grid-area: img;
        justify-self: end;
        width: 25vw;
        margin-right:4vw;
    }
    
    header h1 {
        grid-area: name;
        align-self: end;
        margin-bottom: 0;
        font-size: 5vw;
    }
    
    header p {
        grid-area: tagline;
        align-self: start;
        font-size: 2.5vw;
    }

    #nav_narrow {
        display: none;
    }

    nav li a {
        font-size: 2vw;
    }

    main>div>h1 {
        font-size: 2.25rem;
    }

    #about>div {
        flex-direction: row;
        justify-content: space-between;
    }

    #about img {
        margin: -45px 40px 10px;
        width: 30%;
        height: 100%;
    }
    
    #projects>div {
        grid-template: 1fr 1fr / 1fr 1fr;
    }

    #resume iframe {
        display: block;
        margin: 25px auto;
        width: 800px;
        height: 1100px;
        border: 0;
    }

    #contact div {
        display: grid;
        grid-template: 1fr 1fr 1fr / 100px 1fr;
        grid-gap: 25px;
        align-items: center;
        margin: 15px;
    }

    #contact img {
        width: 75px;
        margin: 1vw 0 1vw 1vw;
    }
    
    #contact a,#contact p {
        font-size: 1.5em;
    }
}

#projects a,p {
    font-size: 1.25rem;
}

#projects div>div {
    width: 95%;
    display: flex;
    flex-direction: column;
    padding: 15px;
    background: url("../media/stripes.png") repeat #1766B5;
    border-radius: 15px;
    justify-content: space-around;
}

#projects>div>div>a {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.25em;
    font-weight: bold;
    text-align: center;
}

#projects a:link,#resume a:link,#contacts a:link, footer a:link {
    color: #0053A6;
}

#projects>div>div a:visited,#resume a:visited,#contacts a:visited, footer a:visited {
    color: #5A1BB3;
}

#projects img{
    width: 80%;
    margin: auto;
    margin-top: 15px;
    padding: 0px;
    border: 7px solid #122F68;
    border-radius: 5px;
}