* {
  box-sizing: border-box;
}

body,
html {
  max-width: 100vw;
  overflow-x: hidden;
  height: 100vh;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
  padding: 2em;
  font-size: 16px;
  font-family: "Montserrat", sans-serif;
  color: #445aa3;
  margin: 0;
}

a {
  color: #445aa3;
}

a:hover {
  font-weight: 500;
}

.logo {
  width: 150px;
}

.lyric-mobile {
  width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.author {
  font-size: 0.75em;
  align-self: self-end;
}

.lyric-desktop {
  display: none;
}

.info {
  text-align: center;
  font-weight: 600;
  font-size: 1.375rem;
}

.donation {
  text-align: center;
  font-weight: 600;
}

.social-media > ul {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  gap: 1em;
}

.social-media img {
  width: 30px;
  filter: invert(35%) sepia(12%) saturate(3084%) hue-rotate(189deg)
    brightness(92%) contrast(83%);
}

@media only screen and (min-width: 992px) {
  body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas:
      "logo social lyric"
      "logo info lyric"
      "logo donation lyric";
    justify-items: center;
    place-content: center;
    margin: 0 auto;
    max-width: 1400px;
  }

  .lyric-mobile {
    display: none;
  }

  .lyric-desktop {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    grid-area: lyric;
    max-width: 360px;
    font-size: 1.125rem;
  }

  header {
    grid-area: logo;
    align-self: center;
  }

  .logo {
    width: 250px;
  }

  .info {
    grid-area: info;
    align-self: center;
    font-size: 2.25rem;
  }

  .social-media {
    grid-area: social;
    align-self: start;
  }

  .social-media img {
    width: 60px;
  }

  .donation {
    grid-area: donation;
    align-self: end;
    font-size: 1.25rem;
  }
}
