/**
 * PRISM block styles (UIkit-based).
 */

.prism-padding-top-small {
	padding-top: 30px;
}

.prism-padding-top-medium {
	padding-top: 60px;
}

.prism-padding-top-default {
	padding-top: 80px;
}

.prism-padding-top-large {
	padding-top: 120px;
}

.prism-padding-bottom-small {
	padding-bottom: 30px;
}

.prism-padding-bottom-medium {
	padding-bottom: 60px;
}

.prism-padding-bottom-default {
	padding-bottom: 80px;
}

.prism-padding-bottom-large {
	padding-bottom: 120px;
}

.prism-block {
	box-sizing: border-box;
	width: 100%;
}

body.prism-fullpage-active .prism-block--has-background,
.prism-block--has-background {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	isolation: isolate;
}

.prism-block--parallax-background {
	overflow: hidden;
}

.prism-block--has-background:not(.prism-fullpage-section) > .prism-background-overlay,
.prism-block--has-background:not(.prism-fullpage-section) > .prism-block__viewport,
.prism-block--has-background:not(.prism-fullpage-section) > .prism-block__outer {
	grid-area: 1 / 1;
	min-height: 100%;
	width: 100%;
}

.prism-block--has-background:not(.prism-fullpage-section) > .prism-block__viewport,
.prism-block--has-background:not(.prism-fullpage-section) > .prism-block__outer {
	height: auto;
	position: relative;
	z-index: 1;
}

.prism-background-overlay {
	align-self: stretch;
	height: 100%;
	justify-self: stretch;
	min-height: 100%;
	pointer-events: none;
	width: 100%;
	z-index: 0;
}

.prism-block--has-background > .prism-background-overlay,
.prism-block--has-background > .prism-block__viewport,
.prism-block--has-background > .prism-block__outer {
	grid-area: 1 / 1;
	min-height: 100%;
}

.prism-block--has-background > .prism-block__viewport,
.prism-block--has-background > .prism-block__outer {
	height: 100%;
	width: 100%;
	z-index: 1;
}

.prism-fullpage-section.prism-block--has-background > .prism-block__viewport {
	min-height: 0;
}

.prism-block--has-text-color,
.prism-block--has-text-color .prism-content__body,
.prism-block--has-text-color .prism-banner__content,
.prism-block--has-text-color .prism-presents-carousel {
	color: var(--prism-block-text-color);
}

.prism-block--has-text-color .prism-content__body :is(h1, h2, h3, h4, h5, h6, p, li, span, blockquote, address, small, figcaption, label, legend),
.prism-block--has-text-color .prism-banner__content :is(h1, h2, h3, h4, h5, h6, p, li, span, blockquote, address, small, figcaption, label, legend),
.prism-block--has-text-color .prism-presents-carousel :is(h1, h3, h4, h5, h6, p, li, span, blockquote, address, small, figcaption, label, legend, .prism-presents-carousel__excerpt, .prism-present__date) {
	color: inherit;
}

.prism-block--has-text-color .prism-presents-carousel h2.prism-presents-carousel__heading {
	color: inherit;
}

.prism-block--has-text-color .prism-presents-carousel--custom-heading-color h2.prism-presents-carousel__heading {
	color: var(--prism-carousel-heading-color);
}

.prism-block--has-text-color .prism-content__body a:not(.uk-button):not(.uk-button-primary):not(.uk-button-black):not(.prism-button):not(.prism-button-primary):not(.prism-button-black):not(.prism-presents-carousel__button),
.prism-block--has-text-color .prism-banner__content a:not(.uk-button):not(.uk-button-primary):not(.uk-button-black):not(.prism-button):not(.prism-button-primary):not(.prism-button-black):not(.prism-presents-carousel__button) {
	color: inherit;
}

.prism-block--has-text-color .prism-presents-carousel:not(.prism-presents-carousel--custom-arrow-color) {
	--prism-carousel-arrow-color: var(--prism-block-text-color);
	--prism-carousel-nav-color: var(--prism-block-text-color);
}

.prism-block--has-text-color .prism-presents-carousel:not(.prism-presents-carousel--custom-arrow-color) .prism-presents-carousel__arrow {
	color: var(--prism-block-text-color);
}

.prism-block--has-text-color .prism-presents-carousel:not(.prism-presents-carousel--custom-arrow-color) .prism-presents-carousel__nav > * > * {
	background-color: color-mix(in srgb, var(--prism-block-text-color) 35%, transparent);
}

.prism-block--has-text-color .prism-presents-carousel:not(.prism-presents-carousel--custom-arrow-color) .prism-presents-carousel__nav > .uk-active > * {
	background-color: var(--prism-block-text-color);
}

.prism-block--has-text-color .gform_wrapper {
	--prism-gf-content-color: var(--prism-block-text-color);
	--prism-gf-text: var(--prism-block-text-color);
	--prism-gf-heading: var(--prism-block-text-color);
}

.prism-block--has-text-color .prism-banner__content {
	text-shadow: none;
}

.prism-block-placeholder {
	padding: 2rem;
	background: #f8f8f8;
	border: 2px dashed #ccc;
	color: #666;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.prism-block__inner[uk-scrollspy] {
		opacity: 1 !important;
		transform: none !important;
	}
}

.prism-block--banner {
	width: 100%;
}

.prism-banner {
	width: 100%;
}

.prism-banner--height-full {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: inherit;
}

.prism-banner__frame {
	--prism-banner-min-height: clamp(280px, 55vw, 500px);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(var(--prism-banner-min-height), auto);
	min-height: var(--prism-banner-min-height);
	width: 100%;
}

.prism-banner--height-full .prism-banner__frame {
	flex: 1 1 auto;
	grid-template-rows: 1fr;
	height: 100%;
	min-height: 100%;
}

.prism-banner__frame > .prism-banner__image,
.prism-banner__frame > .prism-banner__tint {
	grid-area: 1 / 1;
	min-height: var(--prism-banner-min-height);
	width: 100%;
}

.prism-banner--height-full .prism-banner__frame > .prism-banner__image,
.prism-banner--height-full .prism-banner__frame > .prism-banner__tint {
	min-height: 100%;
}

.prism-banner__image {
	display: block;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

.prism-banner__tint {
	pointer-events: none;
	z-index: 1;
}

.prism-banner__overlay {
	box-sizing: border-box;
	display: grid;
	grid-area: 1 / 1;
	min-height: var(--prism-banner-min-height);
	width: 100%;
	z-index: 2;
}

.prism-banner--height-full .prism-banner__overlay {
	height: 100%;
	min-height: 100%;
}

.prism-banner__overlay > .prism-block__inner {
	box-sizing: border-box;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.prism-banner--align-x-left .prism-banner__overlay {
	justify-items: start;
}

.prism-banner--align-x-center .prism-banner__overlay {
	justify-items: center;
}

.prism-banner--align-x-right .prism-banner__overlay {
	justify-items: end;
}

.prism-banner--align-y-top .prism-banner__overlay {
	align-items: start;
}

.prism-banner--align-y-middle .prism-banner__overlay {
	align-items: center;
}

.prism-banner--align-y-bottom .prism-banner__overlay {
	align-items: end;
}

.prism-banner--align-x-center .prism-banner__overlay > .prism-block__inner,
.prism-banner--align-x-left .prism-banner__overlay > .prism-block__inner,
.prism-banner--align-x-right .prism-banner__overlay > .prism-block__inner {
	justify-self: stretch;
}

.prism-banner--height-short .prism-banner__frame,
.prism-banner--height-short .prism-banner__overlay,
.prism-banner--height-short .prism-banner__frame > .prism-banner__image,
.prism-banner--height-short .prism-banner__frame > .prism-banner__tint {
	--prism-banner-min-height: clamp(220px, 45vw, 300px);
}

.prism-banner--height-medium .prism-banner__frame,
.prism-banner--height-medium .prism-banner__overlay,
.prism-banner--height-medium .prism-banner__frame > .prism-banner__image,
.prism-banner--height-medium .prism-banner__frame > .prism-banner__tint {
	--prism-banner-min-height: clamp(280px, 55vw, 500px);
}

.prism-banner--height-tall .prism-banner__frame,
.prism-banner--height-tall .prism-banner__overlay,
.prism-banner--height-tall .prism-banner__frame > .prism-banner__image,
.prism-banner--height-tall .prism-banner__frame > .prism-banner__tint {
	--prism-banner-min-height: clamp(360px, 70vw, 700px);
}

.prism-banner--height-short .prism-banner__frame,
.prism-banner--height-medium .prism-banner__frame,
.prism-banner--height-tall .prism-banner__frame {
	grid-template-rows: var(--prism-banner-min-height);
	height: var(--prism-banner-min-height);
	max-height: var(--prism-banner-min-height);
}

.prism-banner--height-short .prism-banner__overlay,
.prism-banner--height-medium .prism-banner__overlay,
.prism-banner--height-tall .prism-banner__overlay {
	height: 100%;
	max-height: var(--prism-banner-min-height);
}

.prism-banner--height-short .prism-banner__image,
.prism-banner--height-medium .prism-banner__image,
.prism-banner--height-tall .prism-banner__image {
	height: 100%;
	max-height: 100%;
	min-height: 0;
}

.prism-banner--no-image .prism-banner__image {
	display: none;
}

.prism-banner__content {
	box-sizing: border-box;
	color: #fff;
	max-width: 100%;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
	width: 100%;
}

.prism-banner__content h1,
.prism-banner__content h2,
.prism-banner__content h3,
.prism-banner__content h4,
.prism-banner__content h5,
.prism-banner__content h6,
.prism-banner__content p,
.prism-banner__content a {
	color: inherit;
}

.prism-banner__content > *:last-child {
	margin-bottom: 0;
}

.prism-banner--layout-upcoming-present .prism-banner__overlay {
	align-content: center;
	justify-items: stretch;
}

.prism-banner--layout-upcoming-present .prism-banner__overlay > .prism-block__inner {
	width: 100%;
}

.prism-banner__upcoming-grid {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	width: 100%;
}

.prism-banner__upcoming-content {
	min-width: 0;
}

.prism-banner--layout-upcoming-present .prism-banner__upcoming-content .prism-banner__content {
	padding-inline: 0;
	text-align: left;
}

.prism-banner__upcoming-feature {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	text-align: center;
}

.prism-banner__upcoming-label {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0 0 1rem;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
	text-transform: uppercase;
}

.prism-banner__upcoming-media {
	max-width: 100%;
	width: min(100%, 420px);
}

.prism-banner__upcoming-image {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.prism-block--has-text-color .prism-banner__upcoming-label {
	text-shadow: none;
}

@media (max-width: 639px) {
	.prism-banner__frame {
		height: auto;
	}

	.prism-banner__content {
		padding: 1.25rem;
	}

	.prism-banner__upcoming-grid {
		gap: 1.5rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.prism-banner__upcoming-feature {
		order: 2;
	}

	.prism-banner--layout-upcoming-present .prism-banner__upcoming-content .prism-banner__content {
		padding-inline: 1.25rem;
	}
}

.prism-block--content {
	width: 100%;
}

.prism-block > .prism-block__outer.uk-container,
.prism-block > .prism-block__inner.uk-container,
.prism-block__viewport > .prism-block__outer.uk-container,
.prism-block__viewport > .prism-block__inner.uk-container,
.prism-block__viewport > .prism-block__outer > .prism-block__inner.uk-container {
	box-sizing: border-box;
	width: 100%;
}

.prism-block__outer.uk-container-large > .prism-block__inner.uk-container-large,
.prism-block__outer.uk-container-small > .prism-block__inner.uk-container-small,
.prism-block__outer.uk-container-xlarge > .prism-block__inner.uk-container-xlarge,
.prism-block__outer.uk-container-expand > .prism-block__inner.uk-container-expand,
.prism-block__outer.uk-container > .prism-block__inner.uk-container:not([class*="uk-container-"]) {
	box-sizing: border-box;
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

.prism-content__body {
	max-width: 100%;
}

.prism-content__body > *:last-child {
	margin-bottom: 0;
}

.prism-content__body :is(
		.prism-button,
		.prism-button-default,
		.prism-button-primary,
		.prism-button-black,
		.uk-button,
		.uk-button-default,
		.uk-button-primary,
		.uk-button-black
	),
.prism-banner__content :is(
		.prism-button,
		.prism-button-default,
		.prism-button-primary,
		.prism-button-black,
		.uk-button,
		.uk-button-default,
		.uk-button-primary,
		.uk-button-black
	) {
	box-sizing: border-box;
	display: inline-block;
	line-height: 1.5;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
}

.prism-content__body :is(.prism-button, .prism-button-default, .prism-button-primary, .prism-button-black).prism-button-half,
.prism-banner__content :is(.prism-button, .prism-button-default, .prism-button-primary, .prism-button-black).prism-button-half,
.prism-content__body .uk-button.prism-button--half,
.prism-banner__content .uk-button.prism-button--half {
	padding: 7.5px 15px;
}
