.csphs {
	--csphs-primary: #005b82;
	--csphs-secondary: #6fbf44;
	--csphs-accent: #f4b41a;
	--csphs-overlay: #052f46;
	--csphs-overlay-opacity: .52;
	--csphs-desktop-height: 640px;
	--csphs-tablet-height: 560px;
	--csphs-mobile-height: 620px;
	--csphs-content-width: 1320px;
	position: relative;
	width: 100%;
	max-width: none !important;
	overflow: hidden;
	background: var(--csphs-primary);
	font-family: inherit;
}

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

.csphs__carousel:not(.flickity-enabled) .csphs__slide:not(:first-child) {
	display: none;
}

.csphs__carousel,
.csphs .flickity-viewport,
.csphs .flickity-slider {
	width: 100% !important;
	max-width: none !important;
}

.csphs .flickity-slider {
	display: block !important;
}

.csphs__carousel {
	min-height: var(--csphs-desktop-height);
}

.csphs__carousel.flickity-enabled .csphs__slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.csphs__slide {
	position: relative;
	display: flex;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	min-height: var(--csphs-desktop-height);
	overflow: hidden;
	background: linear-gradient(135deg, var(--csphs-primary), #00354d);
	isolation: isolate;
}

.csphs__background,
.csphs__overlay {
	position: absolute;
	inset: 0;
}

.csphs__background {
	z-index: -2;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1.015);
	transition: transform 7s ease;
}

.csphs__slide.is-selected .csphs__background {
	transform: scale(1.06);
}

.csphs__overlay {
	z-index: -1;
	background: var(--csphs-overlay);
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--csphs-overlay) 82%, transparent) 0%, transparent 74%),
		var(--csphs-overlay);
	opacity: var(--csphs-overlay-opacity);
}

.csphs__container {
	display: flex;
	width: min(100%, var(--csphs-content-width));
	min-height: inherit;
	margin-inline: auto;
	padding: 44px clamp(24px, 5vw, 72px);
}

.csphs__row {
	width: 100%;
	min-height: 100%;
	margin-inline: 0;
}

.csphs__copy-column,
.csphs__image-column {
	display: flex;
	align-items: center;
	padding-inline: clamp(10px, 2vw, 24px);
}

.csphs__slide--align-center .csphs__copy-column {
	margin-inline: auto;
}

.csphs__slide--align-right .csphs__copy-column {
	margin-left: auto;
}

.csphs__panel {
	width: 100%;
	max-width: 780px;
	padding: clamp(28px, 4vw, 58px);
	border-radius: 2px;
	color: #fff;
}

.csphs__slide--align-center .csphs__panel {
	margin-inline: auto;
	text-align: center;
}

.csphs__slide--align-right .csphs__panel {
	margin-left: auto;
	text-align: right;
}

.csphs__panel--none {
	padding-left: 0;
	padding-right: 0;
}

.csphs__panel--glass {
	border-left: 7px solid var(--csphs-accent);
	background: rgba(2, 38, 56, .82);
	box-shadow: 0 22px 60px rgba(0, 0, 0, .2);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.csphs__panel--light {
	border-top: 7px solid var(--csphs-secondary);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 22px 60px rgba(0, 0, 0, .18);
	color: #173443;
}

.csphs__panel--brand {
	border-left: 7px solid var(--csphs-accent);
	background: var(--csphs-primary);
	background: linear-gradient(135deg, color-mix(in srgb, var(--csphs-primary) 94%, transparent), color-mix(in srgb, var(--csphs-secondary) 88%, transparent));
	box-shadow: 0 22px 60px rgba(0, 0, 0, .2);
}

.csphs__panel--color-card {
	--csphs-card-header: #0d76be;
	--csphs-card-header-text: #fff;
	--csphs-card-body: #fff;
	--csphs-card-body-text: #25292d;
	--csphs-card-accent: #f26122;
	--csphs-card-border: #d2d2d2;
	padding: 0;
	overflow: hidden;
	border: 2px solid var(--csphs-card-border);
	border-radius: 10px 10px 4px 4px;
	background: var(--csphs-card-body);
	box-shadow: 0 20px 52px rgba(0, 0, 0, .2);
	color: var(--csphs-card-body-text);
	text-shadow: none;
}

.csphs__card-header {
	padding: clamp(16px, 2vw, 24px) clamp(22px, 3vw, 38px);
	background: var(--csphs-card-header);
	color: var(--csphs-card-header-text);
	text-align: center;
}

.csphs__panel--color-card .csphs__title {
	color: inherit;
	font-size: clamp(1.75rem, 3vw, 2.7rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.08;
}

.csphs__card-body {
	padding: clamp(24px, 3.2vw, 42px);
	background: var(--csphs-card-body);
	color: var(--csphs-card-body-text);
}

.csphs__panel--color-card .csphs__eyebrow {
	margin-bottom: 12px;
	color: var(--csphs-card-accent);
}

.csphs__panel--color-card .csphs__body {
	margin-top: 0;
	color: var(--csphs-card-body-text);
	font-size: clamp(1rem, 1.25vw, 1.15rem);
	line-height: 1.55;
}

.csphs__panel--color-card .csphs__body :where(h2, h3, h4, h5, h6) {
	margin: .25em 0 .45em;
	color: var(--csphs-card-accent);
	font-family: inherit;
	font-weight: 500;
	letter-spacing: -.02em;
	line-height: 1.16;
}

.csphs__panel--color-card .csphs__body :where(h2, h3) {
	font-size: clamp(1.65rem, 2.5vw, 2.25rem);
}

.csphs__panel--color-card .csphs__body :where(h4, h5, h6) {
	font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

.csphs__panel--color-card .csphs__body a {
	color: var(--csphs-card-accent);
	text-decoration-thickness: .08em;
	text-underline-offset: .14em;
}

.csphs__panel--color-card .csphs__body hr {
	margin: 1em 0;
	border: 0;
	border-top: 1px solid var(--csphs-card-border);
	opacity: 1;
}

.csphs__panel--color-card .csphs__button--accent {
	background: var(--csphs-card-accent);
}

.csphs__panel--color-card .csphs__button--outline-light {
	border-color: var(--csphs-card-accent);
	color: var(--csphs-card-accent);
}

/* Overlay card: edge-to-edge image, geometric title bar, and compact content body. */
.csphs--has-overlay-card {
	box-sizing: border-box;
	border: 10px solid var(--csphs-primary);
	border-radius: 16px;
}

.csphs__slide--overlay-card .csphs__overlay {
	display: none;
}

.csphs__slide--overlay-card .csphs__image-column {
	display: none;
}

.csphs__slide--overlay-card .csphs__container {
	width: 100%;
	max-width: none;
	padding: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2vw, 2.5rem);
}

.csphs__slide--overlay-card .csphs__copy-column {
	flex: 0 0 var(--csphs-panel-width);
	width: var(--csphs-panel-width);
	max-width: var(--csphs-panel-width);
	margin: 0;
	padding-inline: 0;
}

.csphs__slide--overlay-card.csphs__slide--panel-left .csphs__copy-column {
	margin-right: auto;
}

.csphs__slide--overlay-card.csphs__slide--panel-center .csphs__copy-column {
	margin-inline: auto;
}

.csphs__slide--overlay-card.csphs__slide--panel-right .csphs__copy-column {
	margin-left: auto;
}

.csphs__panel--overlay-card {
	--csphs-card-header: #0d76be;
	--csphs-card-header-text: #fff;
	--csphs-card-body: #fff;
	--csphs-card-body-text: #3d4148;
	--csphs-card-accent: #f26122;
	--csphs-card-border: #d2d2d2;
	width: 100%;
	max-width: none;
	height: auto !important;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 12px;
	background: var(--csphs-card-body);
	box-shadow: 0 18px 46px rgba(0, 0, 0, .18);
	color: var(--csphs-card-body-text);
	font-family: "proxima-nova", "Proxima Nova", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-shadow: none;
	text-align: left;
}

.csphs__panel--overlay-card .csphs__card-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 6.25rem;
	padding: 1.125rem clamp(1.75rem, 3.4vw, 3.625rem);
	background-color: var(--csphs-card-header);
	color: var(--csphs-card-header-text);
	text-align: center;
}

.csphs__panel--overlay-card .csphs__title {
	color: inherit;
	font-family: "proxima-nova", "Proxima Nova", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(2.1rem, 3vw, 3.55rem);
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1.08;
}

.csphs__panel--overlay-card .csphs__card-body {
	position: relative;
	display: block;
	min-height: 12.5rem;
	height: auto !important;
	padding: 0;
	background: var(--csphs-card-body);
	color: var(--csphs-card-body-text);
}

.csphs__panel--overlay-card .csphs__card-content {
	width: 100%;
	padding: 1.5rem clamp(3rem, 3.4vw, 4rem) 1.75rem;
}

.csphs__panel--overlay-card .csphs__eyebrow {
	margin-bottom: 10px;
	color: var(--csphs-card-accent);
	font-size: clamp(.78rem, .9vw, .95rem);
	font-weight: 700;
}

.csphs .csphs__panel--overlay-card .csphs__body {
	max-width: none;
	margin-top: 0;
	color: var(--csphs-card-body-text);
	font-family: "proxima-nova", "Proxima Nova", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.02rem, 1.17vw, 1.4rem);
	font-weight: 400;
	line-height: 1.28;
	margin-inline: 0;
	text-align: left;
}

.csphs__panel--overlay-card .csphs__body :where(h2, h3, h4, h5, h6) {
	color: var(--csphs-card-accent);
}

.csphs__panel--overlay-card .csphs__body a {
	color: var(--csphs-card-accent);
}

.csphs .csphs__panel--overlay-card .csphs__actions {
	margin-top: 16px;
	justify-content: flex-start;
	text-align: left;
}

.csphs__panel--overlay-card .csphs__button {
	min-height: 58px;
	padding: 13px 27px;
	border-color: transparent;
	border-radius: 7px;
	background: var(--csphs-card-accent);
	color: #fff !important;
	font-family: "proxima-nova", "Proxima Nova", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1rem, 1.08vw, 1.25rem);
	font-weight: 700;
}

.csphs__panel--overlay-card .csphs__button--accent {
	background: var(--csphs-card-accent);
	color: #fff;
}

.csphs__panel--overlay-card .csphs__button--outline-light {
	border-color: var(--csphs-card-accent);
	background: transparent;
	color: var(--csphs-card-accent) !important;
}

.csphs__panel--overlay-card .csphs__button > span {
	display: none;
}

.csphs__card-nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 58px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--csphs-card-header);
	cursor: pointer;
	transform: translateY(-50%);
}

.csphs__card-nav--previous {
	left: 9px;
}

.csphs__card-nav--next {
	right: 9px;
}

.csphs__card-nav span {
	display: block;
	width: 19px;
	height: 19px;
	border: solid currentColor;
	border-width: 0 5px 5px 0;
	font-size: 0;
	line-height: 0;
}

.csphs__card-nav--previous span {
	transform: rotate(135deg);
}

.csphs__card-nav--next span {
	transform: rotate(-45deg);
}

.csphs--has-overlay-card .flickity-prev-next-button {
	display: none;
}

.csphs__card-nav:hover {
	color: var(--csphs-card-accent);
}

.csphs__card-nav:focus-visible {
	outline: 3px solid var(--csphs-card-header);
	outline-offset: -5px;
}

.csphs__slide--text-dark .csphs__panel:not(.csphs__panel--brand):not(.csphs__panel--glass) {
	color: #173443;
}

.csphs__slide--text-light .csphs__panel--none {
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .38);
}

.csphs__eyebrow {
	margin: 0 0 12px;
	color: var(--csphs-accent);
	font-size: clamp(.8rem, 1.1vw, 1rem);
	font-weight: 800;
	letter-spacing: .13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.csphs__panel--light .csphs__eyebrow,
.csphs__slide--text-dark .csphs__eyebrow {
	color: var(--csphs-primary);
}

.csphs__title {
	margin: 0;
	color: inherit;
	font-family: inherit;
	font-size: clamp(2.25rem, 5vw, 4.9rem);
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: .99;
	text-wrap: balance;
}

.csphs__body {
	max-width: 66ch;
	margin-top: 22px;
	font-size: clamp(1rem, 1.4vw, 1.22rem);
	line-height: 1.58;
}

.csphs__slide--align-center .csphs__body {
	margin-inline: auto;
}

.csphs__slide--align-right .csphs__body {
	margin-left: auto;
}

.csphs__body p {
	margin: 0 0 .8em;
}

.csphs__body p:last-child {
	margin-bottom: 0;
}

.csphs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.csphs__slide--align-center .csphs__actions {
	justify-content: center;
}

.csphs__slide--align-right .csphs__actions {
	justify-content: flex-end;
}

.csphs__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: 13px 23px;
	border: 2px solid transparent;
	border-radius: 2px;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.csphs__button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

.csphs__button:focus-visible,
.csphs__autoplay:focus-visible,
.csphs .flickity-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px #173443;
}

.csphs__button--primary {
	background: var(--csphs-primary);
	color: #fff;
}

.csphs__button--secondary {
	background: var(--csphs-secondary);
	color: #102b1a;
}

.csphs__button--accent {
	background: var(--csphs-accent);
	color: #1e2e37;
}

.csphs__button--light {
	background: #fff;
	color: var(--csphs-primary);
}

.csphs__button--outline-light {
	border-color: #fff;
	background: transparent;
	color: #fff;
}

.csphs__panel--light .csphs__button--outline-light,
.csphs__slide--text-dark .csphs__button--outline-light {
	border-color: var(--csphs-primary);
	color: var(--csphs-primary);
}

.csphs__button--outline-primary {
	border-color: var(--csphs-primary);
	background: transparent;
	color: var(--csphs-primary);
}

.csphs__content-image {
	display: block;
	width: 100%;
	max-height: calc(var(--csphs-desktop-height) - 80px);
	object-fit: contain;
	filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .28));
}

.csphs .flickity-viewport,
.csphs .flickity-slider {
	min-height: var(--csphs-desktop-height);
}

.csphs .flickity-button {
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, .94);
	color: var(--csphs-primary);
	transition: transform .2s ease, background-color .2s ease;
}

.csphs .flickity-button:hover {
	background: var(--csphs-accent);
	transform: scale(1.05);
}

.csphs .flickity-prev-next-button.previous {
	left: 16px;
}

.csphs .flickity-prev-next-button.next {
	right: 16px;
}

.csphs .flickity-page-dots {
	bottom: 18px;
	z-index: 5;
}

.csphs .flickity-page-dot {
	width: 11px;
	height: 11px;
	margin: 0 6px;
	background: #fff;
	opacity: .65;
}

.csphs .flickity-page-dot.is-selected {
	width: 30px;
	border-radius: 7px;
	background: var(--csphs-accent);
	opacity: 1;
}

.csphs__autoplay {
	position: absolute;
	right: 20px;
	bottom: 16px;
	z-index: 7;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, .8);
	border-radius: 50%;
	background: rgba(2, 38, 56, .82);
	color: #fff;
	cursor: pointer;
}

.csphs__autoplay-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.csphs__pause-icon {
	width: 12px;
	height: 14px;
	border-left: 4px solid currentColor;
	border-right: 4px solid currentColor;
}

.csphs__play-icon {
	display: none;
	width: 0;
	height: 0;
	margin-left: 3px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 12px solid currentColor;
}

.csphs__autoplay.is-paused .csphs__pause-icon {
	display: none;
}

.csphs__autoplay.is-paused .csphs__play-icon {
	display: block;
}

.csphs-notice {
	padding: 12px 16px;
	border-left: 4px solid #dba617;
	background: #fff8e5;
}

/* Bootstrap 5 default tiers: xs <576, sm >=576, md >=768, lg >=992, xl >=1200, xxl >=1400. */
@media (min-width: 768px) and (max-width: 991.98px) {
	.csphs__carousel,
	.csphs__slide,
	.csphs .flickity-viewport,
	.csphs .flickity-slider {
		min-height: var(--csphs-tablet-height);
	}

	.csphs__container {
		padding: 36px 42px 52px;
	}

	.csphs__panel {
		max-width: 700px;
	}

	.csphs__image-column {
		display: none;
	}

	.csphs__content-image {
		max-height: calc(var(--csphs-tablet-height) - 80px);
	}

	.csphs__slide--overlay-card .csphs__container {
		padding: 2rem 1.75rem 2.5rem;
	}

	.csphs__slide--overlay-card .csphs__copy-column {
		flex-basis: min(86%, 760px);
		width: min(86%, 760px);
		max-width: min(86%, 760px);
	}
}

@media (max-width: 767.98px) {
	.csphs__carousel,
	.csphs__slide,
	.csphs .flickity-viewport,
	.csphs .flickity-slider {
		min-height: max(var(--csphs-mobile-height), 46rem);
	}

	.csphs__container {
		padding: 32px 18px 62px;
	}

	.csphs__copy-column {
		padding: 0;
	}

	.csphs__panel {
		padding: 28px 24px;
	}

	.csphs__panel--none {
		padding-inline: 10px;
	}

	.csphs--has-overlay-card {
		border-width: .375rem;
		border-radius: .6875rem;
	}

	.csphs__slide--overlay-card {
		display: block;
		padding-top: 56.25%;
		background: var(--csphs-primary);
	}

	.csphs__slide--overlay-card .csphs__background {
		inset: 0 0 auto;
		z-index: 0;
		height: auto;
		aspect-ratio: 16 / 9;
		transform: none;
	}

	.csphs__slide--overlay-card.is-selected .csphs__background {
		transform: none;
	}

	.csphs__slide--overlay-card .csphs__container {
		position: relative;
		z-index: 1;
		display: block;
		min-height: 0;
		margin-top: -2.75rem;
		padding: 0 .875rem 2rem;
	}

	.csphs__slide--overlay-card .csphs__row {
		min-height: 0;
	}

	.csphs__slide--overlay-card .csphs__copy-column {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}

	.csphs__panel--overlay-card {
		padding: 0;
		border-radius: .625rem;
	}

	.csphs__panel--overlay-card .csphs__card-header {
		justify-content: flex-start;
		min-height: 7.5rem;
		padding: 1.25rem 1.5rem;
		text-align: left;
	}

	.csphs__panel--overlay-card .csphs__title {
		font-size: clamp(2.3rem, 10.5vw, 3.25rem);
		line-height: 1.02;
		text-align: left;
	}

	.csphs__panel--overlay-card .csphs__card-content {
		padding: 1.75rem 3rem 2.75rem;
	}

	.csphs__panel--overlay-card .csphs__card-body {
		min-height: calc(max(var(--csphs-mobile-height), 46rem) - min(56.25vw, 28rem) - 2rem);
	}

	.csphs__panel--overlay-card .csphs__body {
		font-size: clamp(1.25rem, 5vw, 1.5rem);
		line-height: 1.35;
	}

	.csphs .csphs__panel--overlay-card .csphs__actions {
		margin-top: 1.5rem;
	}

	.csphs__panel--overlay-card .csphs__button {
		min-height: 4rem;
		padding: 1rem 1.75rem;
		font-size: 1.25rem;
	}

	.csphs__card-nav {
		width: 36px;
		height: 48px;
	}

	.csphs__card-nav--previous {
		left: .375rem;
	}

	.csphs__card-nav--next {
		right: .375rem;
	}

	.csphs__card-nav span {
		width: 14px;
		height: 14px;
		border-width: 0 4px 4px 0;
	}

	.csphs__title {
		font-size: clamp(2.1rem, 11vw, 3.7rem);
	}

	.csphs .flickity-prev-next-button {
		top: auto;
		bottom: 12px;
		width: 40px;
		height: 40px;
		transform: none;
	}

	.csphs .flickity-prev-next-button:hover {
		transform: scale(1.05);
	}

	.csphs .flickity-page-dots {
		bottom: 25px;
		padding-inline: 70px;
	}

	.csphs__autoplay {
		right: 12px;
		bottom: 14px;
	}
}

@media (max-width: 575.98px) {
	.csphs__panel--overlay-card .csphs__card-header {
		min-height: 7rem;
		padding-inline: 1rem;
	}

	.csphs__panel--overlay-card .csphs__card-content {
		padding: 1.5rem 2.5rem 2.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.csphs *,
	.csphs *::before,
	.csphs *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	.csphs__background,
	.csphs__slide.is-selected .csphs__background {
		transform: none;
	}
}

@media (forced-colors: active) {
	.csphs__panel,
	.csphs__button,
	.csphs__autoplay {
		border: 2px solid ButtonText;
	}
}
