:root {
	--header-offset: 66px
}

@media (max-width:767px) {
	:root {
		--header-offset: 64px
	}
}

html {
	scroll-padding-top: calc(var(--header-offset) + 0px)
}

.anchor-target {
	scroll-margin-top: calc(var(--header-offset) + 0px)
}

.cs-figure {
	margin: 0;
	text-align: center
}

.cs-figure .cs-thumb {
	display: block;
	margin: 0 auto
}

.cs-caption {
	margin-top: 6px;
	font-size: 1.2em;
	color: #5c6b78
}

@media (max-width:767px) {
	.cs-caption {
		font-size: 1em
	}
}

.agency-page {
	--space-1: clamp(6px, .6vw, 8px);
	--space-2: clamp(8px, 1vw, 12px);
	--space-3: clamp(12px, 1.8vw, 16px);
	--space-4: clamp(16px, 2.6vw, 24px);
	--space-5: clamp(22px, 3.5vw, 32px);
	--space-6: clamp(28px, 4.8vw, 48px);
	--space-7: clamp(36px, 6.4vw, 64px)
}

.agency-section {
	padding-top: var(--space-6);
	padding-bottom: var(--space-6)
}

.agency-section.tight {
	padding-top: var(--space-4);
	padding-bottom: var(--space-4)
}

.agency-section.tighter {
	padding-top: var(--space-2);
	padding-bottom: var(--space-2)
}

.reveal-on-scroll {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s ease-out, transform .6s ease-out
}

.reveal-on-scroll.is-in {
	opacity: 1;
	transform: none
}

@media(prefers-reduced-motion:reduce) {
	.reveal-on-scroll {
		opacity: 1;
		transform: none;
		transition: none
	}
}

@media(max-width:767px) {
	.row>[class*="col-"]+[class*="col-"] {
		margin-top: clamp(18px, 5vw, 28px)
	}
}

.agency-section-band {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	position: relative;
	padding: 0
}

.agency-section-band.alt-blue {
	background-color: #f6f9fc
}

.agency-section-band.alt-blue-dk {
	background-color: #7d87a2
}

.agency-section-band.alt-gold {
	background-color: #fffaf3
}

.agency-section-band.alt-green {
	background-color: #f5fbf8
}

.agency-section-band.alt-gray {
	background-color: #fafafa
}

.agency-section-band.alt-blue-dk {
	position: relative;
	isolation: isolate;
	color: #f6f8fb;
	background: radial-gradient(120% 150% at 50% 30%, #cfd9e3 0%, #7d87a2 46%, #a7b6c8 100%)
}

.agency-section-band.alt-blue-dk::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(80% 60% at 0% 50%, rgb(255 255 255 / .22), transparent 60%), radial-gradient(80% 60% at 100% 50%, rgb(255 255 255 / .22), transparent 60%);
	mix-blend-mode: soft-light;
	z-index: 0
}

.agency-section-band.alt-blue-dk::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 140px rgb(0 0 0 / .10);
	z-index: 0
}

.agency-section-band.alt-blue-dk>.container,
.agency-section-band.alt-blue-dk>.container-fluid {
	position: relative;
	z-index: 1
}

.agency-section-band.alt-blue-dk a {
	color: #0b6b45
}

.agency-section-band.alt-blue-dk a:hover,
.agency-section-band.alt-blue-dk a:focus {
	color: #084e34
}

.agency-section-band.alt-blue-dk hr {
	border-color: rgb(0 0 0 / .15)
}

.agency-section-band.alt-blue-dk .card,
.agency-section-band.alt-blue-dk .panel {
	background: #fff;
	box-shadow: 0 6px 18px rgb(0 0 0 / .10);
	border: 1px solid rgb(0 0 0 / .04)
}

@media print {
	.agency-section-band.alt-blue-dk {
		background: #bbc9d6 !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact
	}

	.agency-section-band.alt-blue-dk::before,
	.agency-section-band.alt-blue-dk::after {
		display: none !important
	}
}

.agency-section-band>.agency-section {
	padding-top: var(--space-6);
	padding-bottom: var(--space-6)
}

.section-gradient::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(ellipse at top left, rgb(255 255 255 / .4), transparent 60%), radial-gradient(ellipse at bottom right, rgb(0 0 0 / .05), transparent 60%);
	pointer-events: none
}

.pricing-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px
}

.pricing-row>[class*="col-"] {
	display: flex;
	padding-left: 15px;
	padding-right: 15px
}

.pricing-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 16px rgb(0 0 0 / .1);
	margin: 15px 0;
	transition: all .35s ease
}

.pricing-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 26px rgb(0 0 0 / .16)
}

.pricing-header {
	padding: 20px 15px 10px;
	color: #fff;
	text-align: center;
	position: relative;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px
}

.pricing-card.deals .pricing-header {
	background: linear-gradient(135deg, #a891d9, #7975c8)
}

.pricing-card.connect .pricing-header {
	background: linear-gradient(135deg, #7975c8, #524f88)
}

.pricing-card .pricing-header {
	position: relative
}

.most-popular {
	position: absolute;
	right: 10px;
	bottom: 0;
	transform: translateY(50%);
	background: #f9e3a3;
	color: #0b6b45;
	border: 1px solid #0b6b45;
	font-weight: 700;
	font-size: .9em;
	line-height: 1.2;
	padding: 10px 8px;
	border-radius: 12px;
	text-transform: uppercase;
	z-index: 2
}

.plan-name {
	font-size: 1.9em;
	padding-bottom: 5px;
	color: #fff;
	font-weight: 700
}

.plan-price {
	font-size: 2.4em;
	font-weight: 700;
	margin-top: 5px
}

.plan-price .period {
	font-size: .5em;
	color: rgb(255 255 255 / .9);
	margin-left: 2px
}

.plan-tagline {
	font-size: 1.5em;
	font-weight: 300;
	margin-top: 5px;
	color: rgb(255 255 255 / .9)
}

.pricing-body {
	flex: 1 1 auto;
	padding: 20px 30px
}

.pricing-body .label-text.connect-extra,
.check-text.connect-extra {
	color: #03a967 !important;
	font-weight: 600 !important
}

.pricing-footer {
	text-align: center;
	padding: 15px 25px 20px;
	border-top: 1px solid #f1f1f1
}

.pricing-footer small {
	display: block;
	margin-top: 8px;
	color: #777;
	font-size: .8em
}

.btn.btn-success.btn-block {
	font-weight: 600;
	border-radius: 4px
}

@media(max-width:767px) {
	.pricing-row {
		display: block
	}

	.pricing-card {
		margin: 15px auto;
		max-width: 500px
	}
}

.feature-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 7px;
	font-size: .95em
}

.label-text {
	flex: 1;
	text-align: left
}

.check-text {
	text-align: right
}

.feature-header {
	font-weight: 700;
	color: #333;
	border-top: 1px solid #eee;
	margin-top: 12px;
	padding-top: 8px;
	text-transform: uppercase;
	font-size: .9em
}

.check {
	color: #4caf50;
	font-weight: 700;
	font-size: 1em;
	order: 3;
	flex-shrink: 0
}

.x {
	color: #bbb;
	font-weight: 700;
	font-size: 1em;
	order: 3;
	flex-shrink: 0
}

.feature-list li.disabled,
.feature-list li:has(.x) {
	color: #aaa;
	opacity: .7
}

.help {
	order: 2;
	margin: 0 6px;
	flex-shrink: 0;
	align-self: center;
	background: #eee;
	color: #666;
	border-radius: 50%;
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	font-size: 1em;
	cursor: help;
	position: relative
}

.help .tooltip-text {
	position: absolute;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	color: #333;
	border: 1px solid #ddd;
	box-shadow: 0 3px 8px rgb(0 0 0 / .25);
	padding: 10px 8px;
	border-radius: 6px;
	font-size: 1em;
	line-height: 1.5em;
	width: max-content;
	max-width: 240px;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	white-space: normal;
	transition: opacity .25s ease, transform .25s ease;
	z-index: 9999
}

.help:hover .tooltip-text {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-2px)
}

.pricing-card {
	position: relative;
	z-index: 0;
	overflow: visible
}

.pricing-card.is-help-active {
	z-index: 9999
}

.help .tooltip-text {
	z-index: 10000
}

.pricing-grid,
.pricing-row,
.pricing-cards {
	overflow: visible
}

.table-compare {
	table-layout: fixed
}

.table-compare th,
.table-compare td {
	word-wrap: break-word;
	white-space: normal
}

.table-compare th .th-brand {
	display: block;
	font-weight: 600
}

.table-compare th .th-edition {
	display: block;
	font-weight: 500;
	opacity: .9
}

@media (max-width:767px) {
	.table-compare th {
		font-size: 14px;
		line-height: 1.15
	}

	.table-compare th .th-edition {
		font-size: .95em
	}
}

.badge-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 120px;
	vertical-align: middle;
	margin: 0 auto
}

.award-badge {
	height: 100%;
	width: auto;
	display: block;
	object-fit: contain;
	opacity: .98;
	transition: opacity 0.3s ease
}

.badge-wrap:hover {
	transform: translateY(-4px)
}

.badge-wrap:hover .award-badge {
	opacity: 1
}

@media (max-width:767px) {
	.badge-wrap {
		max-width: 180px;
		height: 110px;
		margin: 10px auto
	}
}

.badge-review {
	position: absolute;
	bottom: 115%;
	left: 50%;
	transform: translateX(-50%) translateY(0);
	background: #fff;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 10px;
	box-shadow: 0 6px 20px rgb(0 0 0 / .25);
	padding: 14px 18px;
	width: 320px;
	max-width: 90vw;
	font-size: .9em;
	line-height: 1.4em;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
	z-index: 99999
}

.badge-review::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -8px;
	border-width: 8px;
	border-style: solid;
	border-color: #fff #fff0 #fff0 #fff0;
	filter: drop-shadow(0 2px 2px rgb(0 0 0 / .1))
}

.badge-wrap .badge-review {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(0);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none
}

.badge-wrap:hover .badge-review,
.badge-wrap .badge-review:hover {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-5px);
	pointer-events: auto
}

.badge-review a {
	color: #c58b00;
	font-weight: 600;
	text-decoration: none
}

.badge-review a:hover {
	text-decoration: underline
}

.badge-wrap:hover .badge-review,
.badge-review:hover {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-5px);
	pointer-events: auto
}

@media (max-width:767px) {
	.badge-review {
		width: 85vw;
		bottom: 120%;
		font-size: .85em;
		line-height: 1.3em
	}
}

.h2-accent {
	font-size: 1.9em;
	line-height: 1.25;
	font-weight: 600;
	margin-bottom: .35em
}

.h2-accent .sub {
	display: block;
	font-size: .58em;
	font-weight: 400;
	color: #5a6b7b;
	margin-top: .25em
}

.p-intro {
	font-size: 1.2em;
	line-height: 1.75;
	color: #2b2b2b;
	margin-bottom: .9em
}

.benefit-list {
	font-size: 1.15em;
	margin: 0;
	padding: 0;
	list-style: none
}

.benefit-list li {
	position: relative;
	padding-left: 28px;
	margin: 10px 0;
	line-height: 1.65
}

.benefit-list li:before {
	content: "\e013";
	font-family: 'Glyphicons Halflings';
	position: absolute;
	left: 0;
	top: .05em;
	font-size: .95em;
	color: #2bb673
}

@media (min-width:992px) {
	.benefits-2col {
		column-count: 2;
		column-gap: 40px
	}

	.benefits-2col li {
		break-inside: avoid
	}
}

.kpi-pills {
	margin: .4em 0 1em;
	text-align: center
}

.kpi-pills .pill {
	display: inline-block;
	background: #fff;
	border: 1px solid rgb(0 0 0 / .07);
	border-radius: 999px;
	padding: .45em .9em;
	margin: .25em;
	box-shadow: 0 2px 8px rgb(0 0 0 / .05);
	font-size: 1.2em;
	color: #3b4a59;
	transition: transform .18s ease, box-shadow .18s ease, outline-color .18s ease;
	will-change: transform
}

.kpi-pills .pill b {
	color: #0b6b45
}

.kpi-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 12px
}

@media (max-width:767px) {
	.kpi-pills {
		display: block;
		margin-left: -12px;
		margin-right: -12px
	}

	.kpi-pills .pill {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 12px 16px;
		margin: 8px 0;
		text-align: center;
		border-radius: 999px;
		border: 1px solid rgb(0 0 0 / .08);
		box-shadow: 0 2px 8px rgb(0 0 0 / .06);
		background: #fff;
		line-height: 1.3;
		white-space: normal;
		word-break: break-word;
		-webkit-hyphens: auto;
		hyphens: auto
	}

	.kpi-pills .pill b {
		display: inline
	}

	.kpi-pills .pill:focus,
	.kpi-pills .pill:hover {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(11 107 69 / .15)
	}
}

.pill.has-tip {
	position: relative;
	outline: 0;
	z-index: 1
}

.pill-tip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(-50%);
	min-width: 220px;
	max-width: 280px;
	padding: 8px 10px;
	font-size: .95em;
	line-height: 1.35;
	color: #223;
	background: #fff;
	border: 1px solid rgb(0 0 0 / .12);
	border-radius: 8px;
	box-shadow: 0 6px 18px rgb(0 0 0 / .12);
	opacity: 0;
	visibility: hidden;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	z-index: 9999;
	pointer-events: none;
	white-space: normal
}

.pill-tip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 7px solid #fff0;
	border-top-color: #fff;
	filter: drop-shadow(0 -1px 0 rgb(0 0 0 / .12))
}

.pill.has-tip:hover .pill-tip,
.pill.has-tip:focus .pill-tip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-2px)
}

@media (max-width:767px) {
	.kpi-pills {
		position: relative;
		z-index: 0
	}

	.kpi-pills .pill {
		position: relative;
		z-index: 1
	}

	.kpi-pills .pill.has-tip:hover,
	.kpi-pills .pill.has-tip:focus {
		z-index: 50
	}

	.pill.has-tip {
		position: relative
	}

	.pill-tip {
		top: auto;
		bottom: calc(100% + 8px);
		left: 50%;
		transform: translateX(-50%);
		max-width: min(92vw, 360px);
		width: max-content;
		text-align: center;
		overflow-wrap: anywhere;
		margin: 0 auto
	}

	.pill-tip::after {
		top: 100%;
		bottom: auto;
		left: 50%;
		transform: translateX(-50%);
		border: 7px solid #fff0;
		border-top-color: #fff;
		border-bottom-color: #fff0;
		filter: drop-shadow(0 -1px 0 rgb(0 0 0 / .12))
	}

	.kpi-pills .pill.has-tip:hover,
	.kpi-pills .pill.has-tip:focus {
		margin-top: 10px
	}
}

.kpi-pills,
.agency-section,
.pricing-card {
	overflow: visible
}

.kpi-pills .pill:focus-visible,
.kpi-pills .pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgb(0 0 0 / .14);
	outline: 2px solid rgb(11 107 69 / .35);
	outline-offset: 2px
}

.kpi-pills .pill:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgb(0 0 0 / .12)
}

@media (prefers-reduced-motion:reduce) {
	.kpi-pills .pill {
		transition: box-shadow .18s ease
	}

	.kpi-pills .pill:focus-visible,
	.kpi-pills .pill:hover {
		transform: none
	}
}

.reassure-points {
	margin-top: 12px;
	text-align: center
}

.reassure-points ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	justify-content: center
}

.reassure-points li {
	display: flex;
	align-items: center;
	color: #222;
	font-size: 15px
}

.reassure-points .chk {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-right: 8px;
	border: 2px solid #0b6b45;
	border-radius: 50%;
	color: #0b6b45;
	font-weight: 700;
	line-height: 1;
	font-size: 13px
}

@media (max-width:600px) {
	.reassure-points ul {
		gap: 8px 16px
	}

	.reassure-points li {
		font-size: 14px
	}
}

@media (min-width:992px) {
	.reassure-points ul {
		gap: 10px 32px
	}
}

.cta-subcaption {
	font-size: 1.15em;
	color: #555;
	margin-top: 8px;
	margin-bottom: 22px;
	line-height: 1.5em
}

.cta-subcaption .mobile-text {
	display: none
}

@media (max-width:767px) {
	.cta-subcaption {
		font-size: 1.05em;
		margin-bottom: 20px
	}

	.cta-subcaption .full-text {
		display: none
	}

	.cta-subcaption .mobile-text {
		display: inline
	}
}

.btn.btn-success,
.cta-lift {
	position: relative;
	display: inline-block;
	overflow: visible;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
	box-shadow: 0 4px 12px rgb(0 0 0 / .1)
}

.btn.btn-success:hover,
.btn.btn-success:focus,
.cta-lift:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgb(0 0 0 / .15);
	filter: brightness(1.06)
}

.btn.btn-success::after,
.btn.btn-success::before,
.cta-lift::after,
.cta-lift::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 4px;
	pointer-events: none;
	box-shadow: 0 0 15px 4px rgb(255 215 0 / .45);
	opacity: 0
}

.panel-info .btn,
.btn.btn-info::after,
.btn.btn-info::before,
.cta-lift.info-glow::after,
.cta-lift.info-glow::before {
	box-shadow: 0 0 15px 4px rgb(56 168 255 / .45)
}

.btn.btn-success:hover::after,
.btn.btn-info:hover::after,
.cta-lift:hover::after {
	animation: pulseGlow 1.6s ease-out 0s 2
}

.btn.btn-success:hover::before,
.btn.btn-info:hover::before,
.cta-lift:hover::before {
	animation: pulseGlow 1.6s ease-out 0.2s 2
}

@keyframes pulseGlow {
	0% {
		opacity: .6;
		transform: scale(.96)
	}

	50% {
		opacity: .25;
		transform: scale(1.08)
	}

	100% {
		opacity: 0;
		transform: scale(1.15)
	}
}

#reviewModal .modal-content {
	border-radius: 10px;
	box-shadow: 0 10px 25px rgb(0 0 0 / .25);
	border: none
}

#reviewModal .modal-header {
	background: #fafafa;
	border-bottom: 1px solid #eee;
	padding: 10px 15px
}

#reviewModal .modal-title {
	font-size: 1.15em;
	font-weight: 600;
	color: #333;
	margin: 0
}

#reviewModal .modal-body {
	font-size: 0.85em !important;
	line-height: 1.35em;
	color: #444;
	padding: 14px 18px
}

#reviewModal .modal-body p {
	margin-bottom: 8px;
	font-size: 1.3em !important;
	line-height: 1.6em;
	text-align: left
}

#reviewModal .modal-body small {
	display: block;
	color: #777;
	font-size: .85em
}

#reviewModal .modal-body a {
	color: #c58b00;
	text-decoration: none;
	font-weight: 600
}

#reviewModal .modal-body a:hover {
	text-decoration: underline
}

#reviewModal .close {
	color: #555;
	opacity: .8;
	font-size: 1.3em
}

#reviewModal .close:hover {
	opacity: 1
}

#reviewModal .modal-dialog {
	transition: none !important;
	max-width: 320px
}

@media (min-width:1200px) {
	.how-it-works-band .row.justify-content-center {
		display: flex;
		justify-content: center;
		flex-wrap: wrap
	}

	.how-it-works-band .row.justify-content-center>[class*="col-"] {
		float: none
	}
}

.how-it-works-band {
	background: #fff
}

.step-card {
	margin: 25px 15px
}

.step-card .pos-box {
	background: #fafafa;
	border: 1px solid #ddd;
	border-radius: 16px;
	padding: 15px 20px 10px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	min-height: 430px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	text-align: center
}

.step-card .pos-box:hover {
	transform: translateY(-8px);
	box-shadow: 0 10px 30px rgb(0 0 0 / .15)
}

.step-img {
	max-width: 280px;
	width: 100%;
	height: auto;
	margin-top: 25px;
	border-radius: 10px
}

.step-title {
	font-size: 1.3em;
	font-weight: 400;
	margin-top: 22px;
	color: #333;
	line-height: 1.4em;
	word-wrap: break-word;
	white-space: normal
}

.step-number {
	background: #f7b733;
	color: #fff;
	border-radius: 50%;
	width: 52px;
	height: 52px;
	line-height: 52px;
	font-size: 1.3em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
	box-shadow: 0 4px 10px rgb(0 0 0 / .1)
}

@media (max-width:991px) {
	.row.justify-content-center {
		max-width: 90%
	}

	.step-card {
		flex: 0 0 45%;
		max-width: 45%
	}

	.step-img {
		max-width: 260px
	}
}

@media (max-width:767px) {
	.step-card {
		flex: 0 0 100%;
		max-width: 100%;
		margin: 25px auto
	}

	.step-img {
		max-width: 240px
	}

	.step-title {
		font-size: 1.15em
	}
}

.h2-style {
	display: block;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
	max-width: 100%
}

@supports (text-wrap:balance) {
	.h2-style {
		text-wrap: balance
	}
}

@media (max-width:430px) {
	.h2-style {
		font-size: clamp(1.9em, 6vw, 2.0em);
		line-height: 1.2;
		letter-spacing: .1px
	}
}

.lead {
	line-height: 1.6
}

.row.lead-vcenter>[class*="col-"] {
	display: flex
}

.row.lead-vcenter .col-sm-8 {
	align-items: center
}

.row.lead-vcenter .col-sm-8 .lead {
	margin: 0
}

@media (min-width:992px) {
	.row.lead-vcenter .col-sm-8 {
		min-height: 209px
	}
}

@media (min-width:992px) {
	.row.lead-vcenter {
		display: flex;
		align-items: center
	}

	.row.lead-vcenter>[class*="col-"] {
		float: none;
		display: flex
	}

	.row.lead-vcenter .col-sm-9 {
		align-items: center;
		min-height: 209px
	}

	.row.lead-vcenter .lead {
		margin: 0;
		line-height: 1.7
	}
}

@media (max-width:767px) {
	.row.lead-vcenter>[class*="col-"] {
		display: block
	}
}

@media (min-width:992px) {
	.benefit-list.benefits-2col {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 40px;
		row-gap: 10px;
		column-count: initial;
		-webkit-column-count: initial;
		-moz-column-count: initial
	}

	.benefit-list {
		margin: 0;
		padding: 0;
		list-style: none
	}

	.benefit-list li {
		margin: 0;
		line-height: 1.85
	}
}

.app-promo-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	text-align: center;
	max-width: 100%
}

.app-promo-row>[class*="col-"] {
	display: flex;
	justify-content: center
}

.app-promo-row img {
	display: block;
	max-width: 100%;
	height: auto
}

.app-store-badge {
	display: inline-block;
	align-self: flex-end;
	border-radius: 10px;
	overflow: hidden;
	transform: translateZ(0);
	transition: transform .16s ease, box-shadow .16s ease, outline-color .16s ease;
	box-shadow: none;
	padding: 0;
	margin: 0;
	line-height: 0
}

.app-store-badge:hover,
.app-store-badge:focus {
	transform: translateY(-3px);
	box-shadow: 0 6px 14px rgb(0 0 0 / .22);
	outline: none
}

.app-store-badge:focus-visible {
	box-shadow: 0 0 0 3px rgb(184 255 214 / .55), 0 6px 14px rgb(0 0 0 / .22)
}

.app-promo-row .col-sm-6 img {
	margin-bottom: 0
}

.app-promo-row .col-sm-3 .app-store-badge {
	margin-bottom: 30px
}

.app-promo-row>.col-sm-3:first-child {
	justify-content: flex-end;
	padding-right: 6px
}

.app-promo-row>.col-sm-6 {
	padding-left: 6px;
	padding-right: 6px
}

.app-promo-row>.col-sm-3:last-child {
	justify-content: flex-start;
	padding-left: 6px
}

@media (max-width:767px) {
	.app-promo-row {
		align-items: center
	}

	.app-promo-row>[class*="col-"] {
		justify-content: center !important;
		padding-left: 15px;
		padding-right: 15px
	}

	.app-promo-row .col-sm-3 .app-store-badge {
		margin-bottom: 12px
	}

	.app-promo-row>.col-sm-3:first-child .app-store-badge {
		margin-bottom: 8px !important
	}

	.app-store-badge img {
		height: 64px;
		width: auto;
		max-width: none;
		display: block
	}

	.app-promo-row>.col-sm-3:first-child img {
		margin-bottom: 0 !important
	}
}

.hero-zoom {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgb(0 0 0 / .82);
	z-index: 9999
}

.hero-zoom.open {
	display: flex
}

.hero-zoom-img {
	max-width: 96vw;
	max-height: 90vh;
	border-radius: 12px;
	box-shadow: 0 12px 36px rgb(0 0 0 / .45)
}

.hero-close {
	position: absolute;
	top: 14px;
	right: 16px;
	background: rgb(255 255 255 / .9);
	border: 0;
	border-radius: 999px;
	width: 36px;
	height: 36px;
	line-height: 32px;
	font-size: 22px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 2px 8px rgb(0 0 0 / .25)
}

.hero-close:hover {
	background: #fff
}

body.no-scroll {
	overflow: hidden
}

.hero-zoom-trigger img {
	cursor: zoom-in
}

.hero-zoom.open {
	cursor: zoom-out
}

.container,
.row {
	overflow: visible !important
}

.help-hotspot {
	cursor: help
}

.exec-summary {
	font-size: 1.15em;
	line-height: 1.6;
	margin: .5em 0 1em;
	color: #222
}

@media (max-width:600px) {
	.exec-summary {
		margin-right: 15px !important;
		padding-right: 2px
	}
}

#page-hero {
	padding-bottom: 0
}

nav[aria-label="Breadcrumb"] {
	margin-top: 0px !important
}

.breadcrumb {
	margin-bottom: 0
}

.breadcrumb {
	background-color: #fff
}

.breadcrumb>li+li:before {
	color: #888
}

html,
body {
	overflow-x: clip
}

@supports not (overflow:clip) {

	html,
	body {
		overflow-x: hidden
	}
}

body,
.agency-section,
.container {
	overscroll-behavior-x: none
}

@media (max-width:767px) {
	.kpi-pills {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 12px;
		padding-right: 12px
	}
}

@media (max-width:767px) {
	.pill-tip {
		max-width: min(92vw, 360px);
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		overflow-wrap: anywhere
	}
}

.h2-style {
	overflow-wrap: anywhere;
	word-wrap: break-word;
	hyphens: auto
}

.app-promo-row {
	max-width: 100%;
	overflow-x: clip
}

main,
body {
	touch-action: pan-y
}

/* Contrast fix: Bootstrap .text-muted is too low-contrast on dark/gradient bands */
.agency-page .section-gradient .text-muted,
.agency-page .agency-section-band.alt-blue .text-muted,
.agency-page .agency-section-band.alt-blue-dk .text-muted,
.agency-page #page-hero .text-muted {
color: rgba(255,255,255,.88) !important;
text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
/* Contrast fix: Bootstrap .text-muted is too low-contrast on dark/gradient bands */
.agency-page .section-gradient .text-muted,
.agency-page .agency-section-band.alt-blue .text-muted,
.agency-page .agency-section-band.alt-blue-dk .text-muted,
.agency-page #page-hero .text-muted,
.agency-page .container > section.agency-section-band:first-of-type .text-muted{
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

/* Keep links readable on those same dark/gradient areas */
.agency-page .section-gradient .text-muted a,
.agency-page .agency-section-band.alt-blue .text-muted a,
.agency-page .agency-section-band.alt-blue-dk .text-muted a,
.agency-page #page-hero .text-muted a,
.agency-page .container > section.agency-section-band:first-of-type .text-muted a{
  color: #ffffff !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

