* {
  box-sizing: border-box;
}

:root {
  --clr-primary-900: rgba(45, 6, 93, 0.5);
  --clr-primary-800: #370e74;
  --clr-primary-700: rgba(76, 23, 143, 0.9);
  --clr-accent-300: #f0e476;
  --clr-accent-200: #ffffed;
}

body {
  background-color: var(--clr-primary-800);
}

main {
  font-family: Helvetica, sans-serif;
  margin: 3em 2.5em;
}

.flex-container {
  background-color: var(--clr-primary-700);
  border-radius: 4em;
}

.logo {
  background-color: var(--clr-primary-900);
  border-radius: 4em 4em 0 0;
  height: 100%;
}

img {
  width: 100%;
  padding: 0 2em;
}

.container {
  margin: 0 2em 2em 2em;
}

.join {
  text-align: center;
  align-items: center;
}

button {
  margin: 0 0 2em 0;
}

h1 {
  color: var(--clr-accent-300);
  font-size: 6vw;
  margin: 0.8em 0 0 0;
}

p {
  color: var(--clr-accent-200);
  font-size: 3vw;
}

button {
  background-color: transparent;
  border-radius: 28px;
  border: 2px solid var(--clr-accent-300);
  display: inline-block;
  cursor: pointer;
  color: var(--clr-accent-300);
  font-size: 17px;
  font-weight: bold;
  padding: 10px 20px;
  text-decoration: none;
}

button:hover {
  background-color: var(--clr-accent-300);
  color: var(--clr-primary-800);
}

.planet1,
.planet2 {
  background-color: var(--clr-primary-900);
  background: linear-gradient(
    to right bottom,
    rgba(32, 7, 65, 0.9),
    rgba(40, 3, 88, 0.1)
  );
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  position: absolute;
  backdrop-filter: blur(0.5rem);
}

.planet1 {
  bottom: 15%;
  left: 4%;
}

.planet2 {
  top: 5%;
  right: 4%;
}

.planet3,
.planet4 {
  background: linear-gradient(
    to right bottom,
    rgba(101, 18, 211, 0.9),
    rgba(101, 18, 211, 0.4)
  );
  height: 6rem;
  width: 6rem;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  backdrop-filter: blur(0.5rem);
}

.planet3 {
  top: 5%;
  left: 4%;
}

.planet4 {
  bottom: 11%;
  right: 4%;
}

@media screen and (min-width: 640px) {
  .flex-container {
    display: flex;
    height: 34em;
  }

  .join {
    flex: 3;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .logo {
    flex: 2;
    display: flex;
    border-radius: 4em 0 0 4em;
    justify-content: center;
  }

  .img-container {
    display: flex;
  }

  img {
    justify-content: center;
  }

  h1 {
    font-size: 4.5vw;
  }

  p {
    font-size: 2vw;
    max-width: 23em;
  }

  .planet3,
  .planet4 {
    height: 7em;
    width: 7em;
    z-index: 0;
  }

  .planet1,
  .planet2 {
    height: 5em;
    width: 5em;
    z-index: 0;
  }

  .planet4 {
    bottom: 5%;
    right: 20%;
  }

  .planet3 {
    top: 7%;
    left: 6%;
  }

  .planet1 {
    bottom: 10%;
    left: 17%;
  }
}

.wrapper {
  margin: auto;
  max-width: 75rem;
}
