/* ==========================================================================
   Homepage YouTube video carousel
   Used by default-new.asp / default2.asp (markup written by displayVideoCarousel
   in commonlib.asp, injected inside .prefootercontainer between .prefootertop
   and .prefootermiddle)
   ========================================================================== */

.videocarouselcontainer {
	width: 100%;
	background-color: #006225;
	padding: 40px 0;
	box-sizing: border-box;
	overflow: hidden;
}

/* default2.asp variant - same section, photo background instead of flat green */
.videocarouselcontainer.vc-bgimage {
	background-color: #006225; /* shows while the photo loads / behind transparent areas */
	background-image: url("../images/istockphoto-2158963873-1024x1024.webp");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

/* row of arrow - video - arrow */
.videocarouselcontainer .videocarousel {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* the arrows sit either side of the player and never shrink */
.videocarouselcontainer .vc-arrow {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin: 0 18px;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 26px 26px;
	cursor: pointer;
	transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.videocarouselcontainer .vc-arrow:hover {
	opacity: 0.8;
	transform: scale(1.1);
}

.videocarouselcontainer .vc-arrow:focus {
	outline: 1px solid #ffffff;
	outline-offset: 3px;
}

.videocarouselcontainer .vc-prev { background-image: url("../theme/images/arrow-left.png"); }
.videocarouselcontainer .vc-next { background-image: url("../theme/images/arrow-right.png"); }

/* the player itself */
.videocarouselcontainer .vc-viewport {
	flex: 1 1 auto;
	max-width: 900px;
	overflow: hidden;
}

.videocarouselcontainer .vc-track {
	display: flex;
	transition: -webkit-transform 0.45s ease-in-out;
	transition: transform 0.45s ease-in-out;
}

.videocarouselcontainer .vc-slide {
	flex: 0 0 100%;
	max-width: 100%;
	min-width: 0;
}

/* responsive 16:9 wrapper so the embedded player scales with the column */
.videocarouselcontainer .vc-video {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	background-color: #000000;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.videocarouselcontainer .vc-video iframe,
.videocarouselcontainer .vc-video object,
.videocarouselcontainer .vc-video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* small tablets / large phones */
@media (max-width: 768px) {
	.videocarouselcontainer { padding: 30px 0; }
	.videocarouselcontainer .videocarousel { padding: 0 12px; }
	.videocarouselcontainer .vc-arrow { margin: 0 10px; }
}

/* phones */
@media (max-width: 480px) {
	.videocarouselcontainer { padding: 22px 0; }
	.videocarouselcontainer .videocarousel { padding: 0 6px; }
	.videocarouselcontainer .vc-arrow {
		width: 20px;
		height: 20px;
		margin: 0 5px;
		background-size: 20px 20px;
	}
	.videocarouselcontainer .vc-video { box-shadow: none; }
}
