﻿/* CAROUSEL
------------------------------------------------------------------------*/
.carousel {
	padding: 0;
}

/* CAROUSEL - FULL WIDTH
------------------------------------------------------------------------*/
.carousel .carousel-slide {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 600px;
	background-size: cover;
	background-position: center;
	padding: 0;
}

.carousel-slide:focus {
	outline: none;
}

.carousel .carousel-slide section {
	padding-left: 10%;
	padding-right: 10%;
}

.carousel .carousel-slide .carousel-button {
	position: absolute;
	outline: none;
}

.carousel .carousel-slide .carousel-button.play {
	margin: 0;
	padding: 0;
	width: 150px;
	height: 150px;
	background: transparent;
}

.carousel .carousel-slide .carousel-button.bottom {
	bottom: 75px;
	right: 100px;
}

/* CAROUSEL - SECTION
------------------------------------------------------------------------*/
.carousel-section {
	padding: 0;
}

.carousel-section .carousel-slide {
	width: 100%;
	display: flex;
	padding: 3rem;
}

@media screen and (min-width: 1040px) {
	.carousel-section .carousel-slide {
		padding: 6rem calc(100vw * 0.08);
	}
}

/* CAROUSEL, HIGHLIGHTS
------------------------------------------------------------------------*/
.carousel-section .carousel-headline {
	position: absolute;
	z-index: 1;
	padding: 3rem;
}

@media screen and (min-width: 1024px) {
	#highlights-carousel .carousel-slide {
		height: var(--highlights-carousel-slide-height);
	}

	.carousel-section .carousel-headline {
		padding: 6rem calc(100vw * 0.08);
	}
}

#highlights-carousel .slick-dots {
	display: none !important;
}

#highlights-carousel .slick-prev,
#highlights-carousel .slick-next {
	top: 33%;
  transform: translate(0, -33%);
}

@media screen and (max-width: 1040px) {
	#highlights-carousel .col.py-8 {
		padding: 0 !important;
	}
}

@media screen and (min-width: 1040px) {
	#highlights-carousel .slick-dots {
		display: flex !important;
	}

	#highlights-carousel .slick-prev,
	#highlights-carousel .slick-next {
		top: 50%;
		transform: translate(0, -50%);
	}

	#highlights-carousel .col.py-8 {
		padding: 8rem 0;
	}
}

/* CAROUSEL, BACKGROUND VIDEOS
------------------------------------------------------------------------*/
.bg-video {
    position: relative;
    height: 0;
    padding-top: 56.25%;
    color: #fff;
    overflow: hidden;
}

    .bg-video video {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

	.bg-video img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

    #video-carousel .carousel-slide {
        min-height: 0;
    }

/* CAROUSEL - INLINE
------------------------------------------------------------------------*/
.carousel-inline {
	margin: 3rem 0;
}

.carousel-inline .carousel-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: all 100ms ease-in-out;
	padding-top: 1rem; /* to allow for scale increase on :hover */
}

.carousel-inline .carousel-slide:not(.slick-active) {
	opacity: 0.5;
}

.carousel-inline .carousel-slide a::before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.carousel-inline .carousel-slide img {
	max-height: 250px;
	transition: all 100ms ease-in-out;
}

.carousel-inline .carousel-slide:hover img {
	transform: scale(1.1);
}

@media screen and (min-width: 1040px) {
	.carousel-inline .slick-prev { left: -3rem; }
	.carousel-inline .slick-next { right: -3rem; }
}

/* SLICK MODIFIERS
------------------------------------------------------------------------*/
.slick-dots {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 2rem;
	margin: 0;
	padding: 0;
	display: flex;
}

.slick-dots li {
	display: block;
	margin: 0 0.25rem;
}

.slick-dots li button {
	font-size: 0;
	padding: 0;
	width: 15px;
	height: 15px;
	background: #9EDAFD;
	background: var(--bomb-blue-light);
	transition: all .25s ease;
	outline: none;
	cursor: pointer;
}

.slick-dots li.slick-active button {
    background: var(--bomb-blue);
}

.slick-prev, .slick-next {
	z-index: 8;
	font-size: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	outline: none;
	border-radius: 50px;
	padding: 0;
	height: auto;
	background: transparent;
}

.slick-prev {	left: 0; }
.slick-next {	right: 0; }

button.slick-prev:hover,
button.slick-next:hover {
	background: transparent;
	opacity: 0.5;
}

@media screen and (min-width: 1040px) {
	.slick-prev {	left: 1rem; }
	.slick-next {	right: 1rem; }
}

.slick-prev::before, .slick-next::before {
	content: '';
	background-size: cover;
	width: 64px;
	height: 64px;
}

.slick-prev::before {
	background: url('../../assets/images/icon-caret-left.svg');
}

.slick-next::before {
	background: url('../../assets/images/icon-caret-right.svg');
}

/* CAROUSEL DARK
------------------------------------------------------------------------*/
.carousel.carousel-dark .slick-dots li button {
	background: rgba(255,255,255,0.5);
}

.carousel.carousel-dark .slick-dots li.slick-active button {
	background: #fff;
}

.carousel.carousel-dark .slick-prev::before {
	background: url('../../assets/images/icon-caret-left_white.svg');
}

.carousel.carousel-dark .slick-next::before {
	background: url('../../assets/images/icon-caret-right_white.svg');
}