.el-stack-cards-gallery__wrapper{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	touch-action: pan-y;
}
/* Sized dynamically (script.min.js) to match the front card's own
   width/height, since its children are absolutely positioned and would
   otherwise collapse the container to zero height. */
.el-stack-cards-gallery__stack{
	position: relative;
}
.el-stack-cards-gallery-item{
	position: absolute;
	top: 0;
	left: 0;
	cursor: grab;
	transition: transform .6s cubic-bezier(.22, 1, .36, 1);
	will-change: transform;
	/* Belt-and-braces alongside draggable="false" in the markup — stops the
	   browser's native image/link drag-ghost and text-selection highlighting
	   from fighting with the stack's own pointer-based drag mid-gesture. */
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
}
.el-stack-cards-gallery-item.el_stack_cards_gallery_dragging{
	transition: none;
	cursor: grabbing;
}
.el-stack-cards-gallery-item:active{
	cursor: grabbing;
}
.el-stack-cards-gallery-item__inner{
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.el-stack-cards-gallery-item__image{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}
.el-stack-cards-gallery-item__link{
	display: block;
	width: 100%;
	height: 100%;
}

/* Title, caption & overlay icon — shown on the front card only. Background
   color/gradient is set dynamically from the module's Design settings. */
.el-stack-cards-gallery-item__overlay{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 20px;
	color: #ffffff;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.el-stack-cards-gallery-item:first-child .el-stack-cards-gallery-item__overlay{
	opacity: 1;
}
/* "Show Overlay On Hover" (on by default): keep the front card's overlay
   hidden until it's hovered. */
.el-stack-cards-gallery__wrapper[data-hover-only="on"] .el-stack-cards-gallery-item:first-child .el-stack-cards-gallery-item__overlay{
	opacity: 0;
}
.el-stack-cards-gallery__wrapper[data-hover-only="on"] .el-stack-cards-gallery-item:first-child:hover .el-stack-cards-gallery-item__overlay{
	opacity: 1;
}
.el-stack-cards-gallery-item__overlay-icon{
	display: block;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 8px;
}
.el-stack-cards-gallery-item__title{
	margin: 0 0 8px;
}
.el-stack-cards-gallery-item__caption{
	margin: 0;
}
/* Bridges the Text group's Light/Dark setting (et_pb_bg_layout_* class from
   module_classnames) to our own markup — Divi core only wires that class to
   its own generic elements, not custom module markup. */
.et_pb_bg_layout_dark .el-stack-cards-gallery-item__title,
.et_pb_bg_layout_dark .el-stack-cards-gallery-item__caption{
	color: #ffffff;
}
.et_pb_bg_layout_light .el-stack-cards-gallery-item__title,
.et_pb_bg_layout_light .el-stack-cards-gallery-item__caption{
	color: #000000;
}

/* Lightbox. */
.el_stack_cards_gallery_lightbox .mfp-img{
	padding: 0;
}
.el_stack_cards_gallery_lightbox .mfp-figure:after{
	display: none;
}
.el_stack_cards_gallery_lightbox .mfp-bottom-bar{
	position: absolute;
	padding: 10px;
	color: #ffffff;
	top: auto;
	bottom: 0;
	margin-top: 0;
}
.el_stack_cards_gallery_lightbox .mfp-title{
	padding-right: 0;
}
.el_stack_cards_gallery_lightbox .mfp-close,
.el_stack_cards_gallery_lightbox .mfp-arrow{
	opacity: 1;
}

/* Lightbox - Zoom Effect. */
.el_stack_cards_gallery_lightbox.dge_mfp_zoom .mfp-container,
.el_stack_cards_gallery_lightbox.dge_mfp_zoom.mfp-bg{
	opacity: 0;
	backface-visibility: hidden;
	transition: all 300ms ease-out;
}
.el_stack_cards_gallery_lightbox.dge_mfp_zoom.mfp-ready.mfp-bg{
	opacity: 0.8;
}
.el_stack_cards_gallery_lightbox.dge_mfp_zoom.mfp-ready .mfp-container{
	opacity: 1;
}
.el_stack_cards_gallery_lightbox.dge_mfp_zoom.mfp-removing .mfp-container,
.el_stack_cards_gallery_lightbox.dge_mfp_zoom.mfp-removing.mfp-bg{
	opacity: 0;
}

/* Lightbox - Fade Effect. */
.el_stack_cards_gallery_lightbox.dge_mfp_fade .mfp-container,
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-bg{
	opacity: 0;
	transition: all 300ms ease-out;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-bg.mfp-ready{
	opacity: 0.8;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-ready .mfp-container{
	opacity: 1;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-bg.mfp-removing{
	opacity: 0;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-wrap .mfp-content{
	opacity: 0;
	transition: all 300ms ease-out;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-wrap.mfp-ready .mfp-content{
	opacity: 1;
}
.el_stack_cards_gallery_lightbox.dge_mfp_fade.mfp-wrap.mfp-removing .mfp-content{
	opacity: 0;
}
