.fonty-portfolio-archive ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fonty-portfolio-archive ul.products::before,
.fonty-portfolio-archive ul.products::after {
  content: none !important;
  display: none !important;
}

.fonty-portfolio-archive li.product {
  margin: 0 0 18px;
  padding: 0;
}

.fonty-portfolio-item-wrap {
  background: transparent;
  overflow: hidden;
  position: relative;
}

.fonty-portfolio-item-wrap .fonty-portfolio-image,
.fonty-portfolio-item-wrap img {
  display: block;
  height: auto;
  margin: 0;
  max-width: 100%;
  width: 100% !important;
}

.fonty-portfolio-item-title {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0));
  bottom: 0;
  color: #fff;
  font-size: 14px;
  left: 0;
  letter-spacing: 0.03em;
  opacity: 0;
  padding: 40px 14px 14px;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  transform: translateY(8px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.fonty-portfolio-archive a:hover .fonty-portfolio-item-title,
.fonty-portfolio-archive a:focus .fonty-portfolio-item-title,
.fonty-portfolio-archive a:focus-visible .fonty-portfolio-item-title {
  opacity: 1;
  transform: translateY(0);
}

.fonty-portfolio-layout-full ul.products,
.fonty-portfolio-layout-square ul.products {
  column-gap: 18px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  row-gap: 18px;
}

.fonty-portfolio-archive ul.products li.product {
  clear: none !important;
  display: block !important;
  float: none !important;
  margin: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  text-align: left;
  width: auto;
}

.fonty-portfolio-archive ul.products li.product:nth-child(odd),
.fonty-portfolio-archive ul.products li.product:nth-child(even) {
  clear: none !important;
  margin-right: 0 !important;
}

.fonty-portfolio-archive ul.products li.product.first,
.fonty-portfolio-archive ul.products li.product.last {
  clear: none !important;
  margin-right: 0 !important;
}

.fonty-portfolio-archive ul.products li.product.fonty-portfolio-no-image {
  display: none !important;
}

.fonty-portfolio-layout-full .fonty-portfolio-item-wrap {
  aspect-ratio: auto;
}

.fonty-portfolio-layout-full .fonty-portfolio-item-wrap .fonty-portfolio-image,
.fonty-portfolio-layout-full .fonty-portfolio-item-wrap img {
  height: auto !important;
  object-fit: contain !important;
}

.fonty-portfolio-layout-square .fonty-portfolio-item-wrap {
  aspect-ratio: 1 / 1;
  width: 100%;
}

.fonty-portfolio-layout-square .fonty-portfolio-item-wrap .fonty-portfolio-image,
.fonty-portfolio-layout-square .fonty-portfolio-item-wrap img {
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

.fonty-portfolio-layout-masonry ul.products {
  column-gap: 18px;
  display: grid;
  gap: 18px;
  grid-auto-flow: row dense;
}

.fonty-portfolio-layout-masonry li.product {
  display: block !important;
  margin: 0 !important;
  width: auto;
}

.fonty-portfolio-layout-masonry .fonty-portfolio-item-wrap {
  aspect-ratio: auto;
}

.fonty-portfolio-layout-masonry li.product.fonty-portfolio-landscape .fonty-portfolio-item-wrap {
  aspect-ratio: auto;
}

.fonty-portfolio-layout-masonry .fonty-portfolio-item-wrap .fonty-portfolio-image,
.fonty-portfolio-layout-masonry .fonty-portfolio-item-wrap img {
  height: auto !important;
  object-fit: contain !important;
  width: 100% !important;
}

.fonty-portfolio-layout-masonry ul.products.fonty-pfd-masonry-enhanced {
  display: block !important;
}

.fonty-portfolio-layout-masonry ul.products.fonty-pfd-masonry-enhanced li.product {
  position: absolute !important;
}

@media (max-width: 1024px) {
  .fonty-portfolio-archive .fonty-portfolio-item-wrap .fonty-portfolio-image,
  .fonty-portfolio-archive .fonty-portfolio-item-wrap img {
    height: auto !important;
    max-height: 75vh;
    object-fit: contain !important;
  }

  .fonty-portfolio-layout-square .fonty-portfolio-item-wrap {
    aspect-ratio: auto;
  }
}
