*{
    box-sizing: border-box;
}

body, html, p{
    margin:0;
    padding:0;
}


#container{
    display:grid;
    grid-template-areas: "header header" "nav nav" "contact posts" "footer footer";
    grid-gap: 0;
    gap:0;
    align-items:stretch;
    text-align:center;
    align-content:start;
    grid-template-rows: 2fr 1fr 8fr 1fr;
    grid-template-columns: 3fr 7fr;
    height:100vh;
}

header{
    grid-area: header;
    background-color:hotpink;
    align-content:center;
}

nav{
    grid-area: nav;
    display:flex;
    flex-direction:row;
    background-color:orange;
    border-bottom:4px solid white;
    border-top: 4px solid white;
}

nav a{
    display:block;
    height:100%;
    background-color:black;
    flex: 1;
    align-content:center;
    color:hotpink;
    border-left:2px solid white;
    text-transform:uppercase;
    font-family:'Trebuchet MS';
    letter-spacing: 1px;
    transition: letter-spacing .5s ease;
    text-decoration:none;
}

nav a:first-child{
    border-left:0;
}

nav a:hover{
    letter-spacing:4px;
}



aside{
    grid-area: contact;
    background-color:dimgray;
    display:flex;
    flex-direction:column;
    padding:20px;
    color:white;
    font-family:'Trebuchet MS';
    border-right:4px solid white;
}

main{
    grid-area: posts;
    background-color: black;
    padding:20px;
    overflow: scroll;
}

footer{
    grid-area: footer;
    background-color:hotpink;
    padding:10px;
    text-align:center;
    align-content: center;
    border-top:4px solid white;
}

footer a{
    color:black;
    font-family: 'Courier New';
    text-decoration: none;
    font-weight:bold;
    transition:color .25s ease;
}

footer a:hover{
    color:white;
}

img.avatar{
    width:95%;
    position:relative;
    max-width:200px;
    margin:0 auto;
    border:4px solid hotpink;
}

aside p{
    text-align:left;
    margin-top:20px;
    flex:1 1 auto;
}

aside button{
    align-self:center;
    margin-bottom:10px;
    background-color:black;
    color:hotpink;
    transition:color .25s ease;
    padding:5px 10px
}

aside button:hover{
    color:yellow;
}

header h1{
    font-family:'Courier New';
    text-transform: uppercase;
}

.post{
    background-color:white;
    color:black;
    text-align:center;
    padding:10px;
    margin-bottom:20px;
    border:2px solid hotpink;
    font-family:'Trebuchet MS'
}

.post h3{
    margin:10px;
    font-size:18pt;
    text-align:left;
    font-family:'Courier New';
}

.post img{
    width:100%;
    max-width:600px;
    border:4px solid black;
}

.post p{
    text-align:left;
    margin:10px;
}

p.post_date{
    margin:0;
    text-align:right;
    color:gray;
    font-size:8pt;
    font-family:monospace;
}