/* ===================================
   EVERYTHING
   =================================== */
* {
    font-family: 'JetBrains Mono';
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --h1-font-size: 1.75em;
    --h2-font-size: 1.45em;
    --h3-font-size: 1.1em;
    --h4-font-size: 0.8em;
    --card-color: #f5f5f5;
    --main-background: #e2e8f0;
    --sidebar-background: #1992d4;
    --border-radius: 8px;
    --box-shadow: 0 4px 6px 0 rgb(0, 0, 0, 0.2);
    --user-icon-height: 3em
}

ul {
    list-style-type: none;
    }

h1 {
    font-size: var(--h1-font-size);
}

h2 {
    font-size: var(--h2-font-size);
}

h3 {
    font-size: var(--h3-font-size);
}

h4 {
    font-size: var(--h4-font-size);
}

/* ===================================
   CONTAINER
   =================================== */
.container {
    display: grid;
    grid-template-columns: 1fr 4.75fr;
    height: 100vh;
}

/* ===================================
   HEADER
   =================================== */
.header {
    grid-area: 1 / 2 / 2 / 3;
    display: grid;
    grid-template-rows: repeat(2,auto);
    padding: 15px 45px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
}

.header a {
    text-decoration: none;
    color: black;
}

.header .header-top {
    display: grid;
    grid-template-columns: 7fr 3fr;
}

.header .header-bottom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.header .notification,
.header .buttons {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    grid-auto-columns: min-content;
    white-space: nowrap;
    gap: 25px;
}

.header .notification,
.header .buttons {
    justify-self: right;
}

.header .search,
.header .welcome {
    justify-self: left;
}

.header .search {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    gap: 25px;
}

.header .welcome {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    column-gap: 25px;
}

.welcome img {
    grid-area: 1 / 1 / 3 / 2;
    align-self: center;
}

.welcome .greeting {
    font-size: var(--h3-font-size);
    grid-area: 1 / 2 / 2 / 3;
    align-self: end;
}

.welcome .user {
    font-size: var(--h1-font-size);
    font-weight: 700;
    grid-area: 2 / 2 / 2 / 3;
}

.header svg:hover,
.header .notif-user-icon:hover,
.header .notif-name:hover {
    cursor: pointer;
}

.header input {
    border-radius: 20px;
    border: none;
    background: #e2e8f0;
    height: 3em;
    padding-left: 20px;
    font-weight: 300;
    width: 100%;
}

.header input:focus {
    outline: none;
}

.header .notif-user-icon {
    height: var(--user-icon-height);
}

.header p.notif-name {
    font-size: var(--h3-font-size);
    font-weight: 700;
}

.header .welcome-user-icon {
    height: 6.5em;
}

.header .button {
    background-color: var(--sidebar-background);
    border-radius: 30px;
    color: var(--card-color);
    font-size: var(--h3-font-size);
    font-weight: 600;
    padding: 12px 30px;
    border: none;
    cursor: pointer;
    /* margin: 0px 10px; */
}

/* ===================================
   SIDEBAR
   =================================== */
.sidebar {
    grid-area: 1 / 1 / 3 / 2;
    display: grid;
    /* grid-template-rows: auto; */
    grid-template-rows: 1fr 5fr auto;
    background: var(--sidebar-background);
    padding: 15px;
    gap: 25px;
}

.sidebar .title {
    display: inline-grid;
    grid-template-columns: 5em auto;
    align-self: start;
}

.sidebar .icon {
    height: auto;
    width: 5em;
}

.sidebar .name {
    font-size: var(--h1-font-size);
    font-weight: 700;
    color: white;
    align-self: center;
    padding-left: 20px;
}

.sidebar .nav,
.sidebar .settings {
    padding-left: 15px;
}

.sidebar li {
    font-size: var(--h2-font-size);
    margin: 20px 0px;
    color: var(--card-color);
    font-weight: 450;
}

.sidebar li span {
    vertical-align: middle;
    padding-left: 15px;
}

.sidebar li span:hover {
    cursor: pointer;
}

.sidebar svg {
    fill: var(--card-color);
    vertical-align: middle;
}

/* ===================================
   MAIN
   =================================== */
.main {
    grid-area: 2 / 2 / 3 / 3;
    background: var(--main-background);
    padding: 20px;
    gap: 20px;
    display: grid;
    grid-template-columns: 2.25fr .9fr;
}

.card {
    background: var(--card-color); 
}

.main h2 {
    padding-bottom: 10px;
}

/* ===================================
   projects
   =================================== */
.main .projects {
    grid-area: 1 / 1 / 3 / 2;
    display: grid;
}

.projects .card-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 25px;
    align-items: start;
}

.projects .card {
    display: grid;
    border-radius: var(--border-radius);
    padding: 20px 30px;
    height: 225px;
    border-left: solid 10px darkgoldenrod;
    box-shadow: var(--box-shadow);
}

.projects .title {
    font-weight: 700;
    font-size: 1.1em;
}

.projects .icons {
    display: grid;
    grid-auto-flow: column;
    justify-self: right;
    column-gap: 20px;
}
.projects svg:hover {
    cursor: pointer;
}

/* ===================================
   announcements
   =================================== */
.main .announcements {
    grid-area: 1 / 2 / 2 / 3;
}

.announcements hr {
    width: 80%; 
    margin: auto;
    height: 1px;
    border: 0;
    border-top: 1px solid var(--main-background);
}

.announcements .card,
.announcements .card-container {
    background: var(--card-color);
    border-radius: var(--border-radius);
}

.announcements .card-container {
    box-shadow: var(--box-shadow);
}

.announcements .card {
    padding: 20px 30px;
}

.announcements .title {
    font-size: var(--h3-font-size);
    font-weight: 700;
    padding-bottom: 5px;
}

.announcements .card>p {
    font-size: var(--h4-font-size);
}

/* ===================================
   trending
   =================================== */
.main .trending {
    grid-area: 2 / 2 / 3 / 3;
}

.trending .trend-card {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min-content;
    white-space: nowrap;
    padding: 10px 30px;
    column-gap: 30px;
}

.trending .info {
    align-items: center;
}

.trending .user {
    padding-bottom: 3px;
}

.trending .user-title {
    color: #575757;
    font-weight: 300;
}

.trending .card-container {
    padding: 10px 0px 10px 0px;
    background: var(--card-color);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

.trending .trend-user-icon {
    height: var(--user-icon-height);
}