.vis-2240-container {
	position: relative;
	width: 100%;
}

.vis-2240-slide {
	position: sticky;
	top: 0;
	height: 100vh;
	width: 100%;
	display: flex;
	overflow: hidden;
}

/* Positioning handled on the slide level via flexbox */
.vis-pos-top-left { align-items: flex-start; justify-content: flex-start; }
.vis-pos-top-center { align-items: flex-start; justify-content: center; text-align: center; }
.vis-pos-top-right { align-items: flex-start; justify-content: flex-end; text-align: right; }

.vis-pos-center-left { align-items: center; justify-content: flex-start; }
.vis-pos-center { align-items: center; justify-content: center; text-align: center; }
.vis-pos-center-right { align-items: center; justify-content: flex-end; text-align: right; }

.vis-pos-bottom-left { align-items: flex-end; justify-content: flex-start; }
.vis-pos-bottom-center { align-items: flex-end; justify-content: center; text-align: center; }
.vis-pos-bottom-right { align-items: flex-end; justify-content: flex-end; text-align: right; }

.vis-2240-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: 1;
}

.vis-2240-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 2;
}

.vis-2240-content-wrapper {
	position: relative;
	z-index: 3;
	width: 100%;
	display: flex;
	padding: 40px;
}

/* Inherit alignment from the slide class to format the inner wrapper properly */
.vis-pos-top-left .vis-2240-content-wrapper { justify-content: flex-start; }
.vis-pos-top-center .vis-2240-content-wrapper { justify-content: center; }
.vis-pos-top-right .vis-2240-content-wrapper { justify-content: flex-end; }
.vis-pos-center-left .vis-2240-content-wrapper { justify-content: flex-start; }
.vis-pos-center .vis-2240-content-wrapper { justify-content: center; }
.vis-pos-center-right .vis-2240-content-wrapper { justify-content: flex-end; }
.vis-pos-bottom-left .vis-2240-content-wrapper { justify-content: flex-start; }
.vis-pos-bottom-center .vis-2240-content-wrapper { justify-content: center; }
.vis-pos-bottom-right .vis-2240-content-wrapper { justify-content: flex-end; }


.vis-2240-content {
	max-width: 800px; /* Default max width, overridable by controls */
	width: 100%;
}

.vis-2240-title {
	margin: 0 0 15px 0;
}

.vis-2240-desc {
	margin: 0;
}
