/* Wayback Fixer auto-supplement */
/* Elementor entrance-animation elements keep visibility:hidden until frontend JS
   fires; without it (no per-page post-NNNN.css) content stays invisible. Force on. */
.elementor-invisible{opacity:1 !important;visibility:visible !important;animation:none !important;}
.elementor img,.elementor-widget-container img{max-width:100%;height:auto;}

/* Elementor gallery: frontend JS lays out the grid + sets background-image from
   data-thumbnail. Without it the .e-gallery-image divs collapse to 0px and the
   page looks empty. Force a static responsive grid + sized tiles (bg set inline). */
.elementor-gallery__container{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;}
@media (max-width:1024px){.elementor-gallery__container{grid-template-columns:repeat(2,1fr);}}
@media (max-width:767px){.elementor-gallery__container{grid-template-columns:1fr;}}
.elementor-gallery__container > a{position:relative;display:block;}
.e-gallery-image.elementor-gallery-item__image{width:100%;aspect-ratio:1/1;min-height:220px;background-size:cover;background-position:center;background-repeat:no-repeat;}

/* Homepage video banner (d3a5d8a): Elementor JS injects <video src> from settings.
   Without a working remote video the empty container covers the CSS fallback image
   (DJI_0984.jpg) and the section renders as a blank grey strip. Prefer the still. */
.elementor-element-d3a5d8a .elementor-background-video-container{
	display:none !important;
}
.elementor-element-d3a5d8a{
	background-image:url("/wp-content/uploads/2021/04/DJI_0984.jpg") !important;
	background-position:center center !important;
	background-size:cover !important;
	background-repeat:no-repeat !important;
}

/* GALLERY strip: missing bg left a flat grey bar; enforce cover fill. */
.elementor-element-bbdd3f8{
	background-image:url("/wp-content/uploads/2021/04/DJI_0962.jpg") !important;
	background-position:center center !important;
	background-size:cover !important;
	background-repeat:no-repeat !important;
}

/* Elementor posts cards: frontend JS adds .elementor-has-item-ratio which absolutely
   positions thumbs inside the padding-bottom aspect box. Without it the image sits
   at natural height on top of a huge empty grey block (padding-bottom still applied
   via post-NNNN.css), and the avatar floats in the wrong place. */
.elementor-posts-container .elementor-post__thumbnail{
	position:relative !important;
	overflow:hidden !important;
}
.elementor-posts-container .elementor-post__thumbnail img{
	position:absolute !important;
	inset:0 !important;
	top:0 !important;
	left:0 !important;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	max-height:none !important;
	object-fit:cover !important;
	transform:none !important;
	display:block !important;
}
.elementor-posts .elementor-post__card .elementor-post__thumbnail__link{
	display:block;
	position:relative;
}
/* Cards without a computed padding-bottom still need a sensible ratio. */
.elementor-posts--skin-cards .elementor-post__thumbnail:not([style*="padding-bottom"]){
	aspect-ratio:3/2;
	min-height:180px;
}

/* Partnership logo slider: keep logos visible in a grid if Slick never inits. */
.wpls-logo-showcase.wpls-logo-slider:not(.slick-initialized){
	display:grid !important;
	grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
	gap:24px;
	align-items:center;
	justify-items:center;
}
.wpls-logo-showcase.wpls-logo-slider:not(.slick-initialized) .wpls-logo-cnt,
.wpls-logo-showcase.wpls-logo-slider:not(.slick-initialized) .wpls-fix-box{
	width:100% !important;
	text-align:center;
}
.wpls-logo-showcase .wpls-fix-box img.wp-post-image{
	max-height:120px;
	width:auto;
	height:auto;
	object-fit:contain;
	margin:0 auto;
}
