/* Defined variables with common properties across the page */
:root {
    --container-border: 2px solid white;
    --container-bgcolor: rgb(58, 58, 83);
    --primary-fontcolor: rgb(58, 58, 83);
}

/*Remove browser defaults*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    margin: 30px;
}

/* Header section styling */
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 35px;
    background-color: var(--container-bgcolor);
    max-width: 95%;
}
header h1 {
    font-size: 38px;
    column-width: 200px;
    text-align: right;
    padding: 10px;
}
h1 a {
    text-decoration: none;
    color: white;
}

/* Navigation unordered list */
.headermenu nav ul {
    display: flex;
}

/* Navigation menu list */
.headermenu nav ul li {
    font-size: 18px;
    font-weight: bold;
    list-style: none;
    margin: 0 30px;
    border-bottom: 2px solid white;
}
.headermenu ul li a {
    text-decoration: none;
    color: white;
} 

/* Hero section of SF skyline */
.hero-section {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 30px 50px;
    height: 200px;
    background-image: url("../images/san-francisco-skyline-panorama-l.jpg");
    background-position: center;
    background-size: cover;
    width: 95%;
}
.hero-text {
    border: 2px solid white;
    padding: 15px;
    color: white;
    border-radius: 8px;
    height:fit-content;
    justify-content: space-between;
    background-color: var(--container-bgcolor);
    max-width: 910px;
}

/*  Main body content shared layout */
.main-content {
    background-color: rgb(211, 214, 238);
    width: 95%;
}

/* Divide up the main sections of the body with the same properties */
.section-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 20px;
    /* border: 1px solid blue; */
}

/* Common properties for left-side header of the container elements */
.left-head {
    flex: 20%;
    font-size: x-large;
    border-color: darkslategray;
    border-right-width:3px;
    border-right-style: solid;
    text-align: right;
    padding-right: 8px;
    max-width: 200px;
}
#worktree {
    flex: 80%;
    /* margin-left: 5px;  */
    width: 100%;
}

/* Common properties for right-side of the flexbox elements */
.whataboutme, .projects, .contactme-list {
    flex: 80%;
    max-width: 700px;
    margin-left: 62px;
}

/****** About Me Section specifics */
#aboutme {
    margin-top: 20px;
}
.whataboutme {
    display: flex;
    margin-top: 20px;
}
.selfie img {
    height:300px;
    width:250px;
    border:var(--container-border);
}
.write-up {
    color: var(--primary-fontcolor);
    border: none;
    text-align: left;
    margin-left: 20px;
}

/*************** Work Section ***************/

/****** Projects Container ***********/
/* Using MD Bootstrap to complement CSS */

.row {
    width: 90%;
    margin-left: 40px;
    /* border: 1px solid brown; */
}
.row1, .row2, .row3 {
    margin-bottom: 20px;
}
.row div {
    /* border: 1px solid brown; */
    /* width: 100px; */
    height: auto;
    text-align: center;
}
.row div:hover {
    transform:scale(1.03);
}
.card img {
    width: auto;
    height: 100px;
}
.card img.top-row {
    height: 150px;
}
.card-title {
    font-weight: bolder;
}
.card-text {
    font-size: smaller;
}

.row-4, .row-5 {
    height: 45px;
    /* background-color: var(--container-bgcolor); */
    color: white;
    /* padding-top: 7px; */
    margin-bottom: 2px;
    justify-content: center;
}
.row-4 div, .row-5 div {
    padding-top: 8px;
    border: 1px solid gainsboro;
    background-color: var(--container-bgcolor);
    border-radius: 5px;
}
#row-4-1, #row-4-6 {
    background: none;
    ;
}


/********** Contact Me Section **************/

.contactme-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 20px 20px 40px 20px;
    align-items: center;
    /* border: 1px solid brown; */
}

/* Contact me unordered list */
.contactme-list ul {
    /*width: 60%; */
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    align-items: center;
}
.contactme-list ul li {
    padding: 0 5px;
    font-size: 25px;
    font-weight: bold;
    color: darkslategray;
    list-style: none;
    margin: 0 25px;
    border-bottom: 5px solid black;
}
.contactme-list ul li a {
    text-decoration: none;
    color: darkslategray;
}

/************ Media Query for smaller "screen" sizes ***********/
@media screen and (max-width: 980px) {
    header h1 {
        width: 95%;
        align-items: center;
        align-content: center;
    }
    .section-container {
        justify-content: center;
        width: 95%;
        margin-right: 50px;
    }
    .left-head {
        border-color: darkslategray;
        border-right: none;
        border-bottom-width:3px;
        border-bottom-style: solid;
        /* display: block; */
        text-align: center;
        padding-bottom: 8px;
        margin-bottom: 10px;
    }
    .contactme-container {
        justify-content: center;
        width: 95%;
        margin-right: 50px;
    }
    .row-4, .row-5 {
        margin-bottom: 15px;
    }
}
/* For screen size smaller than or equal to 768px **/
@media screen and (max-width: 768px) {
    header {
        justify-content: center;
    }
    header h1 {
        margin-bottom: 10px;
    }
    .hero-section {
        justify-content: center;
    }
    .section-container {
        display: flex;
        flex-wrap: wrap;
    }
    .whataboutme {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-right: 50px;
    }
    .selfie {
        justify-content: center;
    }
    .write-up {
        justify-content: center;
    }
    .projects {
        justify-content: center;
        margin-right: 50px;
    }
}
/*  For screen size smaller than or equal to 575px ***/
@media screen and (max-width: 575px) {
    .headermenu nav ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .headermenu nav ul li {
        display: block;
    }
    .projects {
        margin-top: 30px;
    }
    .project-bc, .project-de {
        height: auto;
    }
    .project-b, .project-c, .project-d, .project-e {
        margin: 5px 0;
        height: 100px;
    }
    .project-b h3, .project-c h3, .project-d h3, .project-e h3 {
        margin: 5px 0;
        
    }
    .project-b, .project-d, .project-b h3, .project-d h3 {
        margin-bottom: 10px;
    }
    .contactme-list {
        margin-right: 50px;
    }
    .contactme-list ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}
/**** Tweaks for screen size smaller than 345px ***/
@media screen and (max-width: 345px) {
    .projects {
        margin-top: 55px;
    }
}