/* Diagonals */
.bg-element {
	--diagonal-color: var(--color-light-grey);
	overflow: hidden;
	position: relative;
}

.bg-element > .container,
.bg-element > .full-width {
	--bg-spacing: 0;
	position: relative;
	z-index: 7;
}

.bg-element > .container > .grid,
.bg-element > .full-width > .grid {
	position: relative;
	z-index: 2;
}

@media (min-width: 768px) {
	.bg-element > .container:has(.grid:is(.cols-2, .cols-4)),
	.bg-element > .full-width:has(.grid:is(.cols-2, .cols-4)) {
		--bg-spacing: 1rem;
	}
}

@media (min-width: 1024px) {
	.bg-element > .container:has(.grid:is(.cols-2, .cols-4)),
	.bg-element > .full-width:has(.grid:is(.cols-2, .cols-4)) {
		--bg-spacing: 1.25rem;
	}

	.bg-element > .container:has(.grid.cols-3),
	.bg-element > .full-width:has(.grid.cols-3) {
		--bg-spacing: 0.875rem;
	}
}

@media (min-width: 1280px) {
	.bg-element > .container:has(.grid:is(.cols-2)),
	.bg-element > .full-width:has(.grid:is(.cols-2)) {
		--bg-spacing: 1.5rem;
	}

	.bg-element > .container:has(.grid:is(.cols-4)),
	.bg-element > .full-width:has(.grid:is(.cols-4)),
	.bg-element > .container:has(.grid.cols-3),
	.bg-element > .full-width:has(.grid.cols-3) {
		--bg-spacing: 0.875rem;
	}
}

@media (min-width: 1540px) {
	.bg-element > .container:has(.grid:is(.cols-2)),
	.bg-element > .full-width:has(.grid:is(.cols-2)) {
		--bg-spacing: 1.75rem;
	}

	.bg-element > .container:has(.grid:is(.cols-4)),
	.bg-element > .full-width:has(.grid:is(.cols-4)),
	.bg-element > .container:has(.grid.cols-3),
	.bg-element > .full-width:has(.grid.cols-3) {
		--bg-spacing: 0.875rem;
	}
}

/*
	Diagonals
*/
.bg-diagonal > .container::before,
.bg-diagonal > .full-width::before {
	content: "";
	position: absolute;
	width: 0;
	height: 200%;
	z-index: 1;
}

.bg-diagonal-left > .container::before,
.bg-diagonal-left > .full-width::before {
	top: 50%;
	left: calc(25% - var(--bg-spacing));
	translate: -50% -50%;
	transform-origin: center;
	border-left: 0.1rem solid var(--diagonal-color);
	rotate: -36.15deg;
}

.bg-diagonal-right > .container::before,
.bg-diagonal-right > .full-width::before {
	top: 50%;
	left: calc(75% + var(--bg-spacing));
	translate: -50% -50%;
	transform-origin: center;
	border-left: 0.1rem solid var(--diagonal-color);
	rotate: -36.15deg;
}

.bg-diagonal.bg-flipped > .container::before,
.bg-diagonal.bg-flipped > .full-width::before {
	rotate: 36.15deg;
}

/* 
	Patterns 
*/
.bg-pattern > .container::before,
.bg-pattern > .full-width::before {
	content: "";
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	z-index: 1;
	width: 38.3rem;
	height: calc(100% + (var(--padding-rows) * 2));
	background-image: url('/wp-content/themes/main/images/pattern-light-grey.svg');
	background-position: left top;
	background-repeat: repeat;
	background-size: 3.2rem 5.8rem;
}

.bg-pattern.bg-pattern-left > .container::before,
.bg-pattern.bg-pattern-left > .full-width::before {
	left: calc(25% - var(--bg-spacing));
}

.bg-pattern.bg-pattern-right > .container::before,
.bg-pattern.bg-pattern-right > .full-width::before {
	left: calc(75% + var(--bg-spacing));
}

.bg-pattern.bg-pattern-center > .container::before,
.bg-pattern.bg-pattern-center > .full-width::before {
	left: calc(50% + var(--bg-spacing));
}

/*
	Chevron
*/
.bg-chevron::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23EFF0ED' opacity='1' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	display: block;
	width: 100%;
	height: 100%;
}

/* 
	Colors 
*/
.bg-diagonal.bg-white {
	--diagonal-color: var(--color-light-grey);
}

.bg-diagonal.bg-light-grey {
	--diagonal-color: var(--color-grey-1);
}

.bg-diagonal.bg-grey {
	--diagonal-color: var(--color-grey-6);
}

.bg-diagonal.bg-black {
	--diagonal-color: var(--color-grey-9);
}

.bg-diagonal.bg-primary {
	--diagonal-color: var(--color-primary-alt);
}

.bg-pattern.bg-white > .container::before,
.bg-pattern.bg-white > .full-width::before {
	background-image: url('/wp-content/themes/main/images/pattern-light-grey.svg');
}

.bg-pattern.bg-light-grey > .container::before,
.bg-pattern.bg-light-grey > .full-width::before {
	background-image: url('/wp-content/themes/main/images/pattern-grey-1.svg');
}

.bg-pattern.bg-grey > .container::before,
.bg-pattern.bg-grey > .full-width::before {
	background-image: url('/wp-content/themes/main/images/pattern-grey-6.svg');
}

.bg-pattern.bg-black > .container::before,
.bg-pattern.bg-black > .full-width::before {
	background-image: url('/wp-content/themes/main/images/pattern-grey-9.svg');
}

.bg-pattern.bg-primary > .container::before,
.bg-pattern.bg-primary > .full-width::before {
	background-image: url('/wp-content/themes/main/images/pattern-true-black.svg');
	opacity: 0.15;
}

.bg-chevron.bg-white::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23EFF0ED' opacity='1' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
}

.bg-chevron.bg-light-grey::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23D9DCDB' opacity='1' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
}

.bg-chevron.bg-grey::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23606A71' opacity='1' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
}

.bg-chevron.bg-black::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23000000' opacity='0.2' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
}

.bg-chevron.bg-primary::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 322 362'%3E%3Cpath fill='%23000000' opacity='0.1' d='M317.8793,0H82.5548L0,106.4842v143.8299l86.6122,111.6859h235.3878l-139.8968-180.4208c-1.4838-1.8774-1.4838-4.5284,0-6.406L317.8793,0Z'/%3E%3C/svg%3E");
}


/*
	Splide Slider Overrides
*/
.slider {
	--arrow-color: var(--color-grey);
	--arrow-color-alt: var(--color-white);
	--dots-color: rgba(var(--color-grey-rgb), 0.5);
	--dots-color-active: var(--color-primary);
	position: relative;
	z-index: 15;
}
.splide__arrow {
	background-color: transparent;
	border-radius: 0;
	height: 3.5rem;
    opacity: 1;
    width: var(--padding-containers);
}

.splide__arrow--prev {
    left: inherit;
	right: 100%;
}

.splide__arrow--next {
    right: inherit;
	left: 100%;
}

.splide__arrow svg {
    display: none;
}

.splide__arrow i {
	font-size: 2.4rem;
	color: var(--arrow-color-alt);
	background-color: var(--arrow-color);
	border-radius: 50%;
	height: 3.5rem;
	width: 3.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.splide__arrow--prev i::before {
	margin-right: .2rem;
}

.splide__arrow--next i::before {
	margin-left: .2rem;
}

@media (min-width: 1540px) {
	.splide__arrow {
		height: 100%;
	}

	.splide__arrow:not(.thumbnail-arrow) i {
		display: none;
	}

	.splide__arrow svg {
		display: block;
		fill: none;
		stroke: var(--arrow-color) !important;
		height: 4.8rem;
		width: 2.6rem;
		transition: .2s;
	}

	.splide__arrow--prev svg {
		transform: none;
	}

	/* 
		Hover 
	*/
	@media (-moz-touch-enabled: 0), (pointer: fine) {
		.splide__arrow--prev:hover svg {
			translate: -1rem 0;
		}

		.splide__arrow--next:hover svg {
			translate: 1rem 0;
		}
	}
}

[data-style="carousel"] .splide__pagination {
	inset: inherit;
    position: relative;
	padding: 0;
	margin-top: 1.5rem;
}

.splide__pagination__page {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	color: var(--dots-color);
	border: 0 none;
	outline: none;
	border-radius: 0;
	box-shadow: none;
	width: 2.4rem;
	height: 2.4rem;
	opacity: 1;
	scale: 1;
	transition: .2s;
}

.splide__pagination__page::before {
	content: '';
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background-color: var(--dots-color);
	transition: .2s;
}

.splide__pagination__page.is-active {
	scale: 1 !important;
	transform: none !important;
	background-color: transparent !important;
}

.splide__pagination__page.is-active::before {
	width: 1rem;
	height: 1rem;
	background-color: var(--dots-color-active);
}

.splide__slide > .card {
	height: 100%;
}

[data-style="popup-carousel"] {
	padding: var(--padding-rows) var(--padding-containers);
	height: calc(100svh - 8.2rem);
}
/* 
[data-style="popup-carousel"] .splide__slide {
	height: calc(100svh - (var(--padding-rows) * 2) + 8.2rem);
	width: 100%;
} */

[data-style="popup-carousel"] .splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

[data-style="popup-carousel"] .splide__track,
[data-style="popup-carousel"] .splide__list,
[data-style="popup-carousel"] .splide__slide,
[data-style="popup-carousel"] .splide__slide img {
	height: 100%;
	max-height: 100%;
}

.carousel-container {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.92);
	z-index: 9999;
}

.thumbnails {
	position: relative;
    display: flex;
    padding: 1.5rem var(--padding-containers);
    justify-content: center;
	width: 100%;
	border-top: .1rem solid rgba(255, 255, 255, 0.2);
	background-color: black;
}

.thumbnails .splide__arrows {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.carousel-container .splide__arrow--prev {
	left: 0;
	right: auto;
}

.carousel-container .splide__arrow--next {
	right: 0;
	left: auto;
}

.thumbnails .splide__track {
	z-index: 2;
}

.thumbnail {
    width: 5rem;
    height: 5rem;
    overflow: hidden;
    list-style: none;
    margin: 0 0.2rem;
    cursor: pointer;
    opacity: 0.3;
}

.thumbnail.is-active {
    opacity: 1;
}

.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: center;
	aspect-ratio: 1 / 1;
}

.thumbnail-arrow i {
	color: var(--color-white);
}

.close-carousel {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	z-index: 20;
	background-color: transparent;
	border: none;
	color: var(--color-white);
	font-size: 2.4rem;
	cursor: pointer;
}

@media (min-width: 1024px) {
	.close-carousel {
		border-radius: 50%;
		background-color: rgba(255, 255, 255, 0.3);
		width: 3.5rem;
		height: 3.5rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

@media (min-width: 1280px) {
	[data-style="popup-carousel"] {
		height: calc(100vh - 13rem);
	}

	.thumbnails {
		padding: 2.5rem var(--padding-containers);
	}

	.thumbnail {
		width: 8rem;
		height: 8rem;
	}
}