.porto-posts-grid .product-category,
.porto-tb-item {
  margin-bottom: var(--porto-el-spacing, var(--porto-grid-gutter-width, 20px));
}
.porto-tb-item.portfolio {
  position: relative;
}
.wp-block[data-type="porto/porto-section"] {
  position: static;
}
.porto-tb-featured-image {
  overflow: hidden;
  position: relative;
}
.porto-tb-featured-image .img-thumbnail {
  display: block;
}
.porto-tb-featured-image img {
  display: block;
  width: 100%;
}
.porto-tb-featured-image .owl-nav {
  z-index: 1;
}
.porto-tb-featured-image .owl-carousel {
  margin-bottom: 0;
  z-index: auto;
}
.porto-tb-featured-image .zoom {
  line-height: 30px;
}
.porto-tb-featured-image p {
  overflow-wrap: break-word;
}
.porto-tb-featured-image:hover {
  z-index: auto;
}
.porto-tb-featured-image:hover .zoom {
  opacity: 1;
}
.porto-tb-featured-image.hover-effect-3d .img-thumbnail,
.porto-tb-featured-image.hover-effect-3d .img-thumbnail img {
  border-radius: inherit;
}
.tb-image-type-gallery .img-thumbnail .zoom {
  opacity: 0;
}
.tb-image-type-gallery .img-thumbnail:hover .zoom {
  opacity: 1;
}
.grid-creative .tb-image-type-default,
.grid-creative .tb-image-type-hover {
  height: 100%;
}
.grid-creative .tb-image-type-default .img-thumbnail,
.grid-creative .tb-image-type-default .img-thumbnail img,
.grid-creative .tb-image-type-hover .img-thumbnail,
.grid-creative .tb-image-type-hover .img-thumbnail img {
  height: inherit;
  object-fit: cover;
}
.grid-creative > .porto-tb-item {
  margin-bottom: 0;
}
.tb-image-type-hover {
  position: relative;
}
.tb-image-type-hover .hover-image {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  right: 0;
  object-fit: cover;
  transition: opacity 0.3s, transform 2s cubic-bezier(0, 0, 0.44, 1.18);
  opacity: 0;
}
.tb-image-type-hover:hover .hover-image {
  opacity: 1;
  transform: scale(1.1, 1.1) translateZ(0);
}
.tb-image-type-slider .owl-item,
.tb-image-type-slider .owl-stage,
.tb-image-type-slider .owl-stage-outer,
.tb-image-type-slider .porto-carousel {
  position: static;
}
.tb-image-type-slider .porto-carousel .owl-dots {
  top: auto;
  bottom: 10px;
  justify-content: center;
  z-index: 5;
}
.tb-image-type-slider .porto-carousel .zoom {
  z-index: 5;
}
.tb-image-type-slider .img-thumbnail {
  overflow: hidden;
}
.tb-woo-price .price {
  display: block;
}
.tb-woo-price .price del {
  font-weight: 400;
}
.porto-tb-featured-image .tb-woo-stock .stock {
  position: static;
  margin: 0;
}
div.tb-woo-stock {
  position: static;
}
.tb-woo-stock.ml-auto .stock {
  margin-left: auto;
}
.tb-woo-stock.mr-auto .stock {
  margin-right: auto;
}
.tb-woo-stock.mx-auto .stock {
  margin-left: auto;
  margin-right: auto;
}
.porto-img-effect-1 .img-thumbnail:after,
.porto-img-effect-1 .img-thumbnail:before {
  content: "";
  position: absolute;
  opacity: 1;
  z-index: 1;
}
.porto-img-effect-1 .img-thumbnail:before {
  background: rgba(255, 255, 255, 0.3);
  bottom: 0;
  left: 50%;
  right: 51%;
  top: 0;
}
.porto-img-effect-1 .img-thumbnail:after {
  bottom: 50%;
  left: 0;
  right: 0;
  top: 50%;
}
.porto-img-effect-1:hover .img-thumbnail:after,
.porto-img-effect-1:hover .img-thumbnail:before {
  left: 0;
  right: 0;
  opacity: 0;
  transition: 0.5s linear;
}
.porto-img-effect-2 .img-thumbnail:after,
.porto-img-effect-2 .img-thumbnail:before {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  height: 100%;
  left: 0;
  opacity: 0.4;
  top: 0;
  transition: 0.9s;
  width: 100%;
  z-index: 1;
}
.porto-img-effect-2 .img-thumbnail:before {
  transform: translate(105%, 0%);
}
.porto-img-effect-2 .img-thumbnail:after {
  transform: translate(-105%, 0%);
}
.porto-img-effect-2:hover .img-thumbnail:after,
.porto-img-effect-2:hover .img-thumbnail:before {
  opacity: 0;
  transform: none;
}
.porto-img-effect-3 .img-thumbnail:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 120%;
  height: 60px;
  background: rgba(255, 255, 255, 0.1);
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg)
    translate3d(0, -150%, 0);
  transition: 0.5s linear;
  backface-visibility: hidden;
  z-index: 1;
}
.porto-img-effect-3:hover .img-thumbnail:before {
  top: 100%;
  left: -100%;
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg)
    translate3d(0, 200%, 0);
}
.porto-img-effect-4 .img-thumbnail:after,
.porto-img-effect-4 .img-thumbnail:before {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  opacity: 1;
  transition: 0.5s;
  z-index: 1;
}
.porto-img-effect-4 .img-thumbnail:before {
  bottom: 0;
  left: 50%;
  right: 51%;
  top: 0;
}
.porto-img-effect-4 .img-thumbnail:after {
  bottom: 50%;
  left: 0;
  right: 0;
  top: 50%;
}
.porto-img-effect-4:hover .img-thumbnail:after,
.porto-img-effect-4:hover .img-thumbnail:before {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0.5;
}
.porto-img-zoom img {
  transition: transform 1s, opacity 1s;
  opacity: 1;
}
.porto-img-zoom:hover img {
  transform: scale(1.1, 1.1) translateZ(0);
  opacity: 0.9;
}
.tb-hover-content,
.tb-hover-content .porto-tb-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
}
.tb-hover-content {
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100%;
}
.tb-hover-content {
  transition: transform 0.4s, opacity 0.3s;
  opacity: 0;
}
.tb-hover-content.thumb-info-floating-element-wrapper:not(.with-link)
  > :first-child {
  display: none;
}
.tb-hover-content.thumb-info-floating-element-wrapper.with-link
  > :nth-child(2) {
  display: none;
}
.porto-tb-item:hover .tb-hover-content {
  opacity: 1;
}
.hover-start-fadein {
  opacity: 0;
}
.hover-start-translateleft {
  transform: translateX(-101%);
}
.hover-start-translatetop {
  transform: translateY(-101%);
}
.hover-start-translatebottom {
  transform: translateY(101%);
}
.hover-start-contenttranslatebottom > :not(.porto-tb-link) {
  transform: translateY(100px);
  transition: transform 0.3s, opacity 0.3s;
}
.porto-tb-item:hover .hover-start-fadein {
  opacity: 1;
}
.porto-tb-item:hover .hover-start-translateleft {
  transform: translateX(0);
}
.porto-tb-item:hover .hover-start-translatebottom,
.porto-tb-item:hover .hover-start-translatetop {
  transform: translateY(0);
}
.porto-tb-item:hover
  .hover-start-contenttranslatebottom
  > :not(.porto-tb-link) {
  transform: translateY(0);
}
.tb-hover-content > * {
  position: relative;
  z-index: 1;
}
.tb-hover-content .porto-tb-link {
  z-index: auto;
}
.porto-tb-icon-left i {
  margin-right: 0.25rem;
}
.porto-tb-icon-right i {
  margin-left: 0.25rem;
}
.porto-tb-woo-link {
  display: inline-block;
  cursor: pointer;
  color: var(--porto-dark-color, #222529);
  line-height: 1.8;
  text-decoration: none;
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s,
    border-color 0.3s, color 0.3s;
}
.porto-tb-woo-link.porto-tb-swatch {
  cursor: auto;
}
.porto-tb-woo-link:hover {
  color: var(--porto-primary-color);
}
.porto-tb-woo-link a {
  color: inherit;
}
.porto-tb-wishlist.hide-title a,
.porto-tb-wishlist.hide-title span:not(.yith-wcwl-tooltip) {
  font-size: 0;
  letter-spacing: 0;
}
.porto-tb-wishlist.hide-title a:before,
.porto-tb-wishlist.hide-title span:not(.yith-wcwl-tooltip):before {
  font-size: var(--porto-fs, 22px);
}
.porto-tb-wishlist a.view-wishlist {
  display: none;
}
.porto-tb-wishlist a,
.porto-tb-wishlist span:not(.yith-wcwl-tooltip) {
  text-indent: 0;
  border: none;
  width: auto;
  height: auto;
  line-height: inherit;
  background: none;
  border: none;
  color: inherit;
  transition: none;
}
.porto-tb-wishlist a:before,
.porto-tb-wishlist span:not(.yith-wcwl-tooltip):before {
  position: static;
  font-size: inherit;
}
.porto-tb-wishlist.porto-tb-icon-left i {
  margin-right: 0.25rem;
}
.porto-tb-wishlist .count-add-to-wishlist {
  display: none !important;
}
.porto-tb-wishlist .yith-wcwl-add-to-wishlist {
  line-height: var(--porto-lh, 1);
}
.editor-styles-wrapper .yith-wcwl-add-to-wishlist span,
.porto-tb-wishlist a:hover,
.porto-tb-wishlist span:hover {
  background: none;
  color: inherit;
  border: none;
}
.porto-tb-swatch .variations .label,
.porto-tb-swatch .variations .reset_variations {
  display: none !important;
}
.porto-tb-swatch .variations td {
  padding: 0;
}
.porto-tb-swatch {
  display: block;
  text-align: inherit !important;
  color: #777;
}
.text-center > .porto-tb-swatch:not(.center) {
  display: inline-block;
}
.text-center > .porto-tb-swatch:not(.center) .filter-item-list {
  justify-content: center;
}
.porto-tb-swatch:hover {
  color: unset;
}
.porto-tb-swatch .variations {
  width: 100%;
}
.porto-tb-swatch.center .filter-item-list,
.woo-variation-swatches .porto-tb-swatch.center .variable-items-wrapper {
  justify-content: center;
}
.porto-tb-swatch.right .filter-item-list,
.woo-variation-swatches .porto-tb-swatch.right .variable-items-wrapper {
  justify-content: flex-end;
}
.more-swatch {
  font-size: 15px;
  display: block;
}
.center .more-swatch {
  text-align: center;
}
.right .more-swatch {
  text-align: right;
}
.porto-tb-meta {
  display: inline-block;
}
.porto-tb-meta a {
  color: inherit;
}
.porto-tb-meta a:hover {
  color: var(--porto-primary-color);
}
.porto-posts-grid.porto-ajax-loading:after {
  z-index: 4;
}
.porto-posts-grid .sort-source {
  margin-bottom: 1rem;
}
.porto-posts-grid .pagination {
  margin: 0;
}
.porto-posts-grid.porto-ajax-load {
  position: relative;
}
.porto-posts-grid .porto-ibanner > img {
  width: auto;
}
.porto-posts-grid .posts-container[data-plugin-masonry] {
  transition: height 0.3s ease-in-out;
}
.porto-posts-grid .nothing-found-message {
  width: 100%;
}
.porto-posts-grid .filter-check li a:before {
  content: "\f87a";
  font-family: "porto";
}
html:not(.rtl) .porto-posts-grid .filter-check li a:before {
  margin-right: 6px;
}
.rtl .porto-posts-grid .filter-check li a:before {
  margin-left: 6px;
}
.porto-posts-grid .filter-check li.active a:before {
  content: "\f87b";
}
@media (min-width: 768px) {
  .porto-posts-grid.filter-vertical {
    display: flex;
  }
  .porto-posts-grid.filter-vertical .nav {
    flex-direction: column;
    flex: 0 0 auto;
    width: var(--porto-filter-width, 20%);
  }
  html:not(.rtl) .porto-posts-grid.filter-vertical .sort-source li {
    margin-right: 0 !important;
  }
  .rtl .porto-posts-grid.filter-vertical .sort-source li {
    margin-left: 0 !important;
  }
  .porto-posts-grid.filter-vertical .posts-wrap {
    flex: 1;
    width: calc(100% - var(--porto-filter-width, 20%));
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .porto-posts-grid.filter-vertical .nav {
    width: var(--porto-filter-tablet-width, 20%);
  }
  .porto-posts-grid.filter-vertical .posts-wrap {
    width: calc(100% - var(--porto-filter-tablet-width, 20%));
  }
}
.image-hover-overlay {
  position: relative;
}
.image-hover-overlay .posts-wrap {
  position: relative;
  z-index: 2;
}
.image-hover-overlay .posts-wrap .img-thumbnail {
  transition: opacity 0.8s;
}
.image-hover-overlay.active .img-thumbnail {
  opacity: 0;
}
.image-hover-overlay.active .product-image {
  background-color: transparent;
}
.image-hover-overlay .thumb-info-full {
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--porto-el-spacing, var(--porto-grid-gutter-width, 20px));
  height: calc(
    var(--porto-himg-height, 0px) -
      var(--porto-el-spacing, var(--porto-grid-gutter-width, 20px))
  );
  opacity: 0;
  transition: opacity 0.8s;
  background-size: cover;
}
.image-hover-overlay .thumb-info-full.active {
  opacity: 1;
}
.porto-tb-item:hover .viewcart.added {
  display: block;
  opacity: 1;
  cursor: pointer;
}
.porto-tb-item.product-col .filter-color {
  --porto-sw-size: 18px;
  margin: 3px 6px 3px 0;
}
.porto-tb-item.product-col .active .filter-color:before,
.porto-tb-item.product-col .chosen .filter-color:before {
  --porto-sw-offset: -3px;
}
.porto-tb-item .variations select:first-child {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  height: auto;
}
.rtl .porto-tb-item.product-col .filter-color {
  margin-right: 0;
  margin-left: 6px;
}
