/**
 * Page-builder CSS specificity fix (Divi + Elementor).
 *
 * Some themes/builders (Divi's own theme CSS in particular) use long,
 * deeply-nested selector chains for their list/image resets, which beat
 * this plugin's simple class-based rules — and that theme-level CSS can
 * still apply even when a page's content was built with Elementor rather
 * than Divi's own builder. These rules re-assert the modern-engine styling
 * under each builder's own wrapper classes (plus Divi's theme-reset-beating
 * chain) with matching or higher specificity. Enqueued whenever Divi is
 * detected active (see wprpgpro_register_divi_fix_style()) and whenever an
 * Elementor widget actually renders (see both Elementor widget classes).
 *
 * Derived from the plugin's own modern-engine stylesheets (slider, masonry,
 * lightbox), with properties that are set via inline style or JS (widths,
 * heights tied to settings, opacity, JS-toggled display, transition
 * durations tied to the Transition Speed setting) deliberately excluded or
 * split out — an !important rule here would otherwise override those and
 * ignore the user's actual settings.
 */

/*
 * Elementor's atomic/flexbox containers (e-con / e-flexbox) don't stretch a
 * widget to fill available row space unless "Grow" is enabled in that
 * widget's own Layout settings — and even then, a CSS Grid child with
 * repeat(auto-fill, minmax(...)) columns has a min-content size of just ONE
 * column, which can force the whole flex item to stay that narrow regardless
 * of how much space is actually available. min-width: 0 here removes that
 * artificial floor so the widget can actually use the space Elementor's
 * "Grow" setting gives it. This alone won't stretch a widget that has
 * "Grow" left off — that's controlled in Elementor's widget Layout panel.
 */
/*
 * Elementor's atomic/flexbox containers (e-con / e-flexbox) don't stretch a
 * widget to fill available row space unless "Grow" is enabled for that
 * widget — and that control isn't consistently exposed across Elementor
 * versions/UIs. Rather than depend on finding it, force these two widgets
 * (which are virtually always meant to fill their own section) to grow on
 * their own. If you ever place one of these widgets side-by-side with other
 * widgets in the same flex row and want it to stay narrower than its
 * siblings, remove this rule (or override flex-grow back to 0 for that
 * specific widget instance via Elementor's custom CSS).
 */
/*
 * Elementor's atomic/flexbox containers (e-con / e-flexbox) don't stretch a
 * widget to fill available row space unless "Grow" is enabled for that
 * widget — and that control isn't consistently exposed across Elementor
 * versions/UIs. Rather than depend on finding it, force the widget to grow
 * on its own — targeted via :has() so this applies whether the gallery was
 * placed with the plugin's own widget OR pasted as a shortcode into
 * Elementor's generic Shortcode/HTML/Text widget (both share the base
 * .elementor-widget class; only their specific -type class differs, and a
 * generic shortcode widget could contain anything, so targeting by content
 * with :has() is more reliable than guessing every possible wrapper class).
 * If you ever place one of these widgets side-by-side with other widgets in
 * the same flex row and want it to stay narrower than its siblings, remove
 * this rule (or override flex-grow back to 0 for that specific widget
 * instance via Elementor's custom CSS).
 */
.elementor-widget-wprpgpro-masonry-tiled-gallery,
.elementor-widget-wprpgpro-photo-gallery-slideshow,
.elementor-widget:has(.rjg-mgrid-app),
.elementor-widget:has(.rjg-mslider) {
	min-width: 0 !important;
	flex-grow: 1 !important;
	flex-basis: 0% !important;
}

/* ---------- from css/rjg-modern-slider.css ---------- */

.et_pb_module .rjg-mslider,
.et-db #et-boc .et-l .rjg-mslider,
.elementor-widget-container .rjg-mslider,
.elementor-element .rjg-mslider {
	position: relative !important;
	width: 100% !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
	background: #222 !important;
	border: 1px solid #ccc !important;
	padding: 0 0 4px !important;
	display: flex !important;
	flex-direction: column !important;
}

.et_pb_module .rjg-mslider *,
.et-db #et-boc .et-l .rjg-mslider *,
.et_pb_module .rjg-mslider *::before,
.et-db #et-boc .et-l .rjg-mslider *::before,
.et_pb_module .rjg-mslider *::after,
.et-db #et-boc .et-l .rjg-mslider *::after,
.elementor-widget-container .rjg-mslider *,
.elementor-element .rjg-mslider *,
.elementor-widget-container .rjg-mslider *::before,
.elementor-element .rjg-mslider *::before,
.elementor-widget-container .rjg-mslider *::after,
.elementor-element .rjg-mslider *::after {
	box-sizing: border-box !important;
}

.et_pb_module .rjg-mslider-stage,
.et-db #et-boc .et-l .rjg-mslider-stage,
.elementor-widget-container .rjg-mslider-stage,
.elementor-element .rjg-mslider-stage {
	position: relative !important;
	width: 100% !important;
	overflow: hidden !important;
	background: #222 !important;
	order: 1 !important;
}

.et_pb_module .rjg-mslider.rjg-filmstrip-top .rjg-mslider-stage,
.et-db #et-boc .et-l .rjg-mslider.rjg-filmstrip-top .rjg-mslider-stage,
.elementor-widget-container .rjg-mslider.rjg-filmstrip-top .rjg-mslider-stage,
.elementor-element .rjg-mslider.rjg-filmstrip-top .rjg-mslider-stage {
	order: 2 !important;
}

.et_pb_module .rjg-mslider.rjg-filmstrip-top .rjg-mslider-filmstrip-wrap,
.et-db #et-boc .et-l .rjg-mslider.rjg-filmstrip-top .rjg-mslider-filmstrip-wrap,
.elementor-widget-container .rjg-mslider.rjg-filmstrip-top .rjg-mslider-filmstrip-wrap,
.elementor-element .rjg-mslider.rjg-filmstrip-top .rjg-mslider-filmstrip-wrap {
	order: 1 !important;
}

.et_pb_module .rjg-mslider-slide,
.et-db #et-boc .et-l .rjg-mslider-slide,
.elementor-widget-container .rjg-mslider-slide,
.elementor-element .rjg-mslider-slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	visibility: hidden !important;
	/* transition-duration intentionally omitted: set inline per the
	   Transition Speed setting (slide.style.transitionDuration) — the
	   shorthand "transition" property would reset it via !important. */
	transition-property: opacity !important;
	transition-timing-function: ease-in-out !important;
	display: block !important;
}

.et_pb_module .rjg-mslider-slide.is-active,
.et-db #et-boc .et-l .rjg-mslider-slide.is-active,
.elementor-widget-container .rjg-mslider-slide.is-active,
.elementor-element .rjg-mslider-slide.is-active {
	opacity: 1 !important;
	visibility: visible !important;
	position: relative !important;
	z-index: 1 !important;
}

.et_pb_module .rjg-mslider-slide a,
.et-db #et-boc .et-l .rjg-mslider-slide a,
.et_pb_module .rjg-mslider-slide span,
.et-db #et-boc .et-l .rjg-mslider-slide span,
.elementor-widget-container .rjg-mslider-slide a,
.elementor-element .rjg-mslider-slide a,
.elementor-widget-container .rjg-mslider-slide span,
.elementor-element .rjg-mslider-slide span {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.et_pb_module .rjg-mslider-slide img,
.et-db #et-boc .et-l .rjg-mslider-slide img,
.elementor-widget-container .rjg-mslider-slide img,
.elementor-element .rjg-mslider-slide img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.et_pb_module .rjg-mslider-slide.rjg-scale-crop img,
.et-db #et-boc .et-l .rjg-mslider-slide.rjg-scale-crop img,
.elementor-widget-container .rjg-mslider-slide.rjg-scale-crop img,
.elementor-element .rjg-mslider-slide.rjg-scale-crop img {
	object-fit: cover !important;
}

.et_pb_module .rjg-mslider-slide.rjg-scale-fit img,
.et-db #et-boc .et-l .rjg-mslider-slide.rjg-scale-fit img,
.elementor-widget-container .rjg-mslider-slide.rjg-scale-fit img,
.elementor-element .rjg-mslider-slide.rjg-scale-fit img {
	object-fit: contain !important;
	background: #222 !important;
}

.et_pb_module .rjg-mslider.rjg-anim-slide .rjg-mslider-slide,
.et-db #et-boc .et-l .rjg-mslider.rjg-anim-slide .rjg-mslider-slide,
.elementor-widget-container .rjg-mslider.rjg-anim-slide .rjg-mslider-slide,
.elementor-element .rjg-mslider.rjg-anim-slide .rjg-mslider-slide {
	opacity: 1 !important;
	visibility: visible !important;
	position: absolute !important;
	transform: translateX(100%) !important;
	transition-property: transform !important;
	transition-timing-function: ease-in-out !important;
}

.et_pb_module .rjg-mslider.rjg-anim-slide .rjg-mslider-slide.is-active,
.et-db #et-boc .et-l .rjg-mslider.rjg-anim-slide .rjg-mslider-slide.is-active,
.elementor-widget-container .rjg-mslider.rjg-anim-slide .rjg-mslider-slide.is-active,
.elementor-element .rjg-mslider.rjg-anim-slide .rjg-mslider-slide.is-active {
	position: relative !important;
	transform: translateX(0) !important;
}

.et_pb_module .rjg-mslider-caption,
.et-db #et-boc .et-l .rjg-mslider-caption,
.elementor-widget-container .rjg-mslider-caption,
.elementor-element .rjg-mslider-caption {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	padding: 8px 14px !important;
	background: rgba(0,0,0,0.55) !important;
	color: #fff !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	z-index: 2 !important;
}

.et_pb_module .rjg-mslider-caption.rjg-caption-top,
.et-db #et-boc .et-l .rjg-mslider-caption.rjg-caption-top,
.elementor-widget-container .rjg-mslider-caption.rjg-caption-top,
.elementor-element .rjg-mslider-caption.rjg-caption-top {
	top: 0 !important;
	bottom: auto !important;
}

.et_pb_module .rjg-mslider-infobar,
.et-db #et-boc .et-l .rjg-mslider-infobar,
.elementor-widget-container .rjg-mslider-infobar,
.elementor-element .rjg-mslider-infobar {
	position: absolute !important;
	bottom: 0 !important;
	right: 0 !important;
	background: #222 !important;
	padding: 0 0.5em !important;
	line-height: 1.5em !important;
	height: 1.5em !important;
	font-size: 10pt !important;
	font-weight: bold !important;
	color: #fff !important;
	z-index: 3 !important;
	display: none !important;
}

.et_pb_module .rjg-mslider-infobar.is-visible,
.et-db #et-boc .et-l .rjg-mslider-infobar.is-visible,
.elementor-widget-container .rjg-mslider-infobar.is-visible,
.elementor-element .rjg-mslider-infobar.is-visible {
	display: block !important;
}

.et_pb_module .rjg-mslider-nav,
.et-db #et-boc .et-l .rjg-mslider-nav,
.elementor-widget-container .rjg-mslider-nav,
.elementor-element .rjg-mslider-nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: rgba(0,0,0,0.45) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer !important;
	z-index: 3 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
}

.et_pb_module .rjg-mslider-nav:hover,
.et-db #et-boc .et-l .rjg-mslider-nav:hover,
.elementor-widget-container .rjg-mslider-nav:hover,
.elementor-element .rjg-mslider-nav:hover {
	background: rgba(0,0,0,0.7) !important;
}

.et_pb_module .rjg-mslider-nav.rjg-prev,
.et-db #et-boc .et-l .rjg-mslider-nav.rjg-prev,
.elementor-widget-container .rjg-mslider-nav.rjg-prev,
.elementor-element .rjg-mslider-nav.rjg-prev {
	left: 10px !important;
}

.et_pb_module .rjg-mslider-nav.rjg-next,
.et-db #et-boc .et-l .rjg-mslider-nav.rjg-next,
.elementor-widget-container .rjg-mslider-nav.rjg-next,
.elementor-element .rjg-mslider-nav.rjg-next {
	right: 10px !important;
}

.et_pb_module .rjg-mslider-filmstrip-wrap,
.et-db #et-boc .et-l .rjg-mslider-filmstrip-wrap,
.elementor-widget-container .rjg-mslider-filmstrip-wrap,
.elementor-element .rjg-mslider-filmstrip-wrap {
	position: relative !important;
	order: 2 !important;
	background: #222 !important;
}

.et_pb_module .rjg-mslider-filmstrip,
.et-db #et-boc .et-l .rjg-mslider-filmstrip,
.elementor-widget-container .rjg-mslider-filmstrip,
.elementor-element .rjg-mslider-filmstrip {
	display: flex !important;
	gap: var(--rjg-frame-gap, 6px) !important;
	margin: 0 !important;
	padding: 4px 4px 0 !important;
	overflow-x: auto !important;
	background: #222 !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

.et_pb_module .rjg-mslider-filmstrip::-webkit-scrollbar,
.et-db #et-boc .et-l .rjg-mslider-filmstrip::-webkit-scrollbar,
.elementor-widget-container .rjg-mslider-filmstrip::-webkit-scrollbar,
.elementor-element .rjg-mslider-filmstrip::-webkit-scrollbar {
	display: none !important;
}

.et_pb_module .rjg-mslider-filmstrip.rjg-has-nav,
.et-db #et-boc .et-l .rjg-mslider-filmstrip.rjg-has-nav,
.elementor-widget-container .rjg-mslider-filmstrip.rjg-has-nav,
.elementor-element .rjg-mslider-filmstrip.rjg-has-nav {
	padding-left: 26px !important;
	padding-right: 26px !important;
}

.et_pb_module .rjg-mslider-filmstrip-nav,
.et-db #et-boc .et-l .rjg-mslider-filmstrip-nav,
.elementor-widget-container .rjg-mslider-filmstrip-nav,
.elementor-element .rjg-mslider-filmstrip-nav {
	position: absolute !important;
	top: 4px !important;
	bottom: 4px !important;
	width: 22px !important;
	background: rgba(0,0,0,0.45) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer !important;
	z-index: 3 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	line-height: 1 !important;
	padding: 0 !important;
	transition: background 0.2s ease !important;
}

.et_pb_module .rjg-mslider-filmstrip-nav:hover,
.et-db #et-boc .et-l .rjg-mslider-filmstrip-nav:hover,
.elementor-widget-container .rjg-mslider-filmstrip-nav:hover,
.elementor-element .rjg-mslider-filmstrip-nav:hover {
	background: rgba(0,0,0,0.7) !important;
}

.et_pb_module .rjg-mslider-filmstrip-nav.rjg-fprev,
.et-db #et-boc .et-l .rjg-mslider-filmstrip-nav.rjg-fprev,
.elementor-widget-container .rjg-mslider-filmstrip-nav.rjg-fprev,
.elementor-element .rjg-mslider-filmstrip-nav.rjg-fprev {
	left: 0 !important;
}

.et_pb_module .rjg-mslider-filmstrip-nav.rjg-fnext,
.et-db #et-boc .et-l .rjg-mslider-filmstrip-nav.rjg-fnext,
.elementor-widget-container .rjg-mslider-filmstrip-nav.rjg-fnext,
.elementor-element .rjg-mslider-filmstrip-nav.rjg-fnext {
	right: 0 !important;
}

.et_pb_module .rjg-mslider-thumb-wrap,
.et-db #et-boc .et-l .rjg-mslider-thumb-wrap,
.elementor-widget-container .rjg-mslider-thumb-wrap,
.elementor-element .rjg-mslider-thumb-wrap {
	position: relative !important;
	flex: 0 0 auto !important;
}

.et_pb_module .rjg-mslider-filmstrip .rjg-mslider-thumb,
.et-db #et-boc .et-l .rjg-mslider-filmstrip .rjg-mslider-thumb,
.elementor-widget-container .rjg-mslider-filmstrip .rjg-mslider-thumb,
.elementor-element .rjg-mslider-filmstrip .rjg-mslider-thumb {
	cursor: pointer !important;
	opacity: var(--rjg-frame-opacity, 0.4) !important;
	transition: opacity 0.2s ease !important;
	border: 2px solid transparent !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	display: block !important;
	padding: 0 !important;
	background: none !important;
}

.et_pb_module .rjg-mslider-filmstrip .rjg-mslider-thumb img,
.et-db #et-boc .et-l .rjg-mslider-filmstrip .rjg-mslider-thumb img,
.elementor-widget-container .rjg-mslider-filmstrip .rjg-mslider-thumb img,
.elementor-element .rjg-mslider-filmstrip .rjg-mslider-thumb img {
	display: block !important;
}

.et_pb_module .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-crop img,
.et-db #et-boc .et-l .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-crop img,
.elementor-widget-container .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-crop img,
.elementor-element .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-crop img {
	object-fit: cover !important;
}

.et_pb_module .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-fit img,
.et-db #et-boc .et-l .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-fit img,
.elementor-widget-container .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-fit img,
.elementor-element .rjg-mslider-filmstrip .rjg-mslider-thumb.rjg-thumb-fit img {
	object-fit: contain !important;
	background: #222 !important;
}

.et_pb_module .rjg-mslider-filmstrip .rjg-mslider-thumb.is-active,
.et-db #et-boc .et-l .rjg-mslider-filmstrip .rjg-mslider-thumb.is-active,
.elementor-widget-container .rjg-mslider-filmstrip .rjg-mslider-thumb.is-active,
.elementor-element .rjg-mslider-filmstrip .rjg-mslider-thumb.is-active {
	opacity: 1 !important;
	border-color: #000 !important;
}

.et_pb_module .rjg-mslider-thumb-caption,
.et-db #et-boc .et-l .rjg-mslider-thumb-caption,
.elementor-widget-container .rjg-mslider-thumb-caption,
.elementor-element .rjg-mslider-thumb-caption {
	font-size: 10px !important;
	line-height: 1.3 !important;
	color: #ddd !important;
	text-align: center !important;
	padding: 2px 2px 0 !important;
	/* max-width intentionally omitted: set inline per the Frame Width setting
	   (style="max-width:<frame_width>px") — an !important rule here would
	   override that inline value and ignore the user's setting. */
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.et_pb_module .rjg-mslider-stage:focus-visible,
.et-db #et-boc .et-l .rjg-mslider-stage:focus-visible,
.elementor-widget-container .rjg-mslider-stage:focus-visible,
.elementor-element .rjg-mslider-stage:focus-visible {
	outline: 2px solid #2271b1 !important;
	outline-offset: -2px !important;
}

/* ---------- from css/rjg-modern-masonry.css ---------- */

.et_pb_module .rjg-mgrid-app,
.et-db #et-boc .et-l .rjg-mgrid-app,
.elementor-widget-container .rjg-mgrid-app,
.elementor-element .rjg-mgrid-app {
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.et_pb_module .rjg-mgrid-app *,
.et-db #et-boc .et-l .rjg-mgrid-app *,
.et_pb_module .rjg-mgrid-app *::before,
.et-db #et-boc .et-l .rjg-mgrid-app *::before,
.et_pb_module .rjg-mgrid-app *::after,
.et-db #et-boc .et-l .rjg-mgrid-app *::after,
.elementor-widget-container .rjg-mgrid-app *,
.elementor-element .rjg-mgrid-app *,
.elementor-widget-container .rjg-mgrid-app *::before,
.elementor-element .rjg-mgrid-app *::before,
.elementor-widget-container .rjg-mgrid-app *::after,
.elementor-element .rjg-mgrid-app *::after {
	box-sizing: border-box !important;
}

.et_pb_module .rjg-mgrid,
.et-db #et-boc .et-l .rjg-mgrid,
.elementor-widget-container .rjg-mgrid,
.elementor-element .rjg-mgrid {
	position: relative !important;
	width: 100% !important;
}

.et_pb_module .rjg-mgrid-item-wrap,
.et-db #et-boc .et-l .rjg-mgrid-item-wrap,
.elementor-widget-container .rjg-mgrid-item-wrap,
.elementor-element .rjg-mgrid-item-wrap {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}

.et_pb_module .rjg-mgrid.rjg-mgrid-row-mode,
.et-db #et-boc .et-l .rjg-mgrid.rjg-mgrid-row-mode,
.elementor-widget-container .rjg-mgrid.rjg-mgrid-row-mode,
.elementor-element .rjg-mgrid.rjg-mgrid-row-mode {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	gap: var(--rjg-gap, 8px) !important;
	height: auto !important;
}

.et_pb_module .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item-wrap,
.et-db #et-boc .et-l .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item-wrap,
.elementor-widget-container .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item-wrap,
.elementor-element .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item-wrap {
	position: static !important;
	flex: 1 1 var(--rjg-col-width, 220px) !important;
	margin-bottom: 0 !important;
	height: var(--rjg-col-width, 220px) !important;
	width: auto !important;
}

.et_pb_module .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item,
.et-db #et-boc .et-l .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item,
.et_pb_module .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox,
.et-db #et-boc .et-l .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox,
.elementor-widget-container .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item,
.elementor-element .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-item,
.elementor-widget-container .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox,
.elementor-element .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox {
	height: 100% !important;
}

.et_pb_module .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox img,
.et-db #et-boc .et-l .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox img,
.elementor-widget-container .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox img,
.elementor-element .rjg-mgrid.rjg-mgrid-row-mode .rjg-mgrid-imgbox img {
	height: 100% !important;
	object-fit: cover !important;
}

.et_pb_module .rjg-mgrid-item-wrap,
.et-db #et-boc .et-l .rjg-mgrid-item-wrap,
.elementor-widget-container .rjg-mgrid-item-wrap,
.elementor-element .rjg-mgrid-item-wrap {
	overflow: hidden !important;
}

.et_pb_module .rjg-mgrid-item,
.et-db #et-boc .et-l .rjg-mgrid-item,
.elementor-widget-container .rjg-mgrid-item,
.elementor-element .rjg-mgrid-item {
	display: block !important;
	position: relative !important;
	overflow: hidden !important;
	background: #f0f0f3 !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.et_pb_module .rjg-mgrid-imgbox,
.et-db #et-boc .et-l .rjg-mgrid-imgbox,
.elementor-widget-container .rjg-mgrid-imgbox,
.elementor-element .rjg-mgrid-imgbox {
	display: block !important;
	position: relative !important;
	line-height: 0 !important;
	overflow: hidden !important;
}

.et_pb_module .rjg-mgrid-imgbox img,
.et-db #et-boc .et-l .rjg-mgrid-imgbox img,
.elementor-widget-container .rjg-mgrid-imgbox img,
.elementor-element .rjg-mgrid-imgbox img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	border: 0 !important;
	margin: 0 !important;
	transition: transform .4s ease !important;
}

.et_pb_module .rjg-mgrid-item:hover .rjg-mgrid-imgbox img,
.et-db #et-boc .et-l .rjg-mgrid-item:hover .rjg-mgrid-imgbox img,
.elementor-widget-container .rjg-mgrid-item:hover .rjg-mgrid-imgbox img,
.elementor-element .rjg-mgrid-item:hover .rjg-mgrid-imgbox img {
	transform: scale(1.06) !important;
}

.et_pb_module .rjg-mgrid-imgbox::after,
.et-db #et-boc .et-l .rjg-mgrid-imgbox::after,
.elementor-widget-container .rjg-mgrid-imgbox::after,
.elementor-element .rjg-mgrid-imgbox::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0,0,0,0) !important;
	transition: background .3s ease !important;
	pointer-events: none !important;
}

.et_pb_module .rjg-mgrid-item:hover .rjg-mgrid-imgbox::after,
.et-db #et-boc .et-l .rjg-mgrid-item:hover .rjg-mgrid-imgbox::after,
.elementor-widget-container .rjg-mgrid-item:hover .rjg-mgrid-imgbox::after,
.elementor-element .rjg-mgrid-item:hover .rjg-mgrid-imgbox::after {
	background: rgba(0,0,0,.2) !important;
}

.et_pb_module .rjg-mgrid-playicon,
.et-db #et-boc .et-l .rjg-mgrid-playicon,
.elementor-widget-container .rjg-mgrid-playicon,
.elementor-element .rjg-mgrid-playicon {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 50px !important;
	height: 50px !important;
	margin: -25px 0 0 -25px !important;
	border-radius: 50% !important;
	background: rgba(0,0,0,.55) !important;
	z-index: 2 !important;
	opacity: 0 !important;
	transform: scale(0.85) !important;
	transition: opacity .25s ease, transform .25s ease, background .25s ease !important;
	pointer-events: none !important;
}

.et_pb_module .rjg-mgrid-item:hover .rjg-mgrid-playicon,
.et-db #et-boc .et-l .rjg-mgrid-item:hover .rjg-mgrid-playicon,
.elementor-widget-container .rjg-mgrid-item:hover .rjg-mgrid-playicon,
.elementor-element .rjg-mgrid-item:hover .rjg-mgrid-playicon {
	opacity: 1 !important;
	transform: scale(1) !important;
	background: rgba(0,0,0,.7) !important;
}

.et_pb_module .rjg-mgrid-playicon::after,
.et-db #et-boc .et-l .rjg-mgrid-playicon::after,
.elementor-widget-container .rjg-mgrid-playicon::after,
.elementor-element .rjg-mgrid-playicon::after {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 54% !important;
	transform: translate(-50%, -50%) !important;
	border-style: solid !important;
	border-width: 10px 0 10px 16px !important;
	border-color: transparent transparent transparent #fff !important;
}

.et_pb_module .rjg-mgrid-zoomicon,
.et-db #et-boc .et-l .rjg-mgrid-zoomicon,
.elementor-widget-container .rjg-mgrid-zoomicon,
.elementor-element .rjg-mgrid-zoomicon {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 44px !important;
	height: 44px !important;
	margin: -22px 0 0 -22px !important;
	border-radius: 50% !important;
	background: rgba(0,0,0,.55) !important;
	z-index: 2 !important;
	opacity: 0 !important;
	transform: scale(0.85) !important;
	transition: opacity .25s ease, transform .25s ease, background .25s ease !important;
	pointer-events: none !important;
}

.et_pb_module .rjg-mgrid-item:hover .rjg-mgrid-zoomicon,
.et-db #et-boc .et-l .rjg-mgrid-item:hover .rjg-mgrid-zoomicon,
.elementor-widget-container .rjg-mgrid-item:hover .rjg-mgrid-zoomicon,
.elementor-element .rjg-mgrid-item:hover .rjg-mgrid-zoomicon {
	opacity: 1 !important;
	transform: scale(1) !important;
	background: rgba(0,0,0,.7) !important;
}

.et_pb_module .rjg-mgrid-zoomicon::before,
.et-db #et-boc .et-l .rjg-mgrid-zoomicon::before,
.elementor-widget-container .rjg-mgrid-zoomicon::before,
.elementor-element .rjg-mgrid-zoomicon::before {
	content: "" !important;
	position: absolute !important;
	top: 13px !important;
	left: 13px !important;
	width: 14px !important;
	height: 14px !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
}

.et_pb_module .rjg-mgrid-zoomicon::after,
.et-db #et-boc .et-l .rjg-mgrid-zoomicon::after,
.elementor-widget-container .rjg-mgrid-zoomicon::after,
.elementor-element .rjg-mgrid-zoomicon::after {
	content: "" !important;
	position: absolute !important;
	top: 26px !important;
	left: 26px !important;
	width: 9px !important;
	height: 2px !important;
	background: #fff !important;
	transform: rotate(45deg) !important;
	transform-origin: 0 0 !important;
}

.et_pb_module .rjg-mgrid-caption,
.et-db #et-boc .et-l .rjg-mgrid-caption,
.elementor-widget-container .rjg-mgrid-caption,
.elementor-element .rjg-mgrid-caption {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 2 !important;
	padding: 10px 10px 8px !important;
	font-size: 13px !important;
	color: #fff !important;
	background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0)) !important;
	transform: translateY(100%) !important;
	opacity: 0 !important;
	transition: transform .3s ease, opacity .3s ease !important;
}

.et_pb_module .rjg-mgrid-item:hover .rjg-mgrid-caption,
.et-db #et-boc .et-l .rjg-mgrid-item:hover .rjg-mgrid-caption,
.elementor-widget-container .rjg-mgrid-item:hover .rjg-mgrid-caption,
.elementor-element .rjg-mgrid-item:hover .rjg-mgrid-caption {
	transform: translateY(0) !important;
	opacity: 1 !important;
}

@media (hover: none) {
.et_pb_module .rjg-mgrid-caption,
.et-db #et-boc .et-l .rjg-mgrid-caption,
.elementor-widget-container .rjg-mgrid-caption,
.elementor-element .rjg-mgrid-caption {
	transform: translateY(0) !important;
	opacity: 1 !important;
}



}

.et_pb_module .rjg-mgrid-app .rjg-mgrid,
.et-db #et-boc .et-l .rjg-mgrid-app .rjg-mgrid,
.elementor-widget-container .rjg-mgrid-app .rjg-mgrid,
.elementor-element .rjg-mgrid-app .rjg-mgrid {
	visibility: hidden !important;
}

.et_pb_module .rjg-mgrid-app.rjg-mgrid-ready .rjg-mgrid,
.et-db #et-boc .et-l .rjg-mgrid-app.rjg-mgrid-ready .rjg-mgrid,
.elementor-widget-container .rjg-mgrid-app.rjg-mgrid-ready .rjg-mgrid,
.elementor-element .rjg-mgrid-app.rjg-mgrid-ready .rjg-mgrid {
	visibility: visible !important;
}

.et_pb_module .rjg-mgrid-pagination.page-numbers,
.et-db #et-boc .et-l .rjg-mgrid-pagination.page-numbers,
.et_pb_module .rjg-mgrid-pagination ul.page-numbers,
.et-db #et-boc .et-l .rjg-mgrid-pagination ul.page-numbers,
.elementor-widget-container .rjg-mgrid-pagination.page-numbers,
.elementor-element .rjg-mgrid-pagination.page-numbers,
.elementor-widget-container .rjg-mgrid-pagination ul.page-numbers,
.elementor-element .rjg-mgrid-pagination ul.page-numbers {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	list-style: none !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
}

.et_pb_module .rjg-mgrid-pagination .page-numbers li,
.et-db #et-boc .et-l .rjg-mgrid-pagination .page-numbers li,
.elementor-widget-container .rjg-mgrid-pagination .page-numbers li,
.elementor-element .rjg-mgrid-pagination .page-numbers li {
	list-style: none !important;
}

.et_pb_module .rjg-mgrid-pagination .page-numbers a,
.et-db #et-boc .et-l .rjg-mgrid-pagination .page-numbers a,
.et_pb_module .rjg-mgrid-pagination .page-numbers span,
.et-db #et-boc .et-l .rjg-mgrid-pagination .page-numbers span,
.elementor-widget-container .rjg-mgrid-pagination .page-numbers a,
.elementor-element .rjg-mgrid-pagination .page-numbers a,
.elementor-widget-container .rjg-mgrid-pagination .page-numbers span,
.elementor-element .rjg-mgrid-pagination .page-numbers span {
	display: inline-block !important;
	min-width: 34px !important;
	text-align: center !important;
	padding: 6px 10px !important;
	border: 1px solid #dcdcde !important;
	border-radius: 4px !important;
	color: #444 !important;
	text-decoration: none !important;
	font-size: 13px !important;
}

.et_pb_module .rjg-mgrid-pagination .page-numbers a:hover,
.et-db #et-boc .et-l .rjg-mgrid-pagination .page-numbers a:hover,
.elementor-widget-container .rjg-mgrid-pagination .page-numbers a:hover,
.elementor-element .rjg-mgrid-pagination .page-numbers a:hover {
	border-color: #999 !important;
	background: #f7f7f7 !important;
}

.et_pb_module .rjg-mgrid-pagination .page-numbers span.current,
.et-db #et-boc .et-l .rjg-mgrid-pagination .page-numbers span.current,
.elementor-widget-container .rjg-mgrid-pagination .page-numbers span.current,
.elementor-element .rjg-mgrid-pagination .page-numbers span.current {
	background: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
}

/* ---------- from css/rjg-modern-lightbox.css ---------- */

.et_pb_module .rjg-lb-overlay,
.et-db #et-boc .et-l .rjg-lb-overlay,
.elementor-widget-container .rjg-lb-overlay,
.elementor-element .rjg-lb-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0,0,0,0.9) !important;
	z-index: 100000 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 40px 20px !important;
	box-sizing: border-box !important;
}

.et_pb_module .rjg-lb-overlay.is-open,
.et-db #et-boc .et-l .rjg-lb-overlay.is-open,
.elementor-widget-container .rjg-lb-overlay.is-open,
.elementor-element .rjg-lb-overlay.is-open {
	display: flex !important;
}

.et_pb_module .rjg-lb-overlay *,
.et-db #et-boc .et-l .rjg-lb-overlay *,
.et_pb_module .rjg-lb-overlay *::before,
.et-db #et-boc .et-l .rjg-lb-overlay *::before,
.et_pb_module .rjg-lb-overlay *::after,
.et-db #et-boc .et-l .rjg-lb-overlay *::after,
.elementor-widget-container .rjg-lb-overlay *,
.elementor-element .rjg-lb-overlay *,
.elementor-widget-container .rjg-lb-overlay *::before,
.elementor-element .rjg-lb-overlay *::before,
.elementor-widget-container .rjg-lb-overlay *::after,
.elementor-element .rjg-lb-overlay *::after {
	box-sizing: border-box !important;
}

.et_pb_module .rjg-lb-stage,
.et-db #et-boc .et-l .rjg-lb-stage,
.elementor-widget-container .rjg-lb-stage,
.elementor-element .rjg-lb-stage {
	position: relative !important;
	max-width: 92vw !important;
	max-height: 86vh !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.et_pb_module .rjg-lb-media,
.et-db #et-boc .et-l .rjg-lb-media,
.elementor-widget-container .rjg-lb-media,
.elementor-element .rjg-lb-media {
	max-width: 92vw !important;
	max-height: 86vh !important;
	display: block !important;
	background: #000 !important;
}

.et_pb_module img.rjg-lb-media,
.et-db #et-boc .et-l img.rjg-lb-media,
.elementor-widget-container img.rjg-lb-media,
.elementor-element img.rjg-lb-media {
	width: auto !important;
	height: auto !important;
	max-width: 92vw !important;
	max-height: 86vh !important;
	object-fit: contain !important;
}

.et_pb_module iframe.rjg-lb-media,
.et-db #et-boc .et-l iframe.rjg-lb-media,
.elementor-widget-container iframe.rjg-lb-media,
.elementor-element iframe.rjg-lb-media {
	width: min(92vw, 960px) !important;
	height: min(86vh, 540px) !important;
	border: 0 !important;
}

.et_pb_module video.rjg-lb-media,
.et-db #et-boc .et-l video.rjg-lb-media,
.elementor-widget-container video.rjg-lb-media,
.elementor-element video.rjg-lb-media {
	width: min(92vw, 960px) !important;
	max-height: 86vh !important;
	background: #000 !important;
}

.et_pb_module .rjg-lb-caption,
.et-db #et-boc .et-l .rjg-lb-caption,
.elementor-widget-container .rjg-lb-caption,
.elementor-element .rjg-lb-caption {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: -34px !important;
	text-align: center !important;
	color: #eee !important;
	font-size: 14px !important;
	padding: 6px 10px !important;
}

.et_pb_module .rjg-lb-caption .rjg-lb-title-link,
.et-db #et-boc .et-l .rjg-lb-caption .rjg-lb-title-link,
.elementor-widget-container .rjg-lb-caption .rjg-lb-title-link,
.elementor-element .rjg-lb-caption .rjg-lb-title-link {
	color: #fff !important;
	text-decoration: underline !important;
}

.et_pb_module .rjg-lb-caption .rjg-lb-desc,
.et-db #et-boc .et-l .rjg-lb-caption .rjg-lb-desc,
.elementor-widget-container .rjg-lb-caption .rjg-lb-desc,
.elementor-element .rjg-lb-caption .rjg-lb-desc {
	margin-top: 4px !important;
	font-size: 12px !important;
	color: #ccc !important;
	max-width: 640px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.et_pb_module .rjg-lb-close,
.et-db #et-boc .et-l .rjg-lb-close,
.elementor-widget-container .rjg-lb-close,
.elementor-element .rjg-lb-close {
	position: fixed !important;
	background: rgba(255,255,255,0.08) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer !important;
	z-index: 100001 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition-property: background !important;
	transition-duration: 0.2s !important;
	transition-timing-function: ease !important;
}

/* .rjg-lb-prev / .rjg-lb-next: display intentionally omitted here — the
   lightbox JS toggles it between 'flex' and 'none' via inline style
   depending on whether the gallery has more than one item, and an
   !important display here would force the arrows to always show. */
.et_pb_module .rjg-lb-prev,
.et-db #et-boc .et-l .rjg-lb-prev,
.et_pb_module .rjg-lb-next,
.et-db #et-boc .et-l .rjg-lb-next,
.elementor-widget-container .rjg-lb-prev,
.elementor-element .rjg-lb-prev,
.elementor-widget-container .rjg-lb-next,
.elementor-element .rjg-lb-next {
	position: fixed !important;
	background: rgba(255,255,255,0.08) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer !important;
	z-index: 100001 !important;
	align-items: center !important;
	justify-content: center !important;
	transition-property: background !important;
	transition-duration: 0.2s !important;
	transition-timing-function: ease !important;
}

.et_pb_module .rjg-lb-close:hover,
.et-db #et-boc .et-l .rjg-lb-close:hover,
.et_pb_module .rjg-lb-prev:hover,
.et-db #et-boc .et-l .rjg-lb-prev:hover,
.et_pb_module .rjg-lb-next:hover,
.et-db #et-boc .et-l .rjg-lb-next:hover,
.elementor-widget-container .rjg-lb-close:hover,
.elementor-element .rjg-lb-close:hover,
.elementor-widget-container .rjg-lb-prev:hover,
.elementor-element .rjg-lb-prev:hover,
.elementor-widget-container .rjg-lb-next:hover,
.elementor-element .rjg-lb-next:hover {
	background: rgba(255,255,255,0.2) !important;
}

.et_pb_module .rjg-lb-close,
.et-db #et-boc .et-l .rjg-lb-close,
.elementor-widget-container .rjg-lb-close,
.elementor-element .rjg-lb-close {
	top: 16px !important;
	right: 16px !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	font-size: 22px !important;
	line-height: 1 !important;
}

.et_pb_module .rjg-lb-prev,
.et-db #et-boc .et-l .rjg-lb-prev,
.et_pb_module .rjg-lb-next,
.et-db #et-boc .et-l .rjg-lb-next,
.elementor-widget-container .rjg-lb-prev,
.elementor-element .rjg-lb-prev,
.elementor-widget-container .rjg-lb-next,
.elementor-element .rjg-lb-next {
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 50% !important;
	font-size: 22px !important;
}

.et_pb_module .rjg-lb-prev,
.et-db #et-boc .et-l .rjg-lb-prev,
.elementor-widget-container .rjg-lb-prev,
.elementor-element .rjg-lb-prev {
	left: 16px !important;
}

.et_pb_module .rjg-lb-next,
.et-db #et-boc .et-l .rjg-lb-next,
.elementor-widget-container .rjg-lb-next,
.elementor-element .rjg-lb-next {
	right: 16px !important;
}

.et_pb_module .rjg-lb-loading,
.et-db #et-boc .et-l .rjg-lb-loading,
.elementor-widget-container .rjg-lb-loading,
.elementor-element .rjg-lb-loading {
	position: absolute !important;
	width: 32px !important;
	height: 32px !important;
	border: 3px solid rgba(255,255,255,0.25) !important;
	border-top-color: #fff !important;
	border-radius: 50% !important;
	animation: rjg-lb-spin 0.8s linear infinite !important;
}

@media (max-width: 640px) {
.et_pb_module .rjg-lb-prev,
.et-db #et-boc .et-l .rjg-lb-prev,
.et_pb_module .rjg-lb-next,
.et-db #et-boc .et-l .rjg-lb-next,
.elementor-widget-container .rjg-lb-prev,
.elementor-element .rjg-lb-prev,
.elementor-widget-container .rjg-lb-next,
.elementor-element .rjg-lb-next {
	width: 38px !important;
	height: 38px !important;
	font-size: 18px !important;
}

.et_pb_module .rjg-lb-close,
.et-db #et-boc .et-l .rjg-lb-close,
.elementor-widget-container .rjg-lb-close,
.elementor-element .rjg-lb-close {
	width: 34px !important;
	height: 34px !important;
	font-size: 18px !important;
}



}