.d15act-single,
.d15act-single *,
.d15act-single *::before,
.d15act-single *::after{
	box-sizing:border-box;
}

.d15act-single{
	position:relative;
	width:100vw !important;
	max-width:100vw !important;
	margin-left:calc(50% - 50vw) !important;
	margin-right:calc(50% - 50vw) !important;
	padding:0 !important;
	overflow:hidden;
	background:transparent;
	color:inherit;
}

.d15act-inner{
	width:100%;
	max-width:1580px;
	margin:0 auto;
	padding:clamp(46px,4.5vw,78px) clamp(24px,3.4vw,54px) clamp(60px,5vw,92px);
}

/* Intro */
.d15act-intro{
	display:grid;
	grid-template-columns:minmax(300px,31%) minmax(0,69%);
	gap:clamp(36px,4vw,66px);
	align-items:start;
}

.d15act-main-media{
	position:relative;
	width:100%;
	min-width:0;
}

.d15act-main-image{
	display:block;
	width:100% !important;
	height:auto !important;
	aspect-ratio:1.50 / 1;
	object-fit:cover;
	object-position:center;
	border-radius:14px;
	margin:0 !important;
	padding:0 !important;
}

.d15act-intro-copy{
	min-width:0;
	padding-top:2px;
}

.d15act-kicker{
	margin:0;
	padding:0;
	font-family:inherit;
	font-size:clamp(16px,1.15vw,20px);
	font-weight:600;
	line-height:1.25;
	letter-spacing:-.02em;
}

.d15act-copy-rule{
	width:100%;
	height:1px;
	margin:22px 0 29px;
	background:rgba(17,17,17,.12);
}

.d15act-content-title{
	margin:0 0 22px !important;
	padding:0 !important;
	font-family:inherit !important;
	font-size:clamp(20px,1.45vw,27px) !important;
	font-weight:600 !important;
	line-height:1.2 !important;
	letter-spacing:-.025em !important;
	color:inherit !important;
}

.d15act-content-text{
	margin:0;
	padding:0;
	font-family:inherit;
	font-size:clamp(14px,.90vw,16px);
	font-weight:400;
	line-height:1.68;
	color:inherit;
}

.d15act-content-text p{
	margin:0 0 1.25em !important;
	padding:0 !important;
}

.d15act-content-text p:last-child{
	margin-bottom:0 !important;
}

/* Carousel foundation */
.d15act-carousel{
	--d15act-gap:18px;
	position:relative;
	width:100%;
	margin:0;
	padding:0;
}

.d15act-carousel-viewport{
	position:relative;
	width:100%;
	overflow:hidden;
}

.d15act-carousel-track{
	display:flex;
	align-items:stretch;
	gap:var(--d15act-gap);
	width:max-content;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	transform:translate3d(0,0,0);
	transition:transform .62s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}

.d15act-carousel-slide{
	flex:0 0 auto;
	min-width:0;
	margin:0 !important;
	padding:0 !important;
}

/* Gallery */
.d15act-gallery-carousel{
	margin-top:clamp(48px,5vw,78px);
}

.d15act-gallery-slide{
	width:calc((100vw - 2 * clamp(24px,3.4vw,54px) - 2 * var(--d15act-gap)) / 3);
	max-width:calc((1580px - 2 * clamp(24px,3.4vw,54px) - 2 * var(--d15act-gap)) / 3);
}

.d15act-gallery-slide img{
	display:block;
	width:100% !important;
	height:auto !important;
	aspect-ratio:2.02 / 1;
	object-fit:cover;
	object-position:center;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:13px;
}

/* Arrows */
.d15act-carousel-arrow{
	-webkit-appearance:none !important;
	appearance:none !important;
	position:absolute;
	z-index:12;
	top:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	outline:0 !important;
	border-radius:0 !important;
	background:rgba(255,255,255,.90) !important;
	color:#111 !important;
	box-shadow:0 4px 18px rgba(0,0,0,.08) !important;
	font-family:inherit !important;
	font-size:18px !important;
	line-height:1 !important;
	cursor:pointer;
	transform:translateY(-50%);
	transition:background .2s ease, transform .2s ease, opacity .2s ease;
	-webkit-tap-highlight-color:transparent;
}

.d15act-carousel-arrow:hover{
	background:#fff !important;
	transform:translateY(-50%) scale(1.05);
}

.d15act-carousel-arrow:focus,
.d15act-carousel-arrow:focus-visible,
.d15act-carousel-arrow:active{
	border:0 !important;
	outline:0 !important;
	box-shadow:0 4px 18px rgba(0,0,0,.08) !important;
}

.d15act-carousel-prev{
	left:0;
}

.d15act-carousel-next{
	right:0;
}

.d15act-carousel-dots{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:12px;
	margin-top:10px;
}

.d15act-carousel-dot{
	width:6px;
	height:6px;
	border-radius:999px;
	background:rgba(17,17,17,.20);
	transition:background .2s ease, transform .2s ease;
}

.d15act-carousel-dot.is-active{
	background:#111;
	transform:scale(1.15);
}

/* Other Activities */
.d15act-related{
	margin-top:clamp(46px,4.7vw,74px);
}

.d15act-related-rule{
	width:100%;
	height:1px;
	background:rgba(17,17,17,.12);
	margin:0 0 clamp(46px,4vw,64px);
}

.d15act-related-heading{
	margin:0 0 30px !important;
	padding:0 !important;
	font-family:inherit !important;
	font-size:clamp(18px,1.25vw,23px) !important;
	font-weight:600 !important;
	line-height:1.2 !important;
	letter-spacing:.015em !important;
	text-align:center !important;
	text-transform:uppercase !important;
	color:inherit !important;
}

.d15act-related-slide{
	width:calc((100vw - 2 * clamp(24px,3.4vw,54px) - 3 * var(--d15act-gap)) / 4);
	max-width:calc((1580px - 2 * clamp(24px,3.4vw,54px) - 3 * var(--d15act-gap)) / 4);
}

.d15act-related-card{
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:1.52 / 1;
	margin:0 !important;
	padding:0 !important;
	overflow:hidden;
	border-radius:14px;
	background:rgba(17,17,17,.05);
	color:#fff !important;
	text-decoration:none !important;
}

.d15act-related-image{
	position:absolute;
	inset:0;
	display:block;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	max-height:none !important;
	margin:0 !important;
	padding:0 !important;
	object-fit:cover;
	object-position:center;
	transition:transform .5s ease;
}

.d15act-related-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(
		to top,
		rgba(0,0,0,.44) 0%,
		rgba(0,0,0,.05) 52%,
		rgba(0,0,0,0) 72%
	);
	pointer-events:none;
}

.d15act-related-title{
	position:absolute;
	left:18px;
	right:18px;
	bottom:16px;
	z-index:2;
	display:block;
	font-family:inherit;
	font-size:clamp(12px,.82vw,14px);
	font-weight:600;
	line-height:1.25;
	letter-spacing:.035em;
	text-transform:uppercase;
	color:#fff;
	text-shadow:0 1px 8px rgba(0,0,0,.24);
}

.d15act-related-card:hover .d15act-related-image{
	transform:scale(1.035);
}

.d15act-related-carousel .d15act-carousel-arrow{
	background:rgba(255,255,255,.78) !important;
}

@media (max-width:1100px){

	.d15act-intro{
		grid-template-columns:minmax(260px,38%) minmax(0,62%);
		gap:34px;
	}

	.d15act-gallery-slide{
		width:calc((100vw - 2 * 34px - var(--d15act-gap)) / 2);
		max-width:none;
	}

	.d15act-related-slide{
		width:calc((100vw - 2 * 34px - var(--d15act-gap)) / 2);
		max-width:none;
	}
}

@media (max-width:767px){

	.d15act-inner{
		padding:40px 18px 58px;
	}

	.d15act-intro{
		display:block;
	}

	.d15act-intro-copy{
		padding-top:32px;
	}

	.d15act-copy-rule{
		margin:18px 0 24px;
	}

	.d15act-content-title{
		margin-bottom:18px !important;
	}

	.d15act-gallery-carousel{
		margin-top:42px;
	}

	.d15act-gallery-slide,
	.d15act-related-slide{
		width:calc(100vw - 36px);
		max-width:none;
	}

	.d15act-gallery-slide img{
		aspect-ratio:1.55 / 1;
	}

	.d15act-related{
		margin-top:44px;
	}

	.d15act-related-rule{
		margin-bottom:38px;
	}

	.d15act-related-heading{
		margin-bottom:24px !important;
	}

	.d15act-carousel-arrow{
		width:34px;
		height:34px;
		font-size:16px !important;
	}
}

@media (prefers-reduced-motion:reduce){

	.d15act-carousel-track,
	.d15act-related-image,
	.d15act-carousel-arrow{
		transition:none !important;
	}
}
