.image-flipbox {
	width: 100%;
	min-height: 250px;
	height: 100%;
}
.image-flipbox__holder {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
}
.image-flipbox__front,
.image-flipbox__back {
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: flex;
	-webkit-display: flex;
	-ms-flex-align: center;
	-moz-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-align-items: center;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	background-size: cover;
}
.image-flipbox__content {
	display: flex;
	-webkit-display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.image-flipbox__icon-front img,
.image-flipbox__icon-back img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Text alignment */
.image-flipbox-content-align-right {
	text-align: right;
}
.image-flipbox-content-align-left {
	text-align: left;
}
.image-flipbox-content-align-center {
	text-align: center;
}

/*front side button*/
.image-flipbox__front-btn {
	padding: 12px 18px;
	display: inline-block;
	font-weight: bold;
	font-size: 16px;
	transition: color 0.1s ease-in-out, background 0.1s ease-in-out,
		border 0.1s ease-in-out;
	-webkit-transition: color 0.1s ease-in-out, background 0.1s ease-in-out,
		border 0.1s ease-in-out;
}

/*back side button*/
.image-flipbox__btn {
	padding: 12px 18px;
	display: inline-block;
	font-weight: bold;
	font-size: 16px;
	transition: color 0.1s ease-in-out, background 0.1s ease-in-out,
		border 0.1s ease-in-out;
	-webkit-transition: color 0.1s ease-in-out, background 0.1s ease-in-out,
		border 0.1s ease-in-out;
}

/*
===================================================

							FlipBox Effect

===================================================
*/
.image-flipbox.flip-box-style {
	-webkit-perspective: 1500px;
	-ms-perspective: 1500px;
	perspective: 1500px;
	-ms-transform-style: preserve-3d;
}
.flip-box-style .image-flipbox__holder {
	-webkit-transition: var(--image-flipbox-transition-duration, 600ms);
	-ms-transition: var(--image-flipbox-transition-duration, 600ms);
	-moz-transition: var(--image-flipbox-transition-duration, 600ms);
	transition: var(--image-flipbox-transition-duration, 600ms);
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.flip-box-style .image-flipbox__front,
.flip-box-style .image-flipbox__back {
	-webkit-transition: all var(--image-flipbox-transition-duration, 600ms) cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
	-webkit-transform-style: preserve-3d;
	-webkit-transform: rotateY(0deg);
	-moz-transition: all var(--image-flipbox-transition-duration, 600ms) cubic-bezier(0.645, 0.045, 0.355, 1);
	-moz-transform-style: preserve-3d;
	-moz-transform: rotateY(0deg);
	-o-transition: var(--image-flipbox-transition-duration, 600ms);
	-o-transform-style: preserve-3d;
	-o-transform: rotateY(0deg);
	-ms-transition: all var(--image-flipbox-transition-duration, 600ms) cubic-bezier(0.645, 0.045, 0.355, 1);
	-ms-transform-style: preserve-3d;
	-ms-transform: rotateY(0deg);
	transition: all var(--image-flipbox-transition-duration, 600ms) cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
	transform-style: preserve-3d;
	transform: rotateY(0deg);
}
.flip-box-style .image-flipbox__front {
	-webkit-transform: rotateY(0deg);
	-ms-transform: rotateY(0deg);
	z-index: 2;
}
.flip-box-style .image-flipbox__back {
	-webkit-transform: rotateY(-180deg);
	-moz-transform: rotateY(-180deg);
	-o-transform: rotateY(-180deg);
	-ms-transform: rotateY(-180deg);
	transform: rotateY(-180deg);
}
/*
....................................................
						Flip directions (left/right/top/bottom)
....................................................
*/
.flip-box-style .image-flipbox__holder {
	-webkit-transform-origin: center;
	-moz-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
}

/* LEFT (default – rotate around Y axis) */
.flip-box-style.image-flipbox--dir-left:hover .image-flipbox__holder,
.flip-box-style.image-flipbox--dir-left.hover .image-flipbox__holder {
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	-ms-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

/* RIGHT (reverse Y rotation) */
.flip-box-style.image-flipbox--dir-right .image-flipbox__back {
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	-ms-transform: rotateY(180deg);
	transform: rotateY(180deg);
}
.flip-box-style.image-flipbox--dir-right:hover .image-flipbox__holder,
.flip-box-style.image-flipbox--dir-right.hover .image-flipbox__holder {
	-webkit-transform: rotateY(-180deg);
	-moz-transform: rotateY(-180deg);
	-ms-transform: rotateY(-180deg);
	transform: rotateY(-180deg);
}

/* TOP (rotate around X axis) */
.flip-box-style.image-flipbox--dir-top .image-flipbox__back {
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
	transform: rotateX(180deg);
}
.flip-box-style.image-flipbox--dir-top:hover .image-flipbox__holder,
.flip-box-style.image-flipbox--dir-top.hover .image-flipbox__holder {
	-webkit-transform: rotateX(-180deg);
	-ms-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
}

/* BOTTOM (reverse X rotation) */
.flip-box-style.image-flipbox--dir-bottom .image-flipbox__back {
	-webkit-transform: rotateX(-180deg);
	-moz-transform: rotateX(-180deg);
	-ms-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
}
.flip-box-style.image-flipbox--dir-bottom:hover .image-flipbox__holder,
.flip-box-style.image-flipbox--dir-bottom.hover .image-flipbox__holder {
	-webkit-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

/*
===================================================

							Fade Effect

===================================================
*/
.image-flipbox.rotate-box-style {
	overflow: hidden;
}
.image-flipbox.rotate-box-style .image-flipbox__front {
	-webkit-transition: -webkit-transform 0.9s ease-in-out;
	transition: -webkit-transform 0.9s ease-in-out;
	-o-transition: transform 0.9s ease-in-out;
	transition: transform 0.9s ease-in-out;
	transition: transform 0.9s ease-in-out, -webkit-transform 0.9s ease-in-out;
}
.image-flipbox.rotate-box-style:hover .image-flipbox__front {
	-webkit-transform: scale(3) rotate(30deg);
	-ms-transform: scale(3) rotate(30deg);
	transform: scale(3) rotate(30deg);
}
.image-flipbox.rotate-box-style .image-flipbox__back {
	-webkit-transform: scale(1.5) rotate(30deg);
	-ms-transform: scale(1.5) rotate(30deg);
	transform: scale(1.5) rotate(30deg);
	-webkit-transition: opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	transition: opacity 0.3s ease-in-out, -webkit-transform 0.6s ease-in-out;
	-o-transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	opacity: 0;
}
.image-flipbox.rotate-box-style:hover .image-flipbox__back {
	-webkit-transform: scale(1) rotate(0deg);
	-ms-transform: scale(1) rotate(0deg);
	transform: scale(1) rotate(0deg);
	opacity: 1;
}

/*
===================================================

							Zoom in Effect

===================================================
*/
.image-flipbox.zoomin-box-style {
	overflow: hidden;
}
.image-flipbox.zoomin-box-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.9s ease-in-out;
	-o-transition: all 0.9s ease-in-out;
	transition: all 0.9s ease-in-out;
}
.image-flipbox.zoomin-box-style .image-flipbox__back {
	-webkit-transform: scale(1.5);
	-ms-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	transition: opacity 0.3s ease-in-out, -webkit-transform 0.6s ease-in-out;
	-o-transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	opacity: 0;
	z-index: 1;
}
.image-flipbox.zoomin-box-style:hover .image-flipbox__front {
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
	z-index: 1;
}
.image-flipbox.zoomin-box-style:hover .image-flipbox__back {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	opacity: 1;
	z-index: 3;
}

/*
===================================================

							Zoom Out Effect

===================================================
*/
.image-flipbox.zoomout-box-style {
	overflow: hidden;
}
.image-flipbox.zoomout-box-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.9s ease-in-out;
	-o-transition: all 0.9s ease-in-out;
	transition: all 0.9s ease-in-out;
}
.image-flipbox.zoomout-box-style .image-flipbox__back {
	-webkit-transform: scale(0.5);
	-ms-transform: scale(0.5);
	transform: scale(0.5);
	-webkit-transition: opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	transition: opacity 0.3s ease-in-out, -webkit-transform 0.6s ease-in-out;
	-o-transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out;
	transition: transform 0.6s ease-in-out, opacity 0.3s ease-in-out,
		-webkit-transform 0.6s ease-in-out;
	opacity: 0;
	z-index: 1;
}
.image-flipbox.zoomout-box-style:hover .image-flipbox__front {
	-webkit-transform: scale(0.6);
	-ms-transform: scale(0.6);
	transform: scale(0.6);
	z-index: 1;
}
.image-flipbox.zoomout-box-style:hover .image-flipbox__back {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	opacity: 1;
	z-index: 3;
}
/*
===================================================

						Slide Effect (unified)

===================================================
*/
.image-flipbox.slide-box-style {
	overflow: hidden;
}
.image-flipbox.slide-box-style .image-flipbox__back {
	transition: all var(--image-flipbox-transition-duration, 600ms) ease-in-out;
}
.image-flipbox.slide-box-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all var(--image-flipbox-transition-duration, 600ms) ease-in-out;
	-o-transition: all var(--image-flipbox-transition-duration, 600ms) ease-in-out;
	transition: all var(--image-flipbox-transition-duration, 600ms) ease-in-out;
}

/* LEFT */
.image-flipbox.slide-box-style.image-flipbox--dir-left .image-flipbox__back {
	transform: translateX(100%);
}
.image-flipbox.slide-box-style.image-flipbox--dir-left:hover .image-flipbox__back {
	transform: translateX(0);
}
.image-flipbox.slide-box-style.image-flipbox--dir-left:hover .image-flipbox__front {
	transform: translateX(-100%);
}

/* RIGHT */
.image-flipbox.slide-box-style.image-flipbox--dir-right .image-flipbox__back {
	transform: translateX(-100%);
}
.image-flipbox.slide-box-style.image-flipbox--dir-right:hover .image-flipbox__back {
	transform: translateX(0);
}
.image-flipbox.slide-box-style.image-flipbox--dir-right:hover .image-flipbox__front {
	transform: translateX(100%);
}

/* TOP */
.image-flipbox.slide-box-style.image-flipbox--dir-top .image-flipbox__back {
	transform: translateY(100%);
}
.image-flipbox.slide-box-style.image-flipbox--dir-top:hover .image-flipbox__back {
	transform: translateY(0);
}
.image-flipbox.slide-box-style.image-flipbox--dir-top:hover .image-flipbox__front {
	transform: translateY(-100%);
}

/* BOTTOM */
.image-flipbox.slide-box-style.image-flipbox--dir-bottom .image-flipbox__back {
	transform: translateY(-100%);
}
.image-flipbox.slide-box-style.image-flipbox--dir-bottom:hover .image-flipbox__back {
	transform: translateY(0);
}
.image-flipbox.slide-box-style.image-flipbox--dir-bottom:hover .image-flipbox__front {
	transform: translateY(100%);
}

/* Legacy classes kept for backward compatibility (saved content before Slide unification) */
.image-flipbox.side-right-style,
.image-flipbox.side-left-style,
.image-flipbox.to-top-style,
.image-flipbox.to-bottom-style {
	overflow: hidden;
}
.image-flipbox.side-right-style .image-flipbox__back {
	transform: translateX(-100%);
	transition: all 0.9s ease-in-out;
}
.image-flipbox.side-right-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.9s ease-in-out;
	-o-transition: all 0.9s ease-in-out;
	transition: all 0.9s ease-in-out;
}
.image-flipbox.side-right-style:hover .image-flipbox__back {
	transform: translateX(0) scale(1);
}
.image-flipbox.side-right-style:hover .image-flipbox__front {
	transform: translateX(100%);
}

.image-flipbox.side-left-style .image-flipbox__back {
	transform: translateX(100%);
	transition: all 0.9s ease-in-out;
}
.image-flipbox.side-left-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.9s ease-in-out;
	-o-transition: all 0.9s ease-in-out;
	transition: all 0.9s ease-in-out;
}
.image-flipbox.side-left-style:hover .image-flipbox__back {
	transform: translateX(0);
}
.image-flipbox.side-left-style:hover .image-flipbox__front {
	transform: translateX(-100%);
}

.image-flipbox.to-top-style .image-flipbox__back {
	transform: translateY(100%);
	transition: all 0.4s ease-in-out;
}
.image-flipbox.to-top-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
.image-flipbox.to-top-style:hover .image-flipbox__back {
	transform: translateY(0);
}
.image-flipbox.to-top-style:hover .image-flipbox__front {
	transform: translateY(-100%);
}

.image-flipbox.to-bottom-style .image-flipbox__back {
	transform: translateY(-100%);
	transition: all 0.4s ease-in-out;
}
.image-flipbox.to-bottom-style .image-flipbox__front {
	z-index: 3;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
.image-flipbox.to-bottom-style:hover .image-flipbox__back {
	transform: translateY(0);
}
.image-flipbox.to-bottom-style:hover .image-flipbox__front {
	transform: translateY(100%);
}
