@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
  --blue: #1992d4;
  --yellow: #f0b429;
  --gray: #e2e8f0;
  --dark-gray: #636363;
}

body {
  font-family: 'Roboto', sans-serif;
  display: grid;
  grid-template-columns: 1fr 4fr;
}

.container {
  display: grid;
  padding: 1rem clamp(1rem, 2%, 3rem);
}

em {
  font-style: italic;
}

p,
li,
h1,
h2,
h3,
h4 {
  /* Help prevent overflow of long words/names/URLs */
  overflow-wrap: break-word;

  /* Optional, not supported for all languages */
  hyphens: auto;
}

svg {
  width: 1.2rem;
}

aside svg{
  fill:white
}

.avatar {
  width: 50px;
  min-width: 50px;
}

aside {
  background-color: var(--blue);
  color: white;
  display: grid;
  place-content: start;
  gap: 2rem;
}

aside h1 {
  margin: 0;

  display: grid;
  grid-auto-flow: column;
  gap: 0.3em;
  place-items: center;
}

aside h1 p {
  font-size: 1.6rem;
  font-weight: bolder;
}

aside h1 svg {
  width: 2.5rem;
}

aside ul {
  padding: 1em;
}

aside ul li {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1em;

  display: grid;
  grid-auto-flow: column;
  place-content: start;
  gap: 1em;
}

header {
  display: grid;
  grid-auto-flow: column;
  gap: 2rem;
}

.search {
  padding-left: 1em;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: min-content;
  gap: 1em;
  align-items: center;
}

.search figure {
  max-width: fit-content;
}

header .search input[type="search"] {
  background-color: var(--gray);
  min-width: 100%;
  height: 1.5em;
  border-radius: 1rem;
  justify-self: start;
}

header .profile {
  display: grid;
  grid-auto-flow: column;
  place-items: center;
}

header .profile svg {
  justify-self: end;
}

header .profile h3 {
  justify-self: start;
}

nav {
  margin-left: 1.2em;
  display: grid;
  grid-auto-flow: column;
}

nav .user-details {
  padding: 1rem;

  display: grid;
  grid-auto-flow: column;
  grid-template-columns: min-content;
  gap: 1em;
}

nav .user-details .user-name {
  display: grid;
  gap: 0.3em;
}

nav .user-details .user-name p {
  font-size: .8rem;
  font-weight: bold;
  align-self: end;
}

nav .user-details .user-name h2 {
  font-size: 1.3rem;
  font-weight: bold;
  align-self: start;
}

nav .admin-buttons {
  display: grid;
  grid-auto-flow: column;
  place-items: center;
  place-content: center;
  gap: 1em;
}

nav .admin-buttons button {
  font-weight: bold;
  padding: 0.5rem 1.4em;
  color: white;
  background-color: var(--blue);
  border-radius: 1em;
}

main > .project-box {
  box-shadow: inset 0px 4px 3px 0px lightgray;
  background-color: var(--gray);
}

.dashboard {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1em;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1em;
}

.dashboard h4 {
  font-weight: bolder;
  margin: 0.6em 0;
}

.card {
  padding: 1.5em;
  background-color: white;
  border-left: var(--yellow) solid 0.5em;
  border-radius: 0.5em;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.dashboard h5 {
  font-weight: bold;
  margin-bottom: 0.1em;
}

.dashboard p {
  font-size: 0.8rem;
  font-weight: lighter;
}

.card .project-buttons {
  margin-top: 1em;
  text-align: right;
}

.card .project-buttons svg {
  margin: 0 0.6em;
}

.side {
  display: grid;
  gap: 1em;
}

.side .background-box {
  padding: 2em;
  background-color: white;
  border-radius: 0.5em;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.side .anounce {
  height: 350px;
  overflow: hidden;
  --max-lines: 4;
  position: relative;
  max-height: calc(1rem * var(--max-lines));
  overflow: hidden;
  padding-right: 0.98rem; /* space for ellipsis */
}

.anounce::before {
  color: var(--dark-gray);
  position: absolute;
  content: "...";
  inset-block-end: 0; /* "bottom" */
  inset-inline-end: 0; /* "right" */
}
.anounce::after {
  content: "";
  position: absolute;
  inset-inline-end: 0; /* "right" */
  width: 1rem;
  height: 1rem;
  background: white;
}

.side .anounce h5 {
  font-size: 0.9rem;
}

hr {
  margin: 1em 0;
  width: 100%;
  height: 1px;
  background-color: lightgray;
}

.side .trending {
  display: grid;
  gap: 1em;
}

.side .trending .trend {
  display: grid;
  gap: 1em;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
}

.side .trending .trend h6 {
  font-size: .8rem;
  margin-bottom: .3rem;
}
