:root {
    --background-color: white;
    --text-color: black;
    --accent-color: darkred;
}
    
* {
    box-sizing: border-box;
    font-family: sans-serif, 'Times New Roman', Times, serif;
 }
    
body {    
    position: relative ;
    font-size: 16px;
    background-color: var(--background-color);
    color: var(--text-color);
}
    
nav { 
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
    
nav a { 
    text-decoration: underline var(--accent-color);
    color: var(--backg);
    margin-right: 10px;
    font-size: 18px;
}
    
nav a:hover {
    background-size: 100%;
    color: var(--accent-color);
}
    
header, footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: darkgrey;
    color: var(--background-color) ;
    padding: 20px;
    align-items: center;
}
    
header h1 {
    padding: 5px;
    background-color: var(--accent-color);
    font-size: 2.5rem;
}
    
h1, h2, h3, p {
    margin: 0;    
}
    
main {    
    margin: 0 20px 0 20px;
}
    
span {
    font-size: 12px;
}
    
footer {
    justify-content: right;
}
    
/*class selectors*/
    
.banner {
    background-image: url(../images/background.jpeg);
    background-position: center;
    background-size: cover;
    text-align: right;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: right;
}
    
.banner h2 {
    padding: 5px 5px;
}
    
.center-page {
    margin-left: auto;
    margin-right: auto;
}
    
.about-me {
    margin: 20px 20px;
    padding: 10px 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}
    
.about-me > div {
    flex: 0 0 85%;
}
    
.about-me p {
    margin-bottom: 20px;
}
    
address a {
    padding: 20px 20px;
    font-size: 20px;
    display: inline-block;
}
    
.contact {
    background-color: darkgrey;
}
    
.me {
    text-align: center;
    padding: 15px 15px;
}
    
.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
    
.container {
    border: 6px solid var(--accent-color);
    color: gray;
    min-height: 150px;
    max-height: 150px;
    flex-basis: calc(50% - 1em);
    display: flex;
    align-items: flex-end;
    padding: 0 0 20px 0;
    margin: 0.5em;
    background-size: 150%;
    font-size: 0.9rem;
}
    
.container h3 {
    font-size: 1.5vw;
}
    
/*first project*/
    
.container:first-child {
    min-height: 300px;
    flex-basis: 100%;
}
    
.container:hover {
    background-color: lightgrey;
    transform: scale(1.1);
}
    
.container div {
    background-color: var(--background-color);
    padding: 8px 8px;
}
    
/*project images and styling*/
    
.project1 {
    background-image: url(../images/1.jpeg);
    background-size: contain;
    background-repeat:round;
}
    
.project2 {
    background-image: url(../images/2.jpeg);
    background-size: contain;
    background-position: center;
}
    
.project3 {
    background-image: url(../images/3.jpeg);
    background-size: 50%;
    background-repeat:no-repeat;
    background-position: center;
}
    
.project4 {
    background-image: url(../images/4.jpeg);
    background-size: cover;
    background-position: center;
}
    
.project5 {
    background-image: url(../images/5.jpeg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
    
/*responsive viewports*/
    
@media screen and (max-width: 980px) {

header {
    justify-content: center;
    text-align: center;
}
    
header h1 {
    width: 75%;
    padding: 10px;
    margin-bottom: 10px;
    font-size: 6vw;
}
    
header nav {
    justify-content: center;
}
    
.project-container > h2 {
    border-bottom: 3px solid var(--accent-color);
    margin-bottom: 10px;
    padding-bottom: 10px;
    text-align: left;
    font-size: 4vw;
}
}
    
@media screen and (max-width: 768px) {
    
.container:first-child {
    flex-basis: 100%;
}
    
.container:first-child {
    min-height: 150px;
}

.background {
    justify-content: center;
    text-align: center;
}
}