* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  font-size: 15px;
}

body {
  display: grid;
  place-content: center;
  min-height: 100dvh;

  font-family: 'Poppins', sans-serif;
  font-style: normal;

  /* background-color: hsl(212, 6%, 44%); */
}

.main-container {
  width: auto;

  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-template-rows: repeat(3, auto);
  justify-items: center;
  align-items: center;
  gap: 2rem;

  /* give that space to top and bottom
  of container, not flush against body */
  margin-top: 4rem;
  margin-bottom: 4rem;
}

/* all heading related styling */

.heading-text {
  grid-column: 1 / 4;
  text-align: center;

  /* space between heading-text and cards */
  margin-bottom: 3rem;
}

.heading-text-one {
  font-size: 2.33rem;
  font-weight: 200;
  opacity: 0.6;
}

.heading-text-two {
  font-size: 2.33rem;
  font-weight: 600;
  opacity: 0.7;

  /* space between last big heading and small description */
  margin-bottom: 1rem;
}

.heading-text-three-line-one,
.heading-text-three-line-two {
  text-align: center;
  opacity: 0.6;
}

/* all card related styles */

.card {
  width: 22rem;
  height: 15.6rem;

  border-radius: 5px;
  background-color: white;
  /* horizontal, vertical, blur radius, spread radius */
  box-shadow: 0px 10px 8px rgba(0, 0, 0, 0.1);
}

.content-container {
  position: relative;
  width: 100%;
  height: 100%;

  padding: 1.67rem;
}

.title {
  font-size: 1.27rem;
  font-weight: 600;
  opacity: 0.6;
  margin-bottom: 0.67rem;
}

.description {
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0.5;
}

.image-container {
  position: absolute;
  padding-right: 1.56rem;
  padding-bottom: 1.56rem;
  bottom: 0;
  right: 0;
}

.supervisor {
  grid-row: 2 / 4;
  background-image: linear-gradient(hsl(180, 62%, 55%) 4px, transparent 2px);
}

.team-builder {
  grid-row: 2 / 2;
  grid-column: 2 / 2;
  /* a gradient in css is considered to be an image */
  background-image: linear-gradient(hsl(0, 78%, 62%) 4px, transparent 2px);
}

.calculator {
  grid-row: 2 / 4;
  grid-column: 3 / 3;
  background-image: linear-gradient(hsl(212, 86%, 64%) 4px, transparent 2px);
}

.karma {
  grid-row: 3 / 3;
  grid-column: 2 / 2;
  background-image: linear-gradient(hsl(34, 97%, 64%) 4px, transparent 2px);
}

/* media queries */
@media (max-width: 1060px) {
  .main-container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }

  .heading-text {
    grid-column: 1/3;
  }

  .supervisor {
    grid-row: 2/2;
  }

  .team-builder {
    grid-row: 2/2;
    grid-column: 2/2;
  }

  .karma {
    grid-row: 3/3;
    grid-column: 1/1;
  }

  .calculator {
    grid-row: 3/3;
    grid-column: 2/2;
  }
}

@media (max-width: 700px) {
  html {
    font-size: 12px;
  }

  .main-container {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }

  .heading-text {
    grid-row: 1/1;
    grid-column: 1/1;

    width: 22rem;

    margin-bottom: 0;
  }

  .heading-text-one {
    font-size: 20px;
  }

  .heading-text-two {
    font-size: 18px;
  }

  .heading-text-three-line-one,
  .heading-text-three-line-two {
    display: inline;
  }

  .supervisor {
    grid-row: 2/2;
    grid-column: 1/1;
  }

  .team-builder {
    grid-row: 3/3;
    grid-column: 1/1;
  }

  .karma {
    grid-row: 4/4;
    grid-column: 1/1;
  }

  .calculator {
    grid-row: 5/5;
    grid-column: 1/1;
  }
}
