* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100vw;
    height: 100vh;
}

header {
    width: 100%;
    height: 7%;
    background-color: rgb(200, 200, 200);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}
header #logo {
    width: 150px;
    height: 40px;
    background-color: rgb(150, 150, 150);
    border-radius: 10px;
}
header #search_bar {
    width: 20%;
    height: 40px;
    background-color: rgb(180, 180, 180);
    border-radius: 10px;
}
header #profile_icon {
    width: 40px;
    height: 40px;
    background-color: rgb(150, 150, 150);
    border-radius: 50%;
}

main {
    width: 100%;
    height: 93%;
    background-color: rgb(240, 240, 240);
    display: flex;
}

main nav {
    width: 20%;
    height: 100%;
    background-color: rgb(220, 220, 220);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 20px;
}
main nav ul{
    list-style: none;
    width: 90%;
}
main nav ul .nav_item {
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
}
main nav ul .nav_item .nav_item_name {
    width: 80%;
    height: 20px;
    background-color: rgb(180, 180, 180);
    border-radius: 5px;
}
main nav ul .nav_item .nav_item_desc {
    height: 50px;
    background-color: rgb(200, 200, 200);
    border-radius: 5px;
    margin-top: 5px;
}

main #posts_container { 
    width: 80%;
    height: 100%;
    background-color: rgb(255, 255, 255);
    padding: 20px;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
main #posts_container #posts_header {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main #posts_container #posts_header .sides {
    width: 15%;
    height: 30px;
    background-color: rgb(200, 200, 200);
    border-radius: 5px;
}

main #posts_container #posts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    overflow-y: scroll;
}

main #posts_container #posts .post {
    background-color: rgb(230, 230, 230);
    display: flex;
    flex-direction: column;
    height: 350px;
    border-radius: 10px;
}
main #posts_container #posts .post .thumbnail {
    width: 100%;
    height: 60%;
    background-color: rgb(200, 200, 200);
    margin-bottom: 10px;
    border-radius: 10px 10px 0 0;
}
main #posts_container #posts .post .info {
    display: flex;
    flex-direction: column;
    height: 40%;
    padding: 5px 15px;
}
main #posts_container #posts .post .info .name {
    width: 80%;
    height: 20px;
    background-color: rgb(180, 180, 180);
    border-radius: 5px;
    margin-bottom: 10px;
}
main #posts_container #posts .post .info .channel {
    width: 60%;
    height: 15px;
    background-color: rgb(200, 200, 200);
    border-radius: 5px;
    margin-bottom: 10px;
}
main #posts_container #posts .post .info .description {
    width: 90%;
    height: 40px;
    background-color: rgb(220, 220, 220);
    border-radius: 5px;
}