:root {
    --blue-bg: hsl(201, 79%, 46%);
    --white: white;
    --border-circle-size: 50%;
    --gray-bg: #e5e7eb;
    --content-bg: #e2e8f0;
    --content-p-clr: #5d5d5d;
    --card-border-clr: #f0b429;
    --shadow-clr: rgb(202, 202, 202);
}

.container {
    display: grid;
    grid-template-rows: 1fr 5fr;
    grid-template-columns: 1fr 5fr;
}

.card, .announcement, .trending {
    box-shadow: 1px 1px 4px 2px var(--shadow-clr);
}

/* Header */
.header {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: 3fr 2fr;
    align-items: center;
    padding-left: 24px;
    box-shadow: 0 1px 2px 2px var(--shadow-clr);
    z-index: 2;
}

.header .icon {
    width: 25px;
    height: 25px;
}

.searchbar {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: 16px;
}

.searchbar input {
    width: 700px;
    background-color: var(--gray-bg);
    border: none;
    border-radius: 24px;
    padding: 12px;
}

.user-info, .user-description {
    font-weight: 600;
}

.user-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    font-size: 1.1rem;
}

.user-info .profile-image {
    width: 60px;
    height: 60px;
}

.user-banner {
    display: flex;
    align-items: center;
}

.user-banner .profile-image {
    width: 75px;
    height: 75px;
}

.user-description > :first-child {
    font-size: 0.8rem;
}

.user-description > :last-child {
    font-size: 1.2rem;
}

.buttons {
    display: flex;
    justify-content: space-evenly;
}

.buttons button {
    padding: 8px 24px;
    background-color: var(--blue-bg);
    border: none;
    border-radius: 16px;
    color: var(--white);
    font-weight: 500;
}

/* Sidebar */
.sidebar {
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 24px;
    background-color: var(--blue-bg);
    color: var(--white);
    padding-top: 16px;
    font-weight: 500;
    box-shadow: 1px 0 2px 2px var(--shadow-clr);
    z-index: 3;
}

.sidebar .icon {
    filter: invert(1) brightness(2);
}

.logo, .sidebar li {
    display: flex;
    align-items: center;
    gap: 16px;
}

.menu, .info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.logo {
    font-size: 1.5rem;
    align-self: center;
}

.logo .icon {
    width: 50px;
    height: 50px;
}

.menu .icon, .info .icon {
    width: 30px;
    height: 30px;
}

/* Content */
.content {
    background-color: var(--content-bg);
    display: grid;
    grid-template-columns: 3fr 1fr;
    padding: 24px;
    gap: 24px;
}

.content > div:last-child {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.content h1 {
    font-size: 1.3rem;
    padding-left: 8px;
}

.content p {
    color: var(--content-p-clr);
}

.card, .announcement, .trending {
    background-color: var(--white);
    border-radius: 12px;
}

.card-container {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 16px;
}

.card {
    display: flex;
    flex-direction: column;
    padding: 32px;
    gap: 16px;
    border-left: 8px solid var(--card-border-clr);
}

.card p {
    flex: 1;
}

.card .action {
    display: flex;
    justify-content: end;
    gap: 32px;
}

.announcement, .trending {
    display: flex;
    flex-direction: column;
    padding: 32px;
    margin-top: 16px;
}

.announcement hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 16px 0;    
}

.trending img {
    width: 60px;
    height: 60px;
}

.trending ul {
    padding: 0;
}

.trending li {
    display: flex;
    align-items: center;
}
