:root {
  --red: hsl(0, 78%, 62%);
  --cyan: hsl(180, 62%, 55%);
  --orange: hsl(34, 97%, 64%);
  --blue: hsl(212, 86%, 64%);

  --grey-500: hsl(234, 12%, 34%);
  --grey-400: hsl(212, 6%, 44%);
  --white: hsl(0, 0%, 100%);
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  /* weight 200, 400, 600 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.introduction {
  text-align: center;
  margin-top: 25px;
  margin-bottom: 35px;
  max-width: 550px;
}

.introduction,
.main-container {
  margin-left: 25px;
  margin-right: 25px;
}

.header,
.section-header,
p {
  margin: 0;
  color: var(--grey-500);

}

.header {
  font-size: 1.5em;
  font-weight: 200;
  color: var(--grey-500);
}

.introduction p {
  margin: 15px 0;
  font-size: 0.95em;
}

.section-container {
  border-radius: 10px;
  box-shadow: 0 15px 20px -10px rgba(23, 36, 149, 0.2), 0 5px 5px 0 rgba(23, 36, 149, 0.1);
  padding: 25px;
  margin-bottom: 30px;
  min-width: 250px;
  max-width: 300px;
}

.supervisor {
  border-top: 5px solid var(--cyan);
  grid-area: supervisor;
}

.team-builder {
  border-top: 5px solid var(--red);
  grid-area: team;
}

.karma {
  border-top: 5px solid var(--orange);
  grid-area: karma;
}

.calculator {
  border-top: 5px solid var(--blue);
  grid-area: calculator;
}

.img-container {
  display: flex;
  justify-content: end;
  margin: 25px 0;
}

.bold {
  font-weight: 600;
}

.section-header {
  font-size: 1.3em;
}

.section-text {
  color: var(--grey-400);
  font-size: 0.8em;
  margin-top: 5px;
}

.attribution {
  font-size: 11px;
  text-align: center;
}

.attribution a {
  color: hsl(228, 45%, 44%);
}

@media screen and (min-width: 600px) {
  .introduction {
    margin-top: 90px;
  }

  .header {
    font-size: 2.3em;
  }

  .main-container {
    display: grid;
    grid-template:
      'supervisor team calculator'
      'supervisor team calculator'
      'supervisor karma calculator '
      'supervisor karma calculator';
    grid-gap: 30px;
    align-items: center;
    justify-content: center;
    margin-bottom: 100px;
  }

  .section-container {
    margin: 0;
  }
}