* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: hsl(0, 0%, 95%);
}

.main {
  display: flex;
}

.title {
  font-family: "Big Shoulders Display", cursive;
  font-weight: 700;
  color: hsl(0, 0%, 95%);
  text-transform: uppercase;
}

.sedans,
.suvs,
.luxury {
  font-family: "Lexend Deca", sans-serif;
  font-weight: 400;
  color: hsla(0, 0%, 100%, 0.75);
  display: flex;
  flex-direction: column;
  padding: 4em;
}

.sedans {
  border-radius: 0.5rem 0rem 0rem 0.5rem;
  background-color: hsl(31, 77%, 52%);
}

.suvs {
  background-color: hsl(184, 100%, 22%);
}

.luxury {
  border-radius: 0rem 0.5rem 0.5rem 0rem;
  background-color: hsl(179, 100%, 13%);
}

.sedansButton,
.suvsButton,
.luxuryButton {
  background-color: hsl(0, 0%, 95%);
  font-family: "Lexend Deca", sans-serif;
  font-weight: 400;
  border-radius: 5rem;
  border: none;
  cursor: pointer;
}

.sedansButton {
  color: hsl(31, 77%, 52%);
}

.suvsButton {
  color: hsl(184, 100%, 22%);
}

.luxuryButton {
  color: hsl(179, 100%, 13%);
}

.sedansButton:hover {
  background-color: hsl(31, 77%, 52%);
  border: 2px solid hsl(0, 0%, 95%);
  color: hsl(0, 0%, 95%);
  transition: 0.5s;
}

.suvsButton:hover {
  background-color: hsl(184, 100%, 22%);
  border: 2px solid hsl(0, 0%, 95%);
  color: hsl(0, 0%, 95%);
  transition: 0.5s;
}

.luxuryButton:hover {
  background-color: hsl(179, 100%, 13%);
  border: 2px solid hsl(0, 0%, 95%);
  color: hsl(0, 0%, 95%);
  transition: 0.5s;
}

.attribution {
  font-size: 11px;
  text-align: center;
}

.attribution a {
  color: hsl(228, 45%, 44%);
}

@media screen and (min-width: 375px) {
  .main {
    flex-direction: column;
    margin: 3rem 1rem 3rem 1rem;
  }

  .title {
    padding: 1rem 0;
    font-size: 2.5rem;
  }

  .description {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-right: 3rem;
  }

  .icon {
    margin: 1rem 0rem 0.5rem 0rem;
    width: 3rem;
    height: 2rem;
  }

  .sedans,
  .suvs,
  .luxury {
    height: 25rem;
    padding: 1rem 0rem 1rem 3rem;
  }

  .sedans {
    border-radius: 0.5rem 0.5rem 0rem 0rem;
  }

  .luxury {
    border-radius: 0rem 0rem 0.5rem 0.5rem;
  }

  .sedansButton,
  .suvsButton,
  .luxuryButton {
    width: 8rem;
    height: 3rem;
    margin: 2rem 0rem 2rem 0rem;
  }
}

@media screen and (min-width: 768px) {
  .main {
    flex-direction: column;
    margin: 5rem 4rem;
  }

  .description {
    font-size: 1.25rem;
    line-height: 2rem;
    margin-right: 12rem;
  }

  .icon {
    margin: 2rem 0rem 0.5rem 0rem;
    width: 5rem;
    height: 3rem;
  }

  .sedans,
  .suvs,
  .luxury {
    height: 35rem;
    padding: 1rem 0rem 1rem 3rem;
  }

  .sedansButton,
  .suvsButton,
  .luxuryButton {
    width: 8rem;
    height: 3rem;
    margin: 6rem 0rem 2rem 0rem;
  }
}

@media screen and (min-width: 1025px) {
  body {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .main {
    flex-direction: row;
    max-width: 75rem;
    margin: 7rem;
    padding: 0rem 5rem;
  }

  .title {
    font-size: 2.5rem;
    padding: 2rem 0;
  }

  .description {
    font-size: 1rem;
    line-height: 1.6rem;
    padding-bottom: 3rem;
    margin-right: 5rem;
  }

  .icon {
    width: 5rem;
    height: 3rem;
  }

  .sedans {
    border-radius: 0.5rem 0rem 0rem 0.5rem;
  }

  .luxury {
    border-radius: 0rem 0.5rem 0.5rem 0rem;
  }

  .sedansButton,
  .suvsButton,
  .luxuryButton {
    width: 9rem;
    height: 3rem;
    margin-top: 2rem;
  }
}
