#contact {
  background-color: var(--primary-color);
  margin-top: -1px;

  h2 {
    color: var(--text-black);
    width: 100%;
    text-align: center;
  }

  hr {
    width: 70dvw;
    height: 3px;
    border-radius: 1px;
    margin: 0 auto;
    background-color: var(--text-black);
    border: none;
  }
}

#contactContainer {
  width: 80dvw;
  margin: 2em auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2em;

  p {
    width: 50%;
  }
}

#contactInfo {
  background-color: var(--background-color);
  padding: 2em 6em;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 1em;

  div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
  }

  img {
    width: 25px;
  }

  p {
    width: fit-content;
  }

  a {
    color: var(--primary-color);
  }
}

footer {
  background-color: var(--primary-color);
}

footer section {
  height: 7dvh;
  width: 70dvw;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;

  background-color: var(--primary-color);
  color: var(--text-black);

  #email a {
    color: var(--text-black);
    transition: all 0.3s ease-out;
  }
  #email a:hover {
    color: var(--text-white);
  }

  #social a {
    height: 100%;
    display: block;
    margin: 0 0.5rem;
    align-content: center;
  }

  img {
    height: 80%;
    transition: all 0.3s ease-out;
  }

  #social {
    display: flex;
    align-items: center;
    height: 70%;
  }

  img:hover {
    filter: invert(100%);
  }
}

@media only screen and (max-width: 700px) {
  #contactContainer {
    width: 90dvw;

    p {
      width: 100%;
    }
  }

  #contactInfo {
    width: 90dvw;
    padding: 2em;

    div {
      width: 100%;
      gap: 2em;
      justify-content: center;
    }

    p {
      width: 50%;
    }
  }

  footer {
    height: 10dvh;
  }

  footer section {
    width: 100%;
    justify-content: center;

    #email {
      display: none;
    }

    #name {
      font-size: 0.7em;
    }
  }
}
