* {
    font-family: Arial, Helvetica, sans-serif;
    border: 0;
    margin: 0;
}

body {
    height: 100vw;
    position: relative;
}

header {
    background-color: #074973;
    padding: 30px 0px;
    padding-right: 40px;
    width: 100%;
    margin: 0 auto;
}

h1 {
    color: white;
}

.nav {
    color: white;
    display: inline;
}

#nav-left {
    display: inline-block;
    font-size: 36px;
    font-weight: bold;
    padding-left: 40px;
}

/* float to make text line up to the right side of page */
.nav-right {
    font-size: 18px;
    padding: 0 12px;
    color: white;
    float: right;
    padding-top: 13px;
}

/* color change on mouse hover */
.nav-right:hover {
    color: #E7BF49;
}

/* no underline for links */
a:link {
    text-decoration: none;
}

/* color change for visited links */
a:visited {
    color: #F2D57E;
}

.header {
    min-width: 100%;
}

.header-img {
    /* background-image: url('../images/header-pic.png'); */
    display: block;
    width: 100%;
    height: 250px;
    border: none;
    margin: 0px;

}

main {
    position: absolute;
}

section {
    display: flex;
    flex-direction: row;
    position: relative;
}

.about-me {
    border: 1px solid white;
    padding: 5px;
}

.work {
    border: 1px solid white;
    padding: 5px;
    margin: 20px 1px;
    margin-top: 30px

}

.main {
    border: 1px solid white;
    padding: 3px;
    margin: 5px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-right: 50px;
}

p {
    width: 75%;
    color: #666666;
    line-height: 1.6;
}

img {
    border: 2px solid #ffffff;
    object-fit: cover;
}

h2 {
    font-size: 36px;
    font-weight: bold;
    width: 20%;
    border-right: 3px solid #E3E3E3;
    margin-right: 21px;
    text-align: right;
    padding-right: 30px;
    padding-top: 13px;
    color: #074973;
}

/* flexbox for work section */
.flex-container {
    display: flex;
    margin: auto;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    width: 75%;
    
}

/* flexbox images */
.flex-card {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: flex-end;
    border: 2px solid #074973;
}

/* change opacity on hover over images */
.flex-card:hover {
    opacity: 80%;
}

.code-refactor {
    background-image: url('../images/homepage.png');
    background-size: cover;
    width: 100%;
    height: 500px;
    margin: 10px;
}

.css-demo {
    background-image: url('../images/day-planner.png');
    background-size: cover;
    width: 47%;
    height: 200px;
    margin: 10px;
}

.css-demo .labels {
    height: 25%;
}

.twilight {
    background-image: url('../images/password-generator.png');
    background-size: cover;
    width: 47%;
    height: 200px;
    margin: 10px;
}

.twilight .labels {
    height: 25%;
}

.workspace {
    background-image: url('../images/vaccine.png');
    background-size: cover;
    width: 47%;
    height: 200px;
    margin: 10px;
}

.workspace .labels {
    height: 25%;
}

.chair {
    background-image: url("https://images.pexels.com/photos/6960353/pexels-photo-6960353.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260");
    background-size: cover;
    object-fit: cover;
    background-repeat: no-repeat;
    width: 47%;
    height: 200px;
    margin: 10px;
}

.chair .labels {
    height: 25%;
}

.labels {
    background: #F2D57E;
    color: #666666;
    width: 45%;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 10px;
    opacity: 0.9;
}

.labels h3 {
    font-size: 22px;
    font-weight: bold;
}

.flex-container p {
    font-size: 16px;
}    

.repo-link {
    color: #074973;
}

footer {
    background-color: white;
    padding: 30px 0px;
    position: relative;
    bottom: 0px;
    left: 0px;
    margin: 5px;
    border: 1px solid white;
}

.bottom-nav-link {
    text-align: center;
    font-size: 20px;
    margin: auto;
}

#nav-bottom-right {
    padding: 2px 35px;
    color: #074973;
}

/* color change on hover */
#nav-bottom-right:hover {
    color: #0C5F95;
}

/* color change for visited */
#nav-bottom-right > a:visited {
    color:#F2D57E
}

/* for tablet screen size */
@media screen and (max-width: 1023px) {
    .flex-card {
        width: 100%;
        max-height: 20%;
        background-position: center;
    }
}

/* for smartphone screen size */
@media screen and (max-width: 767px) {
    .flex-card {
        width: 100%;
        max-height: 20%;
    }
    .header {
        width: 400px;
    }
}

/* for longer text in h2 to scale for smaller screen */
@media screen and (max-width: 580px) {
    .labels h3 {
        font-size: 15px;
    }
    .labels p {
        font-size: 10px;
    }
    .about-me h2 {
        font-size: 30px;
    }
    .nav-bottom h2 {
        font-size: 22px;
    }
}