.projects {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;

  @media (max-width: 768px) {
    grid-template-columns: 1fr;
  }
}

.projectImage {
  position: relative;
  overflow: hidden;
  cursor: pointer;

  aspect-ratio: 17 / 9;
  border-radius: 0.8rem;
  background: var(--background-light);

  img {
    position: absolute;
    translate: -50% 20%;
    left: 50%;
    bottom: 30px;

    width: 100%;
    height: auto; 

    border-radius: 0.4rem;
    transition: 0.25s all;
  }
}

.projectCopy {
  margin: 1.6rem 0;
}

.projectTitle {
  display: flex;
  align-items: center;
  gap: 1.2rem;

  h4 {
    font-weight: bold;
    font-size: var(--text-md);
    flex-shrink: 0;

    max-width: calc(100% - 150px);
  }

  a {
    opacity: 0.75;
    transition: 0.25s opacity;
  }

  a:hover {
    opacity: 1;
  }
}

.projectTitleLine {
  width: 100%;
  height: 1px;
  background: var(--text);
  opacity: 0.3;
}

.projectDescription {
  font-weight: 200;
  span {
    display: inline-block;
    font-size: var(--text-xs);
    font-weight: 400;
    color: var(--brand);
    cursor: pointer;
    margin-top: 1rem;
    opacity: 1;
    transition: 0.2s;
    @media (max-width: 768px) {
      opacity: 1;
    }
  }
  span:hover {
    opacity: 0.8;
  }
}

.projectTech {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;

  font-size: var(--text-xs);
  color: var(--brand);

  margin: 0.8rem 0;
}

.linkToGallery {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;

  a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding-right: 3.25rem;

    font-size: var(--text-md);
    opacity: 0.8;

    transition: opacity 0.2s ease;

    &:hover {
      opacity: 1;
    }

    svg {
      animation: point 1.2s ease-in-out infinite;
    }
  }
}

@keyframes point {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(5px);
  }
  40% {
    transform: translateX(0);
  }
  60% {
    transform: translateX(5px);
  }
  80% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}
