#header {
  margin-bottom: 5em;
  z-index: 1;

  @media (max-width: var(--breakpoint-mobile)) {
    margin-bottom: 1em;
  }

  .logo {
    margin: 1em auto 0 auto;
    width: 14em;
    height: 14em;

    @media (max-width: var(--breakpoint-mobile)) {
      width: 11em;
      height: 11em;
    }

    img {
      width: 100%;
    }
  }

  .tagline {
    text-align: center;
    font-size: 1.25em;
    margin: 1em auto;
    color: var(--color-primary);

    @media (max-width: var(--breakpoint-mobile)) {
      font-size: 1em;
    }
  }
}

/* Main Content */
#main {
  section {
    max-width: 800px;
    margin: 0 auto 3em auto;

    @media (max-width: var(--breakpoint-mobile)) {
      width: auto;
      margin: 0.5em;
    }

    h2 {
      font-size: 1.5em;
      margin-bottom: 0.5em;
      font-family: var(--font-secondary);
      color: var(--color-primary);

      @media (max-width: var(--breakpoint-mobile)) {
        text-align: center;
      }
    }

    h3 {
      font-size: 1.25em;
      margin-bottom: 0;
      font-family: var(--font-secondary);
      color: var(--color-secondary);

      @media (max-width: var(--breakpoint-mobile)) {
        text-align: center;
      }
    }

    ul {
      margin-bottom: 2em;
    }

    &.game_page {
      h2 {
        text-align: center;

        img {
          width: 100%;
          max-width: 15em;
        }
      }

      .screenshot,
      .visual {
        margin: 3em auto;
        text-align: center;

        @media (max-width: var(--breakpoint-mobile)) {
          margin: 1em auto;
        }

        img {
          width: 100%;
          box-sizing: border-box;
        }
      }

      .screenshot img {
        border: 0.1em solid var(--color-border);
        border-radius: 0.5em;
      }

      h3 {
        margin-top: 3em;
        margin-bottom: 1em;
        font-size: 1.5em;
        text-align: center;

        @media (max-width: var(--breakpoint-mobile)) {
          margin-top: 2em;
          font-size: 1.25em;
        }
      }

      p {
        line-height: 1.6;
        margin-bottom: 1em;
        padding: 0 2.5em;

        @media (max-width: var(--breakpoint-mobile)) {
          padding: 0 0.5em;
        }
      }

      ul {
        margin-bottom: 1em;
        padding: 0 2.5em;

        @media (max-width: var(--breakpoint-mobile)) {
          padding: 0 0.5em;
        }

        li {
          margin-bottom: 1em;
          line-height: 1.6;
        }
      }

      .join_the_alpha {
        text-align: center;
        margin: 3em;

        @media (max-width: var(--breakpoint-mobile)) {
          margin: 3em 1em;
        }

        a {
          font-family: var(--font-primary);
          background: var(--color-button-bg);
          color: var(--color-background);
          font-weight: bold;
          border: none;
          padding: 0.5em 2em;
          border-radius: 1em;
          cursor: pointer;
          transition: background-color 0.2s ease-in-out;
          font-size: 1em;
          text-decoration: none;
          display: inline-block;

          &:hover {
            background: var(--color-button-hover);
          }

          strong {
            font-weight: bold;
            font-size: 1.5em;
          }
        }
      }
    }
  }

  .projects {
    .card {
      display: flex;
      margin-bottom: 3em;
      min-height: 15em;
      border-radius: 0.25em;
      padding: 1em;
      box-sizing: border-box;

      @media (max-width: var(--breakpoint-mobile)) {
        width: 100%;
        flex-direction: column;
      }

      .image {
        width: 30%;
        text-align: center;

        img {
          width: 100%;
        }

        @media (max-width: var(--breakpoint-mobile)) {
          width: 100%;

          img {
            width: 80%;
          }
        }
      }

      .description {
        width: 70%;
        box-sizing: border-box;
        padding: 0.5em 1em;
        text-align: justify;

        @media (max-width: var(--breakpoint-mobile)) {
          width: 100%;
        }
      }

      .actions {
        margin-top: 1em;
        text-align: right;
        color: var(--color-secondary);

        @media (max-width: var(--breakpoint-mobile)) {
          text-align: center;
        }

        a {
          font-family: var(--font-primary);
          background: var(--color-button-bg);
          color: var(--color-background);
          font-weight: bold;
          border: none;
          padding: 0.5em 2em;
          border-radius: 1em;
          cursor: pointer;
          transition: background-color 0.2s ease-in-out;
          font-size: 1em;
          text-decoration: none;
          display: inline-block;

          &:hover {
            background: var(--color-button-hover);
          }

          strong {
            font-weight: bold;
            font-size: 1.5em;
          }
        }
      }
    }
  }

  #legal_notice {
    h2,
    h3 {
      text-align: left;

      small {
        display: block;
        margin-bottom: 1em;

        &::first-letter {
          font-size: 0.25em;
        }
      }
    }

    h2 {
      margin-bottom: 1.5em;
    }
  }
}

/* Footer */
#footer {
  text-align: center;
  margin: 8em auto 4em auto;
  max-width: 600px;
  font-size: 0.8em;
  color: var(--color-secondary);

  @media (max-width: var(--breakpoint-mobile)) {
    margin: 4em 0.5em 2em 0.5em;
  }

  .social {
    margin-bottom: 1em;

    a {
      opacity: 0.5;
      display: inline-block;
      margin: 0 0.5em;
      transition: opacity 0.2s ease-in-out;

      img {
        width: 3em;
      }

      &:hover {
        opacity: 1;
      }
    }
  }

  p {
    margin-bottom: 1em;
  }
}


#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}