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

body {
  margin: 0;
  font-family: "Hanken Grotesk", sans-serif;
}

p,
h1,
h3 {
  margin: 0;
}

.overall {
  text-align: center;
  background: linear-gradient(#6943ff, #2f2ce9);
  color: #cac9ff;
  font-weight: 700;
  padding: 1.75em 0;
  border-radius: 0 0 32px 32px;
}

.overall__title {
  font-size: 1.125rem;
  margin-bottom: 1em;
}

.overall__score {
  background: linear-gradient(hsla(256, 72%, 46%, 1), hsla(241, 72%, 46%, 0));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  margin: 0 auto;
  border-radius: 100px;
}

.overall__score__header {
  font-size: 3.125rem;
  font-weight: 800;
  color: white;
}

.overall__score__subheader {
  opacity: 0.5;
}

.overall__feedback {
  color: white;
  font-size: 1.5rem;
  margin-top: 1em;
}

.overall__description {
  font-weight: 500;
  width: 80%;
  margin: 0.5em auto;
}

.summary {
  padding: 1.5em 0;
}

.summary--container {
  width: 90%;
  margin: 0 auto;
}

.summary__title {
  font-size: 1.125rem;
  color: #303b59;
  margin-bottom: 0.5em;
}

.summary__category {
  margin-top: 1em;
  padding: 1em 1em;
  border-radius: 12px;
  display: flex;
  align-items: center;
}

.summary__category img {
  margin-right: 0.75em;
}

.summary__reaction {
  color: hsl(0, 100%, 67%);
  background-color: hsl(0, 100%, 95%);
}

.summary__memory {
  color: hsl(39, 100%, 56%);
  background-color: hsl(39, 100%, 95%);
}

.summary__verbal {
  color: hsl(166, 100%, 37%);
  background-color: hsl(166, 100%, 95%);
}

.summary__visual {
  color: hsl(234, 85%, 45%);
  background-color: hsl(234, 85%, 95%);
}

.summary__score--container {
  margin-left: auto;
}

.summary__score {
  font-weight: 700;
  color: #303b59;
}

.summary__full-score {
  color: #303b59;
  opacity: 0.5;
}

.summary__button {
  background-color: #303b59;
  text-align: center;
  color: white;
  text-decoration: none;
  display: block;
  margin-top: 1.25em;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 0.825em 0;
  border-radius: 100px;
}

.summary__button:hover {
  background: linear-gradient(#7755ff, #2f2ce9);
}

.attribution {
  font-size: 11px;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
}
.attribution a {
  color: hsl(228, 45%, 44%);
}

@media (min-width: 650px) {
  body {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ecf2ff;
  }

  .row {
    display: flex;
  }

  .container {
    background-color: white;
    border-radius: 32px;
    width: 80%;
    max-width: 736px;
  }

  .overall {
    width: 100%;
    border-radius: 32px;
  }

  .overall__title {
    font-size: 1.5rem;
  }

  .overall__score {
    height: 200px;
    width: 200px;
  }

  .overall__score__header {
    font-size: 4.5rem;
  }

  .overall__score__subheader {
    font-size: 1.125rem;
  }

  .overall__feedback {
    font-size: 2rem;
  }

  .overall__description {
    width: 70%;
    font-size: 1.125rem;
  }

  .summary {
    width: 100%;
  }

  .summary--container {
    width: 85%;
  }

  .summary__title {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }

  .summary__category {
    font-size: 1.125rem;
  }

  .summary__button {
    margin-top: 2em;
    margin-bottom: 1em;
  }
}
