/* define standard spacing between images for scrolling-gallery */.scrolling-gallery {	--sg-gap: 1.2rem;}.scrolling-gallery.scrolling-gallery-dbl {	--sg-gap: 1rem;	}.jsGallery {
	width: 100%;
	margin: 0 auto;
	clear: both;
}

/* temporarily hide caption/htmlCaption/gallery */
.jsGallery .sliderWrap,
.jsGallery .galleryWrap .galleryNav{
	display: none;
}

/* prevent accidental selection of images while navigating the galleries */
.jsGallery img {
	vertical-align: bottom;
   -moz-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
  -ms-user-select: none;
   user-select: none;
}

/* gallery section */
.jsGallery .galleryWrap {    
    -moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    margin: 0 0;
    position: relative;
    width: 100%;
	overflow: hidden;
}

.jsGallery .gallery-placeholder {
	margin:0;
	padding:0;
	width:100%;
}

.jsGallery .slideWrap {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.jsGallery .galleryWrap .slide {
	display:flex;
	/* justify-content: center; */
	justify-content: flex-start;
	flex-direction: column;
	position: absolute;
	top: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity 1s;
}

.page-home .jsGallery .galleryWrap .slide {
	justify-content: center;
}

.jsGallery .slide.activeSlide{
	opacity: 1;
	transition: opacity 2s;
	z-index: 1;
}

.jsGallery .jsgimg {
    width: auto;
    height: auto;
	max-height:100%;
	vertical-align:bottom;
	min-width: var(--min-screen-width);
	max-width: unset;
}
 



/* captions */
.jsGallery .captionWrap {
	width: 90%;
	position:relative;
	list-style-type: none;
	padding: 0px;
	margin: 0 5%;
	transition: height .5s ease-out;
}	
.jsGallery .captionWrap li {
    color: #000000;
    display: none;
    font-size:1rem;
    text-align: center;
	padding: .75rem 0 .5rem 0;
	margin:0;
	height: auto;	
}
.jsGallery .captionWrap li.activeSlide{
	display:block;
}

.jsGallery .captionWrap li h3{
	margin: 0;
}

.jsGallery .HTMLcaptionWrap {
    list-style-type: none;
    padding: 0;
    position: relative;
    width: 90%;
	margin: 0 5%;
	transition: height .5s;
	
}	
.jsGallery .HTMLcaptionWrap > li {
    color: #000000;
    display: none;
    padding: 1em 0;
    width: 100%;
}
.jsGallery .HTMLcaptionWrap > li.activeSlide {
	display: block;
}

/* Scrolling Gallery Styles */
.scrolling-gallery{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width:100%;	grid-gap: var( --sg-gap );
}

.scrolling-gallery > div{
	flex-basis: 100%;
	padding-top: 60%;
	display: block;
	background: #f4f4f4 center center no-repeat;
	box-sizing: border-box;	margin:0;
	background-size:cover;
	top: 5rem;
	position:relative;
	transition: top 1s;
}
.scrolling-gallery > div.scrolled-in{
	top: 0;
}

.scrolling-gallery > div.dgPart {    flex-basis: calc( ( 200% - var( --sg-gap ) ) / 3 );}.scrolling-gallery > div.dgHalf {    flex-basis: calc( ( 100% - var( --sg-gap ) ) / 2 );}.scrolling-gallery > div.dgThird {     flex-basis: calc( 100% / 3 - 2 * var( --sg-gap ) / 3 );}

/* overlay and caption */
.scrolling-overlay{
	position: absolute;
	top: 0px;
	bottom: 0px;
	right: 0px;
	left:0px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: #111a;
	opacity: 0;
	transition: opacity .5s;
	color: white;
	text-align: center;
	padding: 4%;
}

.scrolling-overlay *, .scrolling-overlay a:visited{
	color: white;
	opacity: 1;
	transition: opacity .3s;
}
.scrolling-overlay a:hover,
.scrolling-overlay a:active{
	opacity: .7;
	transition: opacity .3s; /* reqd to override previously set on hover/active */
}
.scrolling-overlay > *:last-child{
	margin-bottom: 0px;
}

.scrolling-gallery .gallery-link{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.scrolling-gallery .gallery-open{
	position: absolute;
	top: 0px;
	right: 0px;
	padding: .4rem;
	background: #111a;
	opacity: 0;
	transition: opacity .5s;
	color: white;
	width: 16px;
	line-height: 1rem;
	border-radius: 0 0 0 3px;
	pointer-events: none;
}
.scrolling-gallery .gallery-open img{
	vertical-align: bottom;
}

.scrolling-gallery .sg-active .scrolling-overlay,
.scrolling-gallery .sg-active .gallery-open,
.scrolling-gallery > div:hover .scrolling-overlay,
.scrolling-gallery > div:hover .gallery-open
{
	opacity: 1;
	pointer-events: auto;
}


/* changing opacity and background colour of main banner images, OLD */
/*
#banner_gallery_0.jsGallery {
	background:#000;
}
#banner_gallery_0.jsGallery img {
	opacity: 1;
}
*/
/* changing opacity and background colour of main banner images, OLD */


/* changing opacity and background colour of main banner images */
#banner_gallery_0.jsGallery {
    background: #000;
}

#banner_gallery_0.jsGallery.banner_gallery .galleryWrap .respGallery picture source,
#banner_gallery_0.jsGallery.banner_gallery .galleryWrap .respGallery picture img.gallery-placeholder {
    opacity: 0;
}

#banner_gallery_0.jsGallery .slideWrap .activeSlide picture img {
    /* opacity: .65; */
}

/* for the home-page is NOT dark overlay */
.page-home #banner_gallery_0.jsGallery img {
    /* opacity: 1; */
	/* opacity: .65; */
}



@media only screen and (min-width: 899px) {
	/* 100vh of the banner, start 
		#banner_gallery_0.jsGallery .galleryWrap,
		#banner_gallery_0.jsGallery .galleryWrap .respGallery,
		#banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
		#banner_gallery_0.jsGallery {
			height: 100vh;
		}
	/* 100vh of the banner, finish */

	.page-news #banner_gallery_0.jsGallery .galleryWrap,
	.page-news #banner_gallery_0.jsGallery .galleryWrap .respGallery,
	.page-news #banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
	.page-news #banner_gallery_0.jsGallery {
		height: auto;
		min-height: 800px;
        object-fit: cover;
	}

	.page-our-technology #banner_gallery_0.jsGallery .galleryWrap,
	.page-our-technology #banner_gallery_0.jsGallery .galleryWrap .respGallery,
	.page-our-technology #banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
	.page-our-technology #banner_gallery_0.jsGallery {
		height: auto;
		min-height: 800px;
        object-fit: cover;
	}

	.page-careers #banner_gallery_0.jsGallery .galleryWrap,
	.page-careers #banner_gallery_0.jsGallery .galleryWrap .respGallery,
	.page-careers #banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
	.page-careers #banner_gallery_0.jsGallery {
		height: auto;
		min-height: 800px;
        object-fit: cover;
	}

	.page-contact #banner_gallery_0.jsGallery .galleryWrap,
	.page-contact #banner_gallery_0.jsGallery .galleryWrap .respGallery,
	.page-contact #banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
	.page-contact #banner_gallery_0.jsGallery {
		height: auto;
		min-height: 800px;
        object-fit: cover;
	}

	.page-sales-partners #banner_gallery_0.jsGallery .galleryWrap,
	.page-sales-partners #banner_gallery_0.jsGallery .galleryWrap .respGallery,
	.page-sales-partners #banner_gallery_0.jsGallery img:not(#banner_gallery_0.jsGallery .insetLarge img),
	.page-sales-partners #banner_gallery_0.jsGallery {
		height: auto;
		min-height: 800px;
        object-fit: cover;
	}

}