header {
    background-color: rgb(255, 204, 255);
    margin-bottom: 10px;
}

body {
    margin: 0;
}

.logo {
    display: flex;
    flex-direction: row;
    margin-left: 30px;
    background-color: #a658d6;
    border-width: 5px;
    border-color: #a683c9;
    border-style: solid;
    border-radius: 10px;
    padding: 3px;
}

.logo img{
    width: 100%;
    height: 100%;
}

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

.menu-item span{
   color: black;
   text-align: center;
}


.nav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-width: 5px;
    flex-wrap: wrap;
}

.name {
    word-wrap: break-word;
    margin: 6px;
}

.menu-item {
    display: flex;
    flex-direction: column;
    margin: 6px;
    min-width: 10px;
    max-width: 50px;
    padding-right: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-width: 2px;
}

.menu-item img{
    max-width: 100%;
  	max-height: 70px;
  	width: 100%;
  	height: 100%;
}

main {
    background-color: #e6e6e6;
    display: flex;
    flex-direction: row;
    width: 100%;
}

main .about {
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 0px 25px;
}

.about_me {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.about p {
    max-width: 600px;
}

.portrait {
    margin: 20px;
}

table, th, td {
    border:1px solid black;
  }

.music-piece {
    display: flex;
    flex-direction: column;
    justify-content: center;
  	margin-bottom: 10px;
  	min-height: 200px;
}

.music-piece p {
    text-align: center;
}

.music-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

.music-listen {
    display: flex;
    flex-direction: column;
    width: 300px;
}

.music-description{
    min-width: 200px;
    max-width: 400px;
}

.images2d {
    display: flex;
    flex-wrap: wrap;
  	justify-content: center;
}

.image2d {
    width: 70px;
    padding: 2px;
}

.customImage {
  	display: flex;
  	flex-direction: row;
  	justify-content: center;
}

.image2d img {
    width: 100%;
}

.menu-item {
    text-decoration: none;
}

.about_page {
    text-align: center;
}

.page_layout {
    display: flex;
    flex-direction: column;
}

.page_layout_music {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
}

hr{
    padding-left: 50px;
    padding-right: 50px;
    width: 80%;
    height: 2px;
    background-color: black;
}

.writing_piece {
    padding-left: 20px;
    padding-right: 20px;

}

.writing_text {
    border: 2px solid black;
    padding: 10px 10px;
    width: 100%;
    min-width: 300px;
    max-width: 600px;
    border-radius: 3px;
    font-family: 'Inconsolata', monospace;
    width: auto;
}

.writing_text p {
    font-size: minmax(8, 16px);
}

.layout3d {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.images3d {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px 15px 10px;
    justify-content: center;
}

.screenshot img {
    width: 100%;
}

.screenshot {
    width: 100%;
    min-width: 200px;
    max-width: 700px;
}

.description3d {
    display: flex;
    text-align: center;
    margin-left: 25px;
    margin-right: 50px;
    min-width: 200px;
    max-width: 300px;
    justify-content: center;
    align-items: center;
    position: relative;
    bottom: 20px;
    padding-right: 30px;
}

.page_layout_main {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}

.projects {
    display: flex;
    flex-direction: column;
  	align-items: center;
}

.projects hr {
    height: 1px;
}

.project_row {
    display: flex;
    flex-direction: column;
  	width: 100%;
}

.project_row p{
    text-align: center;
    font-size: 1.7em;
  	margin: 27.2px 30px;
}

.links {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.links a{
  	color: black;
    text-decoration: none;
    font-size: 1.4em;
}

.links p{
	font-style: italic;
}

@media screen and (max-width: 620px) {
    .nav {
        flex-direction: column;
    }
    
    .logo {
        margin-top: 20px;
        margin-left: 0px;
        margin-bottom: 10px;
    }

    .menu {
        justify-content: space-evenly;
        width: 100%;
    }
    
    .about_me {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    
    .portrait {
        display: flex;
        justify-content: center;
    }

    hr {
        width: 60%;
    }
  	
    .projects hr {
        width: 45%;
    }
  	
  	.links {
  		flex-direction: column;
  	}
}

@media screen and (max-width: 800px) {
    .music-content {
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
    }
}


