.attribution {
  font-size: 0.6875rem;
  text-align: center;
}
.attribution a {
  color: hsl(228, 45%, 44%);
}

:root {
  /*PRIMARY*/
  --blue: hsl(246, 80%, 60%);

  --light-red: hsl(15, 100%, 70%); /* (work) */
  --soft-blue: hsl(195, 74%, 62%); /*(play)*/
  --light-red-pink: hsl(348, 100%, 68%); /*(study)*/
  --lime-green: hsl(145, 58%, 55%); /*(exercise)*/
  --violet: hsl(264, 64%, 52%); /*(social) */
  --soft-orange: hsl(43, 84%, 65%); /*(self care)*/

  /*NEUTRAL*/
  --very-dark-blue: hsl(226, 43%, 10%);
  --dark-blue: hsl(235, 46%, 20%);
  --desaturated-blue: hsl(235, 45%, 61%);
  --pale-blue: hsl(236, 100%, 87%);
}

html {
  box-sizing: border-box;
}

*,
*:after,
*:before {
  box-sizing: inherit;
}

body {
  font-family: "Rubik", sans-serif;
  color: white;
  background-color: var(--very-dark-blue);
}

h2 {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.625rem;
}

.box {
  display: grid;
  margin: 5rem 1.4375rem;
  gap: 1.5rem;

  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
}

.main__profile {
  border-radius: 1rem;
  background-color: var(--blue);
  display: flex;
  padding: 1.875rem;
  gap: 1.125rem;
}

.profile__pic {
  height: 4.375rem;
  border: 0.1875rem solid white;
  border-radius: 50%;
}

.profile__name {
  align-self: center;
}

h1 {
  font-size: 1.5rem;
  font-weight: 300;
  margin-top: 0.4375rem;
}

h3 {
  font-size: 2rem;
  font-weight: 300;
}

.profile__name span {
  font-size: 0.9375rem;
  color: var(--pale-blue);
}

main {
  background: var(--dark-blue);
  border-radius: 1rem;
}

.profile--list {
  font-size: 18px;
  display: flex;
  gap: 3.75rem;
  justify-content: center;
  margin-top: 1.625rem;
  margin-bottom: 1.625rem;
  color: var(--desaturated-blue);
}

.profile--list li:hover {
  color: white;
  cursor: pointer;
}

.active {
  color: white;
}

/* CARDS */
section {
  border-radius: 1rem;
}

.card {
  border-radius: 1rem;
  margin-top: 2.375rem;
  background-color: var(--dark-blue);
  padding: 1.875rem 1.5rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.previous {
  align-self: flex-end;
  color: var(--pale-blue);
  font-size: 0.9375rem;
  margin-bottom: 0.5625rem;
}

.previous:before {
  content: "";
  position: absolute;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--pale-blue);
  box-shadow: 0px 0.5rem 0px var(--pale-blue), 0px 1rem 0px var(--pale-blue);
  transform: rotate(90deg);
  top: 2.25rem;
  right: 1.5rem;
}

.stupid {
  position: absolute;
  width: 1.25rem;
  height: 0.3125rem;
  cursor: pointer;
  top: 2.25rem;
  right: 1.5rem;
}

.work {
  background: url("../images/icon-work.svg"), var(--light-red);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

.play {
  background: url("../images/icon-play.svg"), var(--soft-blue);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

.study {
  background: url("../images/icon-study.svg"), var(--light-red-pink);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

.exercise {
  background: url("../images/icon-exercise.svg"), var(--lime-green);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

.social {
  background: url("../images/icon-social.svg"), var(--violet);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

.selfcare {
  background: url("../images/icon-self-care.svg"), var(--soft-orange);
  background-repeat: no-repeat;
  background-position: top -0.625rem right 1.125rem;
  background-size: 4.9rem;
}

@media all and (min-width: 42.375rem) {
  main {
    grid-column: 1/3;
  }
}
@media all and (min-width: 62.875rem) {
  main {
    grid-column: 1/4;
  }
  h3 {
    font-size: 3rem;
  }
}

@media all and (min-width: 68.75rem) {
  body {
    display: flex;
    justify-content: center;
    min-height: 100vh;
  }
  h1 {
    font-size: 2.5rem;
    line-height: 2.9rem;
    font-weight: 300;
  }
  h2 {
    margin-bottom: 2rem;
  }
  h3 {
    font-size: 3.45rem;
    margin-bottom: 1rem;
  }
  .box {
    margin: 0;
    grid-template-columns: repeat(4, 15.9375rem);
    grid-template-rows: 15.1875rem 15.1875rem;
    grid-template-areas:
      "profile work     play    study"
      "profile exercise social  selfcare";
    align-self: center;
    gap: 1.875rem;
  }
  main {
    grid-area: profile;
    grid-column: 1;
    grid-row: 1/3;
  }
  .main__profile {
    flex-direction: column;
    justify-content: left;
    align-items: flex-start;
    padding-bottom: 5.1rem;
    gap: 2.5625rem;
  }
  .profile__pic {
    height: 5.3125rem;
  }

  .profile--list {
    padding-top: 0.0625rem;
    flex-direction: column;
    padding-left: 2rem;
    gap: 1.5rem;
  }
  .previous:before {
    top: 2.25rem;
    right: 1.875rem;
    width: 0.3125rem;
    height: 0.3125rem;
  }
  .stupid {
    top: 2.25rem;
    right: 1.875rem;
    width: 0.3125rem;
    height: 0.3125rem;
  }
  .work {
    grid-area: work;
  }
  .play {
    grid-area: play;
    background-position: top -0.3rem right 1.3rem;
  }
  .study {
    grid-area: study;
    background-position: top -0.5rem right 1.125rem;
  }
  .exercise {
    grid-area: exercise;
    background-position: top 0rem right 1.125rem;
  }
  .social {
    grid-area: social;
    background-position: top -0.1rem right 0.8rem;
  }
  .selfcare {
    grid-area: selfcare;
    background-position: top -0.625rem right 1rem;
    background-size: 4.1rem;
  }
  .card {
    flex-direction: column;
    height: 82%;
    margin-top: 2.8125rem;
    padding: 1.875rem 1.9rem;
  }
  .previous {
    align-self: flex-start;
  }
}
