@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@100..900&display=swap");

:root {
  --upper-bg: hsl(185, 75%, 39%);
  --card-bg: hsl(225, 10%, 92%);
  --primary-text: hsl(229, 23%, 23%);
  --secondary-text: hsl(227, 10%, 46%);
}
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100vw;
  font-family: "Kumbh Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "YOPQ" 300;
  background-image: url("/images/bg-pattern-top.svg"),
    url("/images/bg-pattern-bottom.svg");
  background-size: 60rem 60rem, 30rem 45rem;
  background-position: top -20rem left -40rem, bottom -10rem right -15rem;
  background-repeat: no-repeat, no-repeat;
  background-color: var(--upper-bg);
}
main {
  margin: auto;
  width: 25rem;
  height: 30rem;
  background-color: var(--card-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 1rem 1rem 1rem 1rem;
}

main .bg {
  width: 100%;
  height: 10rem;
  border-radius: 1rem 1rem 0 0;
}

main .profile {
  position: relative;
  border-radius: 6rem;
  border: 0.3em solid var(--card-bg);
  top: -3.1em;
  width: 6.5rem;
  height: 6.5rem;
}
.personal-information {
  text-align: center;
  line-height: -10rem;
  height: 10rem;
  margin-top: -1rem;
}

.personal-information span {
  font-weight: 300;
  margin-left: 0.3rem;
  color: var(--secondary-text);
}
.personal-information p {
  font-size: x-large;
  color: var(--secondary-text);
  font-weight: 300;
  margin-top: 0.3em;
}

#line {
  display: block;
  width: 100%;
}

#line::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--secondary-text);
}

main .stats {
  border-radius: 1rem 1rem 0 0;
  text-align: center;
  width: 100%;
  height: 10rem;
  display: grid;
  grid-template: 100% / repeat(3, 1fr);
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 800;
}

.stats span {
  font-size: medium;
  font-weight: 400;
  color: var(--secondary-text);
}
/* footer */
footer {
  font-size: 0.8rem;
  text-align: center;
  background-color: var(--secondary-text);
}
footer a {
  color: var(--upper-bg);
}

@media (min-width: 50rem) {
  body {
    background-size: 60rem 60rem, 60rem 60rem;
    background-position: top -10rem left -25rem, bottom -15rem right -30rem;
  }
}
