.block-projects {
  padding: 150px 0;
  background-color: var(--color-light);
  h2 {
    font-size: var(--font-size-huge);
    margin: 0 0 50px 0;
  }
}

.block-projects-masonry {
  display: flex;
  gap: 30px;
  flex-direction: column;

  @media (min-width: 576px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
}

.block-projects-masonry-item {
  position: relative;

  &:hover {
    .block-projects-masonry-item-info {
      transform: scale(1);
      transition: 250ms ease-in-out;

      h3, p {
        display: block;
      }

    }

    .block-projects-masonry-item-content {
      background-color: transparent;
      color: var(--color-secondary);
      transition: 200ms ease-in-out;
    }
  }
}

.block-projects-masonry-item.double {
  width: 100%;
  height: 300px;
  position: relative;

  @media (min-width: 576px) {
    max-width: calc((100% - 30px) / 2);
  }

  @media (min-width: 1000px) {
    height: 400px;
  }

  @media (min-width: 1400px) {
    height: 500px;
  }
}

.block-projects-masonry-item.single {
  max-width: 100%;
  width: 100%;
  height: 400px;
  position: relative;

  @media (min-width: 1000px) {
    height: 400px;
  }

  @media (min-width: 1400px) {
    height: 500px;
  }
}

.block-projects-masonry-item {
  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

.block-projects-masonry-item-content {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  padding: 10px 20px;
  background: var(--color-primary);
  border-bottom-left-radius: 10px;
  font-size: var(--font-size-medium);
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 1px;
  pointer-events: none;
}

.block-projects-masonry-item-info {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(36, 63, 95, 0.7);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  color: var(--color-white);
  transform: scale(0);
  transform-origin: top right;
  pointer-events: none;

  p {
    display: none;
    margin: 0;
    font-size: var(--font-size-small);
    line-height: 20px;
    max-width: 60ch;

    @include media-breakpoint-down(sm) {
      display: none !important;
    }
  }

  h3 {
    margin: 0 0 10px 0;
    display: none;

    @include media-breakpoint-down(sm) {
      display: none !important;
    }
  }
}
