/* Animations */
.image-animation-from-bottom,
.image-animation-from-top {
	position: relative;
	transition: 1s cubic-bezier(0.3, 0, 0, 1);
}
.image-animation-from-bottom {
	clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}
.image-animation-from-bottom:not(.scrolled-to) {
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}
.image-animation-from-top {
	clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}
.image-animation-from-top:not(.scrolled-to) {
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
.image-animation-from-bottom:not(.scrolled-to) img,
.image-animation-from-top:not(.scrolled-to) img {
	transform: scale(1.2);
}
.image-animation-from-bottom img,
.image-animation-from-top img {
	transform-origin: 50% 100%;
	transition: transform 1.8s cubic-bezier(0.3, 0, 0, 1)!important;
	transform: scale(1);
}
.animate-from-top > *,
.animate-from-bottom > * {
	transition: 1.1s cubic-bezier(0.2, 0, 0.05, 0.95);
	will-change: opacity;
}
.animate-from-top > a,
.animate-from-bottom > a,
.animate-from-top > p,
.animate-from-bottom > p {
	display: block;
}
.animate-from-top:not(.scrolled-to) > *,
.animate-from-bottom:not(.scrolled-to) > * {
	opacity: 0;
}
.animate-from-top:not(.scrolled-to) > * .js-animate--visible > *,
.animate-from-bottom:not(.scrolled-to) > * .js-animate--visible > *{
	opacity: 1;
}
.animate-from-top:not(.scrolled-to) > * {
	translate: 0 -100%;
}
.animate-from-bottom:not(.scrolled-to) > * {
	translate: 0 100%;
}