.pp-image-gallery {
    display: flex;
    flex-wrap: wrap;
    .pp-grid-item-wrap {
        transition: none;
    }
	.pp-image-gallery-item-link {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
	}
}
.pp-image-gallery-thumbnail-wrap {
    overflow: hidden;
	position: relative;
	-webkit-transition: all 0.25s linear;
    transition: all 0.25s linear;
    a {
        cursor: pointer;
        display: block;
        position: relative;
    }
}
.pp-image-gallery-thumbnail {
    overflow: hidden;
    img {
        -webkit-transition: all 0.25s linear;
        transition: all 0.25s linear;
        vertical-align: middle;
    }
}
.pp-gallery-filters {
	margin-left: -5px;
	margin-right: -5px;
    text-align: center;
    .pp-gallery-filter {
        cursor: pointer;
        display: inline-block;
        line-height: 1;
        margin: 0 5px 18px;
		padding: 12px 0;
		position: relative;
        -webkit-transition: all 0.25s linear;
        transition: all 0.25s linear;
    }
}
.pp-filters-dropdown {
	display: none;
	margin: 0 0 20px;
	padding: 10px;
}
.pp-gallery-load-more {
	text-decoration: none;
}
.pp-gallery-load-more.disabled {
	pointer-events: none;
	opacity: 0.3;
}
.pp-media-content {
    .pp-gallery-image-caption {
        color: #fff;
        padding: 5px 10px;
		a {
			color: inherit;
		}
    }
}
.pp-gallery-image-content,
.pp-gallery-image-icon-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.pp-gallery-tilt {
    transform-style: preserve-3d;
}
.pp-button-loader {
    display: none;
}
.pp-gallery-load-more {
    &.pp-loading {
        .pp-button-loader {
            display: inline-block;
            width: 18px;
            height: 18px;
            vertical-align: middle;
            margin-right: 8px;
            &:after {
                content: '';
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                border: 3px solid #fff;
                border-color: #fff transparent #fff transparent;
                animation: pp-dual-ring 1.2s linear infinite;
            }
        }
    }
    @keyframes pp-dual-ring {
      0% {
        transform: rotate(0deg);
      }
      100% {
        transform: rotate(360deg);
      }
    }
}
.pp-ins-filter-target {
    @include transition();
}
.pp-image-gallery-justified {
	position: relative;
	overflow: hidden;
}
.pp-image-gallery-justified > div {
	position: absolute;
	display: inline-block;
	overflow: hidden;
	/* background: #888888; To have gray placeholders while the gallery is loading with waitThumbnailsLoad = false */
	filter: "alpha(opacity=10)";
	opacity: 0.1;
	margin: 0;
	padding: 0;
}
.pp-image-gallery-justified > .entry-visible {
	filter: "alpha(opacity=100)";
	opacity: 1;
	background: none;
}
.pp-ins-filter-target {
    .pp-ins-hover-normal .pp-ins-filter-hover:hover & {
        -webkit-filter: none;
        filter: none;
        &:before {
            display: none;
        }
    }
    .pp-ins-filter-1977 &,
    .pp-ins-hover-filter-1977 .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.5) hue-rotate(-30deg) saturate(1.4);
        filter: sepia(.5) hue-rotate(-30deg) saturate(1.4);
    }
    .pp-ins-filter-aden &,
    .pp-ins-hover-filter-aden .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.2) brightness(1.15) saturate(1.4);
        filter: sepia(.2) brightness(1.15) saturate(1.4);
        &:before {
            background: rgba(125, 105, 24, .1);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-amaro &,
    .pp-ins-hover-filter-amaro .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.35) contrast(1.1) brightness(1.2) saturate(1.3);
        filter: sepia(.35) contrast(1.1) brightness(1.2) saturate(1.3);
        &:before {
            background: rgba(125, 105, 24, .2);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-ashby &,
    .pp-ins-hover-filter-ashby .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.5) contrast(1.2) saturate(1.8);
        filter: sepia(.5) contrast(1.2) saturate(1.8);
        &:before {
            background: rgba(125, 105, 24, .35);
            content: "";
            mix-blend-mode: lighten;
        }
    }
    .pp-ins-filter-brannan &,
    .pp-ins-hover-filter-brannan .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.4) contrast(1.25) brightness(1.1) saturate(.9) hue-rotate(-2deg);
        filter: sepia(.4) contrast(1.25) brightness(1.1) saturate(.9) hue-rotate(-2deg);
    }
    .pp-ins-filter-brooklyn &,
    .pp-ins-hover-filter-brooklyn .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg);
        filter: sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg);
        &:before {
            background: rgba(127, 187, 227, .2);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-charmes &,
    .pp-ins-hover-filter-charmes .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.25) brightness(1.25) saturate(1.35) hue-rotate(-5deg);
        filter: sepia(.25) contrast(1.25) brightness(1.25) saturate(1.35) hue-rotate(-5deg);
        &:before {
            background: rgba(125, 105, 24, .25);
            content: "";
            mix-blend-mode: darken;
        }
    }
    .pp-ins-filter-clarendon &,
    .pp-ins-hover-filter-clarendon .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.15) contrast(1.25) brightness(1.25) hue-rotate(5deg);
        filter: sepia(.15) contrast(1.25) brightness(1.25) hue-rotate(5deg);
        &:before {
            background: rgba(127, 187, 227, .4);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-crema &,
    .pp-ins-hover-filter-crema .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.5) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-2deg);
        filter: sepia(.5) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-2deg);
        &:before {
            background: rgba(125, 105, 24, .2);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-dogpatch &,
    .pp-ins-hover-filter-dogpatch .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.35) saturate(1.1) contrast(1.5);
        filter: sepia(.35) saturate(1.1) contrast(1.5);
    }
    .pp-ins-filter-earlybird &,
    .pp-ins-hover-filter-earlybird .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-5deg);
        filter: sepia(.25) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-5deg);
        &:before {
            background: radial-gradient(circle closest-corner, transparent 0, rgba(125, 105, 24, .2) 100%);
            background: -o-radial-gradient(circle closest-corner, transparent 0, rgba(125, 105, 24, .2) 100%);
            background: -moz-radial-gradient(circle closest-corner, transparent 0, rgba(125, 105, 24, .2) 100%);
            background: -webkit-radial-gradient(circle closest-corner, transparent 0, rgba(125, 105, 24, .2) 100%);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-gingham &,
    .pp-ins-hover-filter-gingham .pp-ins-filter-hover:hover & {
        -webkit-filter: contrast(1.1) brightness(1.1);
        filter: contrast(1.1) brightness(1.1);
        &:before {
            background: #e6e6e6;
            content: "";
            mix-blend-mode: soft-light;
        }
    }
    .pp-ins-filter-ginza &,
    .pp-ins-hover-filter-ginza .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.15) brightness(1.2) saturate(1.35) hue-rotate(-5deg);
        filter: sepia(.25) contrast(1.15) brightness(1.2) saturate(1.35) hue-rotate(-5deg);
        &:before {
            background: rgba(125, 105, 24, .15);
            content: "";
            mix-blend-mode: darken;
        }
    }
    .pp-ins-filter-hefe &,
    .pp-ins-hover-filter-hefe .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.4) contrast(1.5) brightness(1.2) saturate(1.4) hue-rotate(-10deg);
        filter: sepia(.4) contrast(1.5) brightness(1.2) saturate(1.4) hue-rotate(-10deg);
        &:before {
            background: radial-gradient(circle closest-corner, transparent 0, rgba(0, 0, 0, .25) 100%);
            background: -o-radial-gradient(circle closest-corner, transparent 0, rgba(0, 0, 0, .25) 100%);
            background: -moz-radial-gradient(circle closest-corner, transparent 0, rgba(0, 0, 0, .25) 100%);
            background: -webkit-radial-gradient(circle closest-corner, transparent 0, rgba(0, 0, 0, .25) 100%);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-helena &,
    .pp-ins-hover-filter-helena .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.5) contrast(1.05) brightness(1.05) saturate(1.35);
        filter: sepia(.5) contrast(1.05) brightness(1.05) saturate(1.35);
        &:before {
            background: rgba(158, 175, 30, .25);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-hudson &,
    .pp-ins-hover-filter-hudson .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.2) brightness(1.2) saturate(1.05) hue-rotate(-15deg);
        filter: sepia(.25) contrast(1.2) brightness(1.2) saturate(1.05) hue-rotate(-15deg);
        &:before {
            background: radial-gradient(circle closest-corner, transparent 25%, rgba(25, 62, 167, .25) 100%);
            background: -o-radial-gradient(circle closest-corner, transparent 25%, rgba(25, 62, 167, .25) 100%);
            background: -moz-radial-gradient(circle closest-corner, transparent 25%, rgba(25, 62, 167, .25) 100%);
            background: -webkit-radial-gradient(circle closest-corner, transparent 25%, rgba(25, 62, 167, .25) 100%);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-inkwell &,
    .pp-ins-hover-filter-inkwell .pp-ins-filter-hover:hover & {
        -webkit-filter: brightness(1.25) contrast(.85) grayscale(1);
        filter: brightness(1.25) contrast(.85) grayscale(1);
    }
    .pp-ins-filter-juno &,
    .pp-ins-hover-filter-juno .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.35) contrast(1.15) brightness(1.15) saturate(1.8);
        filter: sepia(.35) contrast(1.15) brightness(1.15) saturate(1.8);
        &:before {
            background: rgba(127, 187, 227, .2);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-kelvin &,
    .pp-ins-hover-filter-kelvin .pp-ins-filter-hover:hover & {
        webkit-filter: sepia(.15) contrast(1.5) brightness(1.1) hue-rotate(-10deg);
        filter: sepia(.15) contrast(1.5) brightness(1.1) hue-rotate(-10deg);
        &:before {
            background: radial-gradient(circle closest-corner, rgba(128, 78, 15, .25) 0, rgba(128, 78, 15, .5) 100%);
            background: -o-radial-gradient(circle closest-corner, rgba(128, 78, 15, .25) 0, rgba(128, 78, 15, .5) 100%);
            background: -moz-radial-gradient(circle closest-corner, rgba(128, 78, 15, .25) 0, rgba(128, 78, 15, .5) 100%);
            background: -webkit-radial-gradient(circle closest-corner, rgba(128, 78, 15, .25) 0, rgba(128, 78, 15, .5) 100%);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-lark &,
    .pp-ins-hover-filter-lark .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.2) brightness(1.3) saturate(1.25);
        filter: sepia(.25) contrast(1.2) brightness(1.3) saturate(1.25);
    }
    .pp-ins-filter-lofi &,
    .pp-ins-hover-filter-lofi .pp-ins-filter-hover:hover & {
        -webkit-filter: saturate(1.1) contrast(1.5);
        filter: saturate(1.1) contrast(1.5);
    }
    .pp-ins-filter-ludwig &,
    .pp-ins-hover-filter-ludwig .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.05) brightness(1.05) saturate(2);
        filter: sepia(.25) contrast(1.05) brightness(1.05) saturate(2);
        &:before {
            background: rgba(125, 105, 24, .1);
            content: "";
            mix-blend-mode: overlay;
        }
    }
    .pp-ins-filter-maven &,
    .pp-ins-hover-filter-maven .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.35) contrast(1.05) brightness(1.05) saturate(1.75);
        filter: sepia(.35) contrast(1.05) brightness(1.05) saturate(1.75);
        &:before {
            background: rgba(158, 175, 30, .25);
            content: "";
            mix-blend-mode: darken;
        }
    }
    .pp-ins-filter-mayfair &,
    .pp-ins-hover-filter-mayfair .pp-ins-filter-hover:hover & {
        -webkit-filter: contrast(1.1) brightness(1.15) saturate(1.1);
        filter: contrast(1.1) brightness(1.15) saturate(1.1);
        &:before {
            background: radial-gradient(circle closest-corner, transparent 0, rgba(175, 105, 24, .4) 100%);
            background: -o-radial-gradient(circle closest-corner, transparent 0, rgba(175, 105, 24, .4) 100%);
            background: -moz-radial-gradient(circle closest-corner, transparent 0, rgba(175, 105, 24, .4) 100%);
            background: -webkit-radial-gradient(circle closest-corner, transparent 0, rgba(175, 105, 24, .4) 100%);
            content: "";
            mix-blend-mode: multiply;
        }
    }
    .pp-ins-filter-moon &,
    .pp-ins-hover-filter-moon .pp-ins-filter-hover:hover & {
        -webkit-filter: brightness(1.4) contrast(.95) saturate(0) sepia(.35);
        filter: brightness(1.4) contrast(.95) saturate(0) sepia(.35);
    }
    .pp-ins-filter-nashville &,
    .pp-ins-hover-filter-nashville .pp-ins-filter-hover:hover & {
        -webkit-filter: sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg);
        filter: sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg);
        &:before {
            background: radial-gradient(circle closest-corner, rgba(128, 78, 15, .5) 0, rgba(128, 78, 15, .65) 100%);
            background: -o-radial-gradient(circle closest-corner, rgba(128, 78, 15, .5) 0, rgba(128, 78, 15, .65) 100%);
            background: -moz-radial-gradient(circle closest-corner, rgba(128, 78, 15, .5) 0, rgba(128, 78, 15, .65) 100%);
            background: -webkit-radial-gradient(circle closest-corner, rgba(128, 78, 15, .5) 0, rgba(128, 78, 15, .65) 100%);
            content: "";
            mix-blend-mode: screen;
        }
    }
}
.pp-gallery-image-content,
.pp-gallery-image-caption {
    @include transition($target: all, $time: 0.25s, $timing-function: linear);
}
.pp-caption-hover-effect-fade-in {
	.pp-gallery-image-caption {
		opacity: 0;
	}
	.pp-image:hover {
		.pp-media-content {
			.pp-gallery-image-caption {
				opacity: 1;
			}
		}
	}
}
.pp-caption-hover-effect-fade-out {
	.pp-gallery-image-caption {
		opacity: 1;
	}
	.pp-image:hover {
		.pp-media-content {
			.pp-gallery-image-caption {
				opacity: 0;
			}
		}
	}
}
.pp-caption-hover-effect-slide-from-top {
    .pp-media-content {
        transform: translateY(-100%);
    }
}
.pp-caption-hover-effect-slide-from-bottom {
    .pp-media-content {
        transform: translateY(100%);
    }
}
.pp-caption-hover-effect-slide-from-left {
    .pp-media-content {
        transform: translateX(-100%);
    }
}
.pp-caption-hover-effect-slide-from-right {
    .pp-media-content {
        transform: translateX(100%);
    }
}
.pp-caption-hover-effect-fade-from-top {
    .pp-media-content {
        transform: translateY(-24px);
    }
}
.pp-caption-hover-effect-fade-from-bottom {
    .pp-media-content {
        transform: translateY(24px);
    }
}
.pp-caption-hover-effect-fade-from-left {
    .pp-media-content {
        transform: translateX(-24px);
    }
}
.pp-caption-hover-effect-fade-from-right {
    .pp-media-content {
        transform: translateX(24px);
    }
}
.pp-caption-hover-effect-fade-to-top {
	.pp-image:hover {
    	.pp-media-content {
            transform: translateY(-24px);
        }
    }
}
.pp-caption-hover-effect-fade-to-bottom {
	.pp-image:hover {
    	.pp-media-content {
            transform: translateY(24px);
        }
    }
}
.pp-caption-hover-effect-fade-to-left {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateX(-24px);
        }
    }
}
.pp-caption-hover-effect-fade-to-right {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateX(24px);
        }
    }
}
.pp-caption-hover-effect-slide-to-top {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateY(-100%);
        }
    }
}
.pp-caption-hover-effect-slide-to-bottom {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateY(100%);
        }
    }
}
.pp-caption-hover-effect-slide-to-left {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateX(-100%);
        }
    }
}
.pp-caption-hover-effect-slide-to-right {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateX(100%);
        }
    }
}
.pp-caption-hover-effect-fade-from-top,
.pp-caption-hover-effect-fade-from-bottom,
.pp-caption-hover-effect-fade-from-left,
.pp-caption-hover-effect-fade-from-right {
    .pp-media-content {
        opacity: 0;
    }
}
.pp-caption-hover-effect-fade-to-top,
.pp-caption-hover-effect-fade-to-bottom,
.pp-caption-hover-effect-fade-to-left,
.pp-caption-hover-effect-fade-to-right {
    .pp-image:hover {
    	.pp-media-content {
            opacity: 0;
        }
    }
}
.pp-caption-hover-effect-slide-from-bottom,
.pp-caption-hover-effect-slide-from-top,
.pp-caption-hover-effect-slide-from-right,
.pp-caption-hover-effect-slide-from-left,
.pp-caption-hover-effect-fade-from-top,
.pp-caption-hover-effect-fade-from-bottom,
.pp-caption-hover-effect-fade-from-left,
.pp-caption-hover-effect-fade-from-right {
    .pp-image:hover {
    	.pp-media-content {
            transform: translateY(0) translateX(0);
        }
    }
}
.pp-caption-hover-effect-fade-from-top,
.pp-caption-hover-effect-fade-from-bottom,
.pp-caption-hover-effect-fade-from-left,
.pp-caption-hover-effect-fade-from-right {
    .pp-image:hover {
    	.pp-media-content {
            opacity: 1;
        }
    }
}
@mixin image-gallery--tablet {
	.pp-filters-wrapper-tablet {
		.pp-gallery-filters:not(.pp-filters-dropdown) {
			display: none;
		}
		.pp-filters-dropdown {
			display: block;
		}
	}
}
@mixin image-gallery--mobile {
	.pp-filters-wrapper-mobile {
		.pp-gallery-filters:not(.pp-filters-dropdown) {
			display: none;
		}
		.pp-filters-dropdown {
			display: block;
		}
	}
}