.carousel {
	height: calc(100vh - 48px);
    min-height: 400px;
    max-height: 500px;
}

.carousel-item-next, .carousel-item-prev, .carousel-item.active {
    display: flex !important;
}

#headerCarousel .carousel-caption {
    right: unset !important;
    left: unset !important;
	bottom: 0 !important;
    padding-top: unset !important;
    padding-bottom: unset !important;
    text-align: left !important;
	background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    border-radius: 0 0 0 100px !important;
}

#headerCarousel .carousel-caption h2 {
	font-size: 1.5rem !important;
	font-weight: bold !important;
	color: #ffffff !important;
}

#headerCarousel .carousel-caption p {
	font-size: 1rem !important;
	font-weight: 300 !important;
}

#headerCarousel .carousel-inner {
	height: 100% !important;
}

#headerCarousel .carousel-item {
    height: 100% !important;
}

#headerCarousel .carousel-item img {
    object-fit: cover !important;
    height: 100% !important;
	width: 100% !important;
	border-radius: 0 0 0 100px !important;
    object-position: center center !important;
}



.carousel-indicators {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    justify-content: right !important;
    padding: 0 !important;
    margin-right: unset !important;
	margin-bottom: unset !important;
    width: calc(100% - 100px) !important;
    margin-left: auto !important;
    list-style: none !important;
}

.carousel-indicators [data-bs-target]{
	flex: 1 1 auto !important;
	width: unset !important;
	margin: 0 !important;
	height: 5px !important;
    border-bottom: none !important;
    opacity: .8 !important;
	transition: opacity .6s ease, background-color .6s ease !important;
}

.carousel-indicators .active {
    background-color: #D80A38 !important;
}

.carousel-indicators [data-bs-target]:hover {
    opacity: 1 !important;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	#headerCarousel .carousel-caption h2 {
		font-size: 2rem !important;
	}
	
	#headerCarousel .carousel-caption p {
		font-size: 1rem !important;
	}

	#headerCarousel .carousel-item img {
		object-position: left center !important;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#headerCarousel .carousel-caption h2 {
		font-size: 2.25rem !important;
	}
	
	#headerCarousel .carousel-caption p {
		font-size: 1.1rem !important;
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	
	.carousel {
		height: calc(100vh - 180px);
	}

	#headerCarousel .carousel-caption {
		position: relative !important;
		right: unset !important;
		bottom: unset !important;
		left: unset !important;
		color: unset !important;
		background: #ffffff !important;
    	border-radius: 0 !important;
	}

	#headerCarousel .carousel-caption h2 {
		font-size: 2.5rem !important;
		color: #0939A3 !important;
	}
	
	#headerCarousel .carousel-caption p {
		font-size: 1.2rem !important;
		color: #414141 !important;
	}

	#headerCarousel .carousel-indicators {
		width: calc(50% - 100px) !important;
	}
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	#headerCarousel .carousel-caption h2 {
		font-size: 2.75rem !important;
	}
	
	#headerCarousel .carousel-caption p {
		font-size: 1.25rem !important;
	}
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	#headerCarousel .carousel-caption h2 {
		font-size: 3rem !important;
	}
	
	#headerCarousel .carousel-caption p {
		font-size: 1.5rem !important;
	}
}