@keyframes rainbow {

  0%,
  12.5% {
    fill: #FA0000;
  }

  12.5%,
  25% {
    fill: #FF8C00
  }

  37.5%,
  50% {
    fill: #F6FF00
  }

  50%,
  62.5% {
    fill: #00F31F
  }

  62.5%,
  75% {
    fill: #0C05F5
  }

  75%,
  87.5% {
    fill: #9B01FC
  }

  87.5%,
  100% {
    fill: #FA0000
  }
}

body {
  background-color: #ffe5ec;
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin: 1em 0;

  a {
    color: black;
    text-decoration: none;

    :hover,
    :visited {
      color: black;
    }
  }

  h2 {
    margin: 0;
    margin-block-end: 0em;
  }

  p {
    margin-block-end: 0.75em;
    margin-block-start: 0.75em;
  }

  .bullet {
    width: 20px;
  }
}

header {
  flex-direction: column;

  nav {
    background-color: #fff7f9;
    display: flex;
    justify-content: center;

    ul {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      margin: 20px 0 0 0;
      padding: 0;
      width: 1000px;

      li {
        flex-grow: 1;
        list-style: none;
        text-align: center;
      }

      li:not(:first-child) {
        padding-top: 20px;
      }
    }
  }

  .heart {
    animation: rainbow 20s linear infinite;
    fill: #FA0000;
  }
}

section {
  display: flex;
  flex-direction: column;
  justify-content: center;

  >* {
    align-self: center;
    display: flex;
    width: 1000px;
  }

  &.am {
    background-color: #ffffff;

    >* {
      padding: 20px;
      width: 960px;
    }
  }

  &.bcf {
    background-color: #e2edeb;
    flex-direction: row;

    >* {
      flex-direction: column;
      padding: 20px;
      width: 460px;
    }

    .image {
      padding: 0 15px;
      width: 400px;
    }

    .bullet {
      transform: translate(0, 4px);
    }
  }

  aside.wwf {
    align-self: flex-start;
    background-color: #ffffff;
    height: 722px;

    >* {
      flex-direction: row;
    }

    a {
      display: flex;
      padding-bottom: 20px;
    }

    svg {
      padding-left: 105px;
    }

    .bullet {
      transform: translate(0, 4px);
    }
  }

  a {
    text-decoration: underline;
  }
}

footer {
  background-color: #fff7f9;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 1024px) {
  header {
    nav {
      ul {
        gap: 10px;
        padding: 0 10px;

        li:first-child {
          width: 100%;
        }

        li:not(:first-child) {
          padding: 10px 0;
        }
      }
    }
  }

  section {
    &.am {
      padding: 20px;

      >* {
        width: 100%;
      }

      p {
        margin: 0;
        padding: 10px;
      }
    }

    &.bcf {
      flex-direction: column;

      >* {
        box-sizing: border-box;
        padding: 20px;
        width: 100%;
      }

      .image {
        padding: 0 10%;
        width: 80%;
      }
    }

    aside.wwf {
      align-self: center;
      height: auto;

      svg {
        padding: 0 20%;
        width: 60%;
      }
    }
  }
}