#carousel {
	background-color: #eee;
	border: 1px solid #ccc;
	height: auto;
	margin-bottom: 1em;
	position: relative;
}

#carousel .carousel-item {
	height: 300px;
	overflow: hidden;
}

#carousel .carousel-item a.btn {
	color: white;
}

#carousel .normal img {
	float: left;
	max-width: 375px;
	max-height: 250px;
	margin: 0 15px 15px 0;
	border: 10px solid white;
    box-shadow: 0 0 5px rgba(0,0,0,.4);
}

#carousel .fullwidth img {
	position: absolute;
	top: 0;
	width: 100%;
	display: block;
	height: auto;
}

#carousel .rightalign img {
	float: right;
	max-width: 375px;
	max-height: 250px;
	margin: 0 0 15px 15px;
	border: 10px solid white;
    box-shadow: 0 0 5px rgba(0,0,0,.4);
}

#carousel .carousel-caption {
	position: relative;
	text-align: left;
	margin: 15px 15px 0 15px;
	right: auto;
	left: auto;
	color: black;
	text-shadow: none;
	font-size: 14px;
	z-index: 100;
}

#carousel .fullwidth .carousel-caption {
	margin: 0;
}

#carousel h3 {
	font-size: 22px;
	color: #01246c;
	margin-top: 0.3em;
}

#carousel .carousel-caption ul, #carousel .carousel-caption ol {
	overflow: hidden;
}

#carousel .super {
	text-transform: uppercase;
	color: #666;
	font-size: 14px;
	margin: 0;
}

#carousel .btn-default {
	background-color: #C2282D;
	border-radius: 0;
	box-shadow: rgba(0, 0, 0, 0.329412) 0px 1px 5px 0px;
	color: white;
	text-transform: uppercase;
	margin-bottom: 1em;

}

.carousel-indicators {
	bottom: 0;
}

.carousel-indicators li {
	background-color: #666;
	border-color: #666;
	margin-right: 4px;
}

.carousel-indicators li.active {
	background-color: black;
	border-color: black;
	margin-right: 4px;
}

.carousel-control-prev, .carousel-control-next {
	top: 40%;
	bottom: 40%;
}

/* ============================================================
   make3() / .carousel-contain
   Aspect-ratio-aware slides: the photo is shown whole
   (object-fit: contain) over a blurred fill of itself, so it
   works at any screen shape. Height follows a responsive
   aspect-ratio instead of a fixed pixel value.
   ============================================================ */

#carousel.carousel-contain {
	background: #111;
	border: 0;
}

#carousel.carousel-contain .carousel-item {
	position: relative;
	height: auto;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	max-height: 78vh;
}

/* laptops / small desktops */
@media (max-width: 1199px) {
	#carousel.carousel-contain .carousel-item { aspect-ratio: 3 / 2; }
}
/* tablets */
@media (max-width: 991px) {
	#carousel.carousel-contain .carousel-item { aspect-ratio: 4 / 3; }
}

#carousel.carousel-contain .carousel-slide-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

#carousel.carousel-contain .carousel-slide-backdrop {
	position: absolute;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(18px) brightness(0.65);
	transform: scale(1.1);
}

#carousel.carousel-contain .carousel-slide-image {
	position: relative;
	z-index: 1;
	display: block;
	float: none;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
	box-shadow: none;
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: center;
}

/* opt-in edge-to-edge crop: slide flagged "Full Width" (img_type = 1) */
#carousel.carousel-contain .fullwidth .carousel-slide-image { object-fit: cover; }
#carousel.carousel-contain .fullwidth .carousel-slide-backdrop { display: none; }

#carousel.carousel-contain .carousel-caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	margin: 0;
	padding: 3rem 1.25rem 1.1rem;
	text-align: left;
	color: #fff;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0));
}

#carousel.carousel-contain .carousel-caption .text {
	max-width: 62ch;
	margin: 0;
}

#carousel.carousel-contain .carousel-caption h3,
#carousel.carousel-contain .carousel-caption h4 { color: #fff; }

#carousel.carousel-contain .carousel-caption .super { color: rgba(255, 255, 255, 0.82); }

#carousel.carousel-contain .carousel-caption p:last-child { margin-bottom: 0; }

#carousel.carousel-contain .carousel-indicators { z-index: 3; }

/* phones: portrait image, caption stacked beneath it (never text over photo) */
@media (max-width: 575px) {
	#carousel.carousel-contain .carousel-item {
		aspect-ratio: auto;
		max-height: none;
	}
	#carousel.carousel-contain .carousel-slide-media {
		position: relative;
		aspect-ratio: 4 / 5;
	}
	#carousel.carousel-contain .carousel-caption {
		position: static;
		padding: 1rem 1.1rem 1.2rem;
		background: #111;
	}
}

/* honour reduced-motion: drop the cross-fade */
@media (prefers-reduced-motion: reduce) {
	#carousel.carousel-contain.carousel-fade .carousel-item { transition: none; }
}

/* mobile */
@media (max-width: 767px) {
	#carousel .item {
		height: 400px;
	}

	#carousel .carousel-caption {
		margin: 0;
	}
	#carousel .normal img, #carousel .rightalign img {
		max-width: 50%;
		border: none;
		box-shadow: none;
 	}
 	#carousel .carousel-caption .text {
		margin: 15px 15px 0 15px;
 	}
}

/* tablets */
@media (max-width: 991px) and (min-width: 768px) {
}

/* laptops */
@media (max-width: 1199px) and (min-width: 992px) {
}

/* desktops */
@media (min-width: 1200px) {
}
