.form-section {
  position: relative;
}
.form-section .form-on-submit {
  display: none;
}
.form-section.submitted .form-on-submit {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.form-section.in-progress .form-on-submit > * {
  display: none;
}
.form-section.in-progress .form-content {
  opacity: .5;
}
.form-section.success .form-content,
.form-section.failed .form-content {
  visibility: hidden;
}
.form-section.success .error-msg,
.form-section.failed .thank-you {
  display: none;
}

.ln-popup {
  margin-top: 2px;
  background: #fff;
  border: 1px solid #DCDCDC;
  text-align: left;
}
.ln-header {
  font-size: 15px;
  font-weight: bold;
  padding: .6em 1em .8em;
}
.ln-results {
  border-top: 1px solid #DCDCDC;
  border-bottom: 1px solid #DCDCDC;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px 0;
}
.ln-results::-webkit-scrollbar {
  width: 7px;
}
.ln-results::-webkit-scrollbar-thumb {
  background-color: gray;
}
.ln-company {
  cursor: pointer;
  font-size: 13px;
  color: #777;
  padding: 4px 1rem 4px;
}
.ln-company:hover {
  background: #eee;
}
.ln-company h4 {
  font-size: 15px;
  margin: 0 0 4px;
  color: #383d68;
}
.ln-footer {
  cursor: pointer;
  color: #167450;
  padding: 1em;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}
.ln-footer:hover {
  background: #eee;
}
.ln-footer span::before {
  content: "My business is not in this\00A0list";
}

/*****************************************************
LESS compilation failed due a JavaScript error!

Input: /apps/fleetcor/foundation/clientlibs/forms/css/fuel-file-error-screen.less
Error: ArgumentError: error evaluating function `min`: incompatible types in /apps/fleetcor/foundation/clientlibs/forms/css/fuel-file-error-screen.less on line 28, column 9:
27 	box-sizing: border-box;
28 	width: min(80vw, 1531px);
29 	max-height: min(90vh, 920px);


(uncompiled LESS src is included below)
*****************************************************/
/* Overlay — hidden by default, dark backdrop, flex-centred when active */
.fuel-file-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10001;
	display: none;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(6px);
}
.fuel-file-modal-overlay.modal-active {
	display: flex;
}
/* Parsys wrapper between overlay and box — make transparent to flex */
.fuel-file-modal-overlay > div {
	display: contents;
}

/* Box — white card with drop-shadow */
/* Figma: 1531px wide on 1920px canvas = 79.8% of viewport */
.fuel-file-modal-box {
	position: relative;
	box-sizing: border-box;
	width: min(80vw, 1531px);
	max-height: min(90vh, 920px);
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 100px 40px;
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	box-shadow: 10px 4px 32.8px rgba(0, 0, 0, 0.25);
	border-radius: 16px;
	color: #000000;
}

/* Close button (JS-injected into .modal-header) */
/* Invisible until all step animations finish; JS adds .modal-animations-complete to reveal it */
.fuel-file-modal-box .modal-close-btn {
	flex-shrink: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: #FFFFFF;
	font-size: 30px;
	width: 36px;
	height: 36px;
	line-height: 1;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}
.fuel-file-modal-box.modal-animations-complete .modal-close-btn {
	opacity: 0.85;
	pointer-events: auto;
}
.fuel-file-modal-box.modal-animations-complete .modal-close-btn:hover {
	opacity: 1;
}

/* Header — dark gradient bar bleeding to box edges via negative margins */
/* Figma: padding: 35px 100px, full modal width */
.fuel-file-modal-box .modal-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 35px 100px;
	margin: 0 -100px 48px;
	background: linear-gradient(270deg, rgba(0, 40, 59, 0.1) -133.51%, #00283B 100%);
}
.fuel-file-modal-box .modal-header h2 {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1.18;
	color: #FFFFFF;
	margin: 0;
}

/* Step row (layout component) — hidden until JS adds .step-visible */
.modal-analysis-step {
	display: flex;
	align-items: flex-start;
	gap: 49px;
	margin-bottom: 40px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.modal-analysis-step.step-visible {
	opacity: 1;
	transform: translateY(0);
}
/* Make parsys wrapper divs inside each step transparent to flex layout */
.modal-analysis-step > div {
	display: contents;
}

/* Bot icon (DAM image, one per step row) — flat tabler SVG, no circle background */
.modal-bot-icon {
	flex-shrink: 0;
	width: 49px;
	height: 49px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
	pointer-events: none;
	text-decoration: none;
}
.modal-bot-icon img {
	width: 75%;
	height: 75%;
	object-fit: contain;
	border-radius: 0;
}

/* Three pulsing dots (JS-injected after bot icon) */
.modal-loading-dots {
	display: flex;
	gap: 6px;
	align-items: center;
	align-self: center;
}
.modal-loading-dots span {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2FB4E5;
	animation: fuelDotPulse 1.4s infinite ease-in-out;
}
.modal-loading-dots span:nth-child(2) { animation-delay: 0.2s; }
.modal-loading-dots span:nth-child(3) { animation-delay: 0.4s; }

/* Step text (text component) — hidden until step is loaded */
.modal-step-content {
	display: none;
	flex: 1;
}
.modal-step-content p {
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 19px;
	font-weight: 400;
	color: #000000;
	line-height: 1.46;
}
.modal-step-content strong {
	color: #000000;
	font-weight: 600;
}

/* Phase 2 — step-loaded: hide dots, show text; icon stays visible throughout */
.modal-analysis-step.step-loaded .modal-loading-dots { display: none; }
.modal-analysis-step.step-loaded .modal-step-content  { display: block; }

/* ── Error flow containers ──────────────────────────────────────────── */
/* Hidden by default; JS adds .error-flow-active to show the relevant one */
.error-flow {
	display: none;
}
.error-flow.error-flow-active {
	display: block;
}
/* Parsys wrapper inside error-flow */
.error-flow > div {
	display: contents;
}

/* When error mode is active, hide happy-flow steps (belt-and-suspenders) */
.fuel-file-modal-box.modal-error-active > div > .modal-analysis-step {
	display: none !important;
}

/* Tighter spacing for error-flow steps so all content fits without scrolling */
.error-flow .modal-analysis-step {
	margin-bottom: 24px;
}
.fuel-file-modal-box.modal-error-active .modal-header {
	margin-bottom: 32px;
}
/* Error flows now share the same max-height as the base box (90vh) */
/* No override needed — the base .fuel-file-modal-box already uses min(90vh, 920px) */

/* Warning variant — orange text for error headings */
.modal-analysis-step.modal-analysis-step--warning .modal-step-content p {
	color: #E1261C;
	font-weight: 500;
}

/* Link variant — cyan link text (#2FB4E5 per Figma) */
.modal-analysis-step.modal-analysis-step--link .modal-step-content p,
.modal-analysis-step.modal-analysis-step--link .modal-step-content a,
.modal-step-content .modal-reupload-link {
	color: #2FB4E5;
	font-weight: 600;
	cursor: pointer;
}
.modal-analysis-step.modal-analysis-step--link .modal-step-content a {
	text-decoration: underline;
}
.modal-analysis-step.modal-analysis-step--link .modal-step-content a:hover,
.modal-step-content .modal-reupload-link:hover {
	color: #5FD4FF;
}

/* Bullet list inside error steps */
.modal-step-content ul {
	margin: 8px 0 0 0;
	padding-left: 20px;
}
.modal-step-content ul li {
	font-family: 'Roboto', sans-serif;
	font-size: 19px;
	color: #000000;
	line-height: 1.8;
}



/* ── Error-flow re-upload button (shared base) ──────────────────────── */
/* All error flows use the same blue pill button; only file-error
   overrides padding for a smaller inline variant. */
.error-flow .modal-step-content .modal-reupload-link,
.error-flow .modal-step-content a[href*="reupload"] {
	display: inline-block;
	background-color: #2FB4E5;
	color: #FFFFFF !important;
	text-transform: uppercase;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
	padding: 10px 24px;
	border-radius: 4px;
	text-decoration: none !important;
	font-size: 14px;
	letter-spacing: 0.5px;
	line-height: 1.5;
	transition: background-color 0.2s;
}
.error-flow .modal-step-content .modal-reupload-link:hover,
.error-flow .modal-step-content a[href*="reupload"]:hover {
	background-color: #5FD4FF;
	color: #FFFFFF !important;
}

/* File error — smaller inline pill variant */
.error-flow-file .modal-step-content .modal-reupload-link {
	padding: 6px 16px;
	vertical-align: middle;
}

@keyframes fuelDotPulse {
	0%, 80%, 100% { opacity: 0.25; transform: scale(0.8); }
	40%            { opacity: 1;    transform: scale(1.1); }
}

/* ── Mobile layout (≤768px) — based on Figma 350px frame ─────────────── */
@media (max-width: 768px) {
	/* Box */
	.fuel-file-modal-box {
		padding: 0 24px 40px;
	}

	/* Header */
	.fuel-file-modal-box .modal-header {
		padding: 16px 24px;
		margin: 0 -24px 32px;
		gap: 24px;
	}
	.fuel-file-modal-box .modal-header h2 {
		font-size: 16px;
		line-height: 23px;
	}

	/* Close button */
	.fuel-file-modal-box .modal-close-btn {
		width: 24px;
		height: 24px;
		font-size: 22px;
	}

	/* Step icon */
	.modal-bot-icon {
		width: 24px;
		height: 24px;
	}

	/* Step row */
	.modal-analysis-step {
		gap: 17px;
		margin-bottom: 24px;
	}

	/* Step text */
	.modal-step-content p {
		font-size: 13px;
		line-height: 19px;
	}

	/* Error flow buttons — smaller padding on mobile */
	.error-flow .modal-step-content .modal-reupload-link,
	.error-flow .modal-step-content a[href*="reupload"] {
		padding: 8px 18px;
		font-size: 12px;
	}
	.error-flow-file .modal-step-content .modal-reupload-link {
		padding: 5px 12px;
	}

	/* Error flow step spacing — tighter on mobile */
	.error-flow .modal-analysis-step {
		margin-bottom: 16px;
	}

	/* Bullet list inside error steps — mobile */
	.modal-step-content ul li {
		font-size: 13px;
		line-height: 1.6;
	}
}

/* Overlay: drop fixed + backdrop so it sits inline in the page */
html.aem-AuthorLayer-Edit .fuel-file-modal-overlay {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	background: none;
	backdrop-filter: none;
}
/* Parsys wrapper between overlay and box — restore normal flow */
html.aem-AuthorLayer-Edit .fuel-file-modal-overlay > div {
	display: block;
}

/* Box: static width, no max-height cap, flush border-radius */
html.aem-AuthorLayer-Edit .fuel-file-modal-box {
	position: static;
	width: 100%;
	max-height: none;
	border-radius: 0;
	overflow: visible;
}
/* Header: restore normal block flow in authoring (undo negative-margin bleed) */
html.aem-AuthorLayer-Edit .fuel-file-modal-box .modal-header {
	margin: 0 0 48px;
	border-radius: 0;
	padding: 35px 100px;
}
/* Hide the JS-injected close button (irrelevant for authoring) */
html.aem-AuthorLayer-Edit .fuel-file-modal-box .modal-close-btn {
	display: none;
}

/* Steps: fully visible, no fade-in transform */
html.aem-AuthorLayer-Edit .modal-analysis-step {
	opacity: 1 !important;
	transform: none !important;
}
/* Step content: always visible in authoring */
html.aem-AuthorLayer-Edit .modal-step-content {
	display: block !important;
}
/* Bot icon: always shown so authors can see/swap the DAM image */
html.aem-AuthorLayer-Edit .modal-bot-icon {
	display: inline-flex !important;
}
/* Hide loading dots — JS hasn't run, they don't exist anyway */
html.aem-AuthorLayer-Edit .modal-loading-dots {
	display: none !important;
}

/* Error flows: visible with a labelled dashed separator so authors can
   distinguish "happy flow" from each error variant at a glance */
html.aem-AuthorLayer-Edit .error-flow {
	display: block;
	border-top: 2px dashed rgba(255, 110, 64, 0.6);
	margin-top: 24px;
	padding-top: 8px;
}
html.aem-AuthorLayer-Edit .error-flow::before {
	display: block;
	margin-bottom: 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 110, 64, 0.9);
}
html.aem-AuthorLayer-Edit .error-flow-file::before      { content: '— Error flow: File processing error'; }
html.aem-AuthorLayer-Edit .error-flow-sensitive::before { content: '— Error flow: Sensitive data detected'; }
html.aem-AuthorLayer-Edit .error-flow-data::before      { content: '— Error flow: Insufficient data'; }
html.aem-AuthorLayer-Edit .error-flow-system::before     { content: '— Error flow: System error'; }
html.aem-AuthorLayer-Edit .error-flow-malicious::before  { content: '— Error flow: Malicious file detected'; }

/* Parsys wrapper inside each error-flow: restore normal block flow */
html.aem-AuthorLayer-Edit .error-flow > div {
	display: block;
}

/* Undo belt-and-suspenders hide that kicks in during runtime error mode */
html.aem-AuthorLayer-Edit .fuel-file-modal-box.modal-error-active > div > .modal-analysis-step {
	display: flex !important;
}

html,
body {
  margin: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
.sep,
.sep-x,
.sep-y {
  color: transparent;
  user-select: none;
  pointer-events: none;
}
.sep-x {
  max-height: 8px;
  overflow-y: hidden;
}

body.mobile-menu-active {
  overflow: hidden;
}
#mobile-menu {
  position: fixed;
  top: 55px;
  bottom: 0;
  width: 100vw;
  left: -100vw;
  z-index: 999;
  transition: left 500ms;
}
#mobile-menu.active {
  left: 0;
}

.video {
  display: inline-block;
  position: relative;
  line-height: 0;
}
.lp-video {
  width: 100%;
  overflow: hidden;
  cursor: pointer;
}
.lp-video > video {
  width: 100%;
}
.lp-video.active > div {
  display: none;
}
.play-icon {
  display: inline-block;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 66px;
  height: 66px;
  margin-top: -33px;
  margin-left: -33px;
  border: none;
  border-radius: 33px;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.08);
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 8'%3E%3Cpath fill='%23317153' d='M0 0L6 4L0 8Z'/%3E%3C/svg%3E") 57% center no-repeat;
  background-size: 18px;
}

.expandable {
  max-height: 200px;
  transition: max-height 0.5s linear;
  overflow-y: hidden;
}
.expandable.collapsed,
.collapsed .expandable,
.accordion > div:not(.active) .expandable {
  max-height: 0 !important;
}
.collapsed .hide-on-collapse {
  display: none;
}

.cq-Editable-dom > .cq-block,
.cq-Editable-dom.cq-block {
  display: block !important;
  height: auto !important;
}
.cq-Editable-dom > .cq-iblock,
.cq-Editable-dom.cq-iblock {
  display: inline-block !important;
}
.cq-Editable-dom > .cq-flex,
.cq-Editable-dom.cq-flex {
  display: flex !important;
}
.cq-Editable-dom > .cq-visible,
.cq-Editable-dom.cq-visible {
  visibility: visible !important;
}
.cq-Editable-dom > .cq-static,
.cq-Editable-dom.cq-static {
  position: static !important;
}
.cq-Editable-dom > .cq-h-auto,
.cq-Editable-dom.cq-h-auto {
  height: auto !important;
}
.cq-Editable-dom > .cq-mt-0,
.cq-Editable-dom.cq-mt-0 {
  margin-top: 0 !important;
}
.cq-Editable-dom > .cq-o-1,
.cq-Editable-dom.cq-o-1 {
  opacity: 1 !important;
}
.cq-Editable-dom .cq,
.cq-Editable-dom .cq-container > div {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  height: auto !important;
}
.cq-Editable-dom dialog {
  position: static;
  display: block;
}

.notification-bar {
  top: 0;
  width: 100%;
  background: #00283B;
  color: #fff;
  overflow: hidden;
  z-index: 9999;
  height: 40px;
  display: flex;
  align-items: center;
  position: relative;
}
.notification-bar.hidden {
  display: none;
}
.notification-text {
  white-space: nowrap;
  padding-left: 100%;
  animation: scrollText 20s linear infinite;
  font-size: 18px;
}
@keyframes scrollText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@font-face {
  font-family: 'Mr Eaves';
  src: url('clientlib-newsite/resources/fonts/Mr_Eaves_XL_San_Nar_OT_Heavy.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Quasimoda';
  src: url('clientlib-newsite/resources/fonts/Quasimoda-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
html {
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.35;
  color: #00283B;
  scroll-behavior: smooth;
}
input,
select {
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #00283B;
  line-height: 1;
}
h1,
h2,
h3,
h5 {
  font-family: Montserrat;
}
html.custom-font-page,
body.custom-font-page {
  font-family: "Quasimoda", Helvetica, Arial, sans-serif;
}
body.custom-font-page input,
body.custom-font-page select {
  font-family: "Quasimoda", Helvetica, Arial, sans-serif;
  line-height: 1;
  font-size: 16px;
  color: #00283B;
}
body.custom-font-page h1,
body.custom-font-page h2,
body.custom-font-page h3,
body.custom-font-page h4,
body.custom-font-page h5 {
  font-family: "Mr Eaves", "Quasimoda", Helvetica, Arial, sans-serif;
}
h1 {
  font-size: 40px;
  font-weight: 900;
  font-style: italic;
  margin: 1rem 0;
  line-height: 1.1;
}
h2 {
  font-size: 24px;
  line-height: 1.45;
  margin: 1rem 0;
}
h1 + h2 {
  font-weight: 600;
  font-size: 35px;
  line-height: 38px;
}
h3,
h4 {
  font-size: 25px;
  line-height: 1.25;
  margin: 0;
}
h3 + p,
h4 + p {
  margin-top: .4em;
}
h4 {
  font-weight: 500;
}
h4.compact {
  font-family: Montserrat;
  font-size: 18px;
  font-weight: 700;
}
h5 {
  font-size: 13px;
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: .5px;
  margin: 7px 0;
}
a,
a:visited {
  color: #F26964;
  text-decoration: none;
}
a:hover {
  color: #58BEE8;
}
a[name='legal'] {
  position: relative;
  top: -32px;
}
sup {
  line-height: 0;
}
:is(h1,h2) sup {
  font-size: 70%;
}
:is(h1,h2) sup > a {
  font-size: 80%;
  position: relative;
  top: -2px;
}
:is(h3,h4) > sup > a {
  font-weight: 400;
  font-size: .8333rem;
}
ul,
ol {
  margin: 0;
}
nav ul {
  list-style: none;
  padding-left: 0;
}
li::marker {
  color: #58BEE8;
  font-size: 1.7rem;
  transform: translateY(5px);
}
hr {
  height: 1px;
  border-top: none;
  border-bottom: 1px solid #6a6c6d;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.grecaptcha-badge {
  visibility: hidden;
}
@media (min-width: 1200px) {
  h2 {
    font-size: 30px;
  }
  h4.compact {
    font-size: 24px;
  }
}
@media (min-width: 1450px) {
  html {
    font-size: 18px;
    line-height: 1.35;
  }
  h1 {
    font-size: 55px;
  }
  h2 {
    font-size: 40px;
  }
}
@media (min-width: 1720px) {
  html {
    font-size: 20px;
    line-height: 1.4;
  }
}
.text-alt {
  color: #58BEE8;
}
.bg-main,
.bg-alt {
  color: #00283B;
  background-color: #FFF;
}
.bg-alt {
  background-color: #ECF8FD;
}
.bg-lite,
.bg-orange {
  color: #FFF !important;
  background-color: #58BEE8;
}
.bg-orange {
  background-color: #F26964;
}
.bg-strong {
  color: #FFF;
  background-color: #00283B;
}
.bg-strong .btn-primary {
  background-color: #58BEE8;
}
.bg-footer {
  color: #FFF;
  background-color: #0F0F0F;
}
:is(.bg-footer, .bg-strong, .bg-lite) a {
  color: #FFF !important;
}
:is(.bg-footer, .bg-strong, .bg-lite) .bg-main a {
  color: #F26964 !important;
}
.bg-footer a,
.bg-strong a {
  text-decoration: underline;
  font-style: italic;
}
.bg-footer a:hover,
.bg-strong a:hover {
  color: #58bee8;
}
.bg-connect {
  min-height: 630px;
  background: #58bee8 url(../../../content/dam/comdata/2024/contact-us-bg.webp) no-repeat right bottom;
}
.bg-multiply {
  background-color: #696969;
  mix-blend-mode: multiply;
}
.bg-shadow {
  background: rgba(0, 0, 0, 0.77) 0% 0% no-repeat padding-box;
  border-radius: 50px;
  opacity: 0.65;
  filter: blur(19px);
}
@media (min-width: 768px) {
  .bg-connect {
    background-image: url(../../../content/dam/comdata/2024/connect-bg-desktop.webp);
    background-size: cover;
    background-position: top;
  }
}
@media (min-width: 992px) {
  .bg-connect .connect-text {
    margin-top: 100px;
    max-width: 360px;
  }
}
.site-header {
  padding-top: 30px !important;
  padding-bottom: 27px !important;
  border-bottom: 1px solid #58BEE8;
}
.site-header > div {
  position: relative;
}
.site-header .menu-hide {
  display: none;
}
.site-header .popup {
  background: #fff;
}
.site-header .popup h4 {
  font-size: 17px;
  width: 290px;
  color: #000;
  padding: 28px 0 14px;
  border-bottom: 1px solid #000;
  margin-bottom: 16px;
}
.site-header .popup a {
  display: inline-block;
  margin: .75em 0;
  color: #0F172A;
  font-size: 16px;
  line-height: 1.15;
  white-space: nowrap;
  padding-right: 36px;
  background: url(../../../content/dam/comdata/icons/arrow-right.svg) no-repeat center right;
}
.site-header .popup a:hover,
.site-header .popup .active > a {
  color: #58BEE8;
  background-image: url(../../../content/dam/comdata/icons/arrow-right-over.svg);
}
.site-header .submenu > h4 {
  cursor: default;
  font-family: Montserrat;
  text-transform: uppercase;
}
#top-bar .submenu > h4 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
  padding: 15px 8px 15px 8px;
  border-radius: 6px 6px 0px 0px;
  white-space: nowrap;
  margin-top: -12px;
}
#top-bar .submenu:hover > h4 {
  color: white;
  background: #58BEE8;
  text-shadow: .5px .5px 1px #fff;
}
#top-bar .submenu:hover div.popup {
  display: flex;
}
#top-bar .submenu:hover ul.popup {
  display: unset;
}
#top-bar .submenu:hover .popup.grid {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-auto-flow: column;
  gap: 1px 48px;
  margin-left: -168px;
}
#top-bar .popup {
  display: none;
  position: absolute;
  z-index: 999;
  min-height: 170px;
  left: 0;
  right: 0;
  border-top: 2px solid #58BEE8;
  padding: 0;
  border-radius: 0px 0px 8px 8px;
}
#top-bar div.popup > :first-child {
  padding: 24px 22px 20px 52px;
  text-align: right;
}
#top-bar div.popup > :first-child p {
  margin: 0;
  cursor: default;
}
#top-bar div.popup > :last-child {
  flex: 1 1;
  background: #F8FAFC;
  padding: 24px 22px 20px 34px;
  border-bottom-right-radius: 8px;
}
#top-bar div.popup > :last-child > * {
  gap: 0 32px;
}
#top-bar div.popup > :last-child p {
  margin-top: 0.5em;
}
#top-bar .phone {
  white-space: nowrap;
}
#top-bar .login-menu {
  position: relative;
}
#top-bar .login-menu .popup {
  right: 0;
  text-align: right;
}
#top-bar .phone a {
  color: #58BEE8 !important;
}
#top-bar .phone a:hover {
  color: #F26964 !important;
}
#top-bar ul.popup {
  padding: 28px 20px 28px 48px;
  left: auto;
}
#top-bar p {
  font-size: 16px;
}
#mobile-menu {
  top: 96px;
  left: 100vw;
  overflow-y: auto;
  max-width: 800px;
  background: #fff;
  border-top: 1px solid #58BEE8;
}
#mobile-menu .submenu {
  border-bottom: 1px solid #58BEE8;
  padding: 24px 12px 23px 34px;
}
#mobile-menu .submenu > h4 {
  position: relative;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}
#mobile-menu .submenu > h4::after {
  position: absolute;
  right: 16px;
  width: 20px;
  content: url(../../../content/dam/comdata/icons/arrow-dn-blue.svg);
  transition: 0.4s;
}
#mobile-menu .submenu .popup {
  margin: 0 -12px 0 -34px;
}
#mobile-menu .submenu.expanded {
  padding-bottom: 0;
}
#mobile-menu .submenu.expanded > h4::after {
  transform: rotate(360deg);
}
#mobile-menu .submenu.expanded .popup {
  border-top: 1px solid #58BEE8;
  margin-top: 23px;
  padding-bottom: 23px;
}
#mobile-menu .submenu.expanded ul.popup {
  padding-top: 23px;
}
#mobile-menu .submenu:not(.expanded) .popup {
  max-height: 0 !important;
}
#mobile-menu .popup {
  overflow: hidden;
  background: #F8FAFC;
  padding: 0 12px 0 34px;
  max-height: 500px;
  transition: all .4s ;
}
#mobile-menu .popup li p {
  display: none;
}
body.menu-active {
  overflow: hidden;
}
body.menu-active #mobile-menu {
  left: 0;
}
body.menu-active .menu-show {
  display: none;
}
body.menu-active .menu-hide {
  display: unset;
}
@media (min-width: 768px) {
  #mobile-menu {
    display: none;
  }
  .site-header {
    padding-top: 54px !important;
    padding-bottom: 0 !important;
    border-bottom: 2px solid #58BEE8;
  }
  .site-header .logo {
    margin: 0 1rem 1rem 0;
  }
}
@media (min-width: 768px) {
  .site-header .site-links > div {
    margin-left: 0.7rem;
  }
}
@media (min-width: 1200px) {
  .site-header .site-links > div {
    margin-left: 3rem;
  }
}
.site-footer h4,
.site-footer .address b {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1rem;
}
.site-footer a {
  font-style: normal;
  text-decoration: none;
}
.site-footer a:hover {
  text-decoration: underline;
}
.site-footer nav h4 {
  margin: 0.5em 0;
}
.site-footer nav p {
  margin: 0;
}
.site-footer .footer-bottom a {
  color: #58BEE8 !important;
  text-decoration: underline;
}
.site-footer .footer-bottom a:hover {
  text-decoration: none;
}
@media (max-width: 767px) {
  .site-footer .links-group h4 {
    margin-top: 1em;
  }
  .site-footer .links-group h4::after {
    display: inline-block;
    width: 10px;
    margin: 0 8px;
    content: url(../../../content/dam/comdata/icons/arrow-dn-white.svg);
    transition: 0.4s;
  }
  .site-footer .links-group ul {
    transition: 0.4s;
    overflow: hidden;
    max-height: 150px;
    margin: .7em 0 1em 1em;
  }
  .site-footer .links-group:not(.expanded) ul {
    max-height: 0 !important;
  }
  .site-footer .links-group li {
    line-height: 1.7;
  }
  .site-footer .links-group.expanded > h4::after {
    transform: rotate(360deg);
  }
}
@media (max-width: 575px) {
  .site-footer .links-group ul {
    margin-left: 2em;
  }
}
@media (min-width: 768px) {
  .site-footer .links-group {
    margin-right: 1em;
  }
}
.container {
  margin: 25px 16px 25px 18px;
}
.top-section {
  padding: 25px 16px 25px 18px;
}
.top-section > * {
  margin: 0 auto;
  max-width: 1480px;
}
.logo {
  display: inline-block;
  line-height: 0;
}
.icon {
  display: inline-block;
}
.icon img {
  transform-origin: top left;
}
.icon-w70 {
  width: 70px;
  flex: 0 0 70px;
}
.icon-w75 {
  width: 77px;
  flex: 0 0 75px;
}
h2 + p.subtitle {
  font-size: 18px;
}
.tabs {
  display: flex;
  justify-content: center;
}
.tabs h3 {
  letter-spacing: 1.6px;
  padding: 3px 12px;
  margin: 8px 14px;
  font-weight: normal;
  border-bottom: 1px solid #00283B;
  cursor: pointer;
}
.tabs h3.active {
  font-weight: bold;
  border-bottom-width: 3px;
  padding-bottom: 2px;
  cursor: default;
}
.tabs h4 {
  letter-spacing: .08em;
  font-size: 16px;
  padding: 4px 12px;
  margin: 8px 14px;
  font-weight: bold;
  cursor: pointer;
}
.tabs h4.active {
  padding-bottom: 2px;
  border-bottom: 1px solid #00283B;
}
.tabs h4:not(.active) {
  font-weight: normal;
}
.tabsContent > :not(.active, .cq-Editable-dom) > * {
  display: none;
}
.bullets {
  display: flex;
  font-size: 38px;
  line-height: 1;
  color: #DBDBDB;
  justify-content: center;
}
.bullets p {
  margin: 0 .3rem;
  cursor: pointer;
}
.bullets p.active {
  color: #00283B;
  cursor: default;
}
.compact-text h3 {
  margin-bottom: 1rem;
}
.compact-text p {
  margin: 0.5em 0;
}
.section-image {
  display: block;
  text-align: center;
}
.section-image > img {
  width: 100%;
}
.social-icon {
  width: 25px;
  height: 25px;
  background-color: #40B7EC;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0px 8px;
  border-radius: 4px;
}
.social-icon img {
  width: 15px;
}
.box-1 {
  background-color: #ECEFF2;
  border-radius: 20px;
  padding: 40px 30px;
  text-align: center;
  max-width: 468px;
  margin: 2em 0;
}
.quote {
  padding: 12px 8px 4px 42px;
  font-size: 20px;
  font-style: italic;
  line-height: 1.15;
  background: url(../../../content/dam/comdata/icons/quote-start.svg) no-repeat top left, url(../../../content/dam/comdata/icons/quote-stop.svg) no-repeat bottom right;
  background-size: 40px;
}
.quote .footnote {
  font-size: 16px;
  line-height: 1.45;
  margin: 1.5rem 34px 0 0;
}
.videos {
  max-width: 720px;
  margin: 0 auto;
}
.videos div {
  line-height: 0;
}
.videos .video {
  border-radius: 8px;
  box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.25);
}
.two-cards {
  --card-width: 70%;
  --overlap: -18%;
}
.two-cards img {
  width: var(--card-width);
}
.two-cards > :nth-child(2) {
  margin-top: var(--overlap);
}
.info-box {
  border-radius: 20px;
  background: #FFF;
}
.info-box > div:first-child {
  border-radius: 20px 20px 0px 0px;
  background: #00283B;
  color: #FFF;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  padding: 8px;
}
.info-box > div {
  padding: 1px;
}
.play-icon-1 {
  display: inline-block;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  margin-left: -50px;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.08);
  background: url(../../../content/dam/comdata/icons/play.svg) no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .ws_md {
    margin-left: -29px;
    width: 100vw;
  }
}
@media (max-width: 575px) {
  .ws_sm {
    margin-left: -29px;
    width: 100vw;
  }
}
@media (max-width: 410px) {
  .ws_sm,
  .ws_md {
    margin-left: -18px;
  }
}
@media (min-width: 410px) {
  .top-section {
    padding-left: 29px;
    padding-right: 26px;
  }
  .container {
    margin: 25px 26px 25px 29px;
  }
}
@media (min-width: 768px) {
  .top-section {
    padding: 3em 6%;
  }
  .container {
    margin: 3em 6%;
  }
}
@media (min-width: 992px) {
  .section-image > img {
    max-width: 620px;
  }
  .top-section {
    padding: 3em 7%;
  }
  .container {
    margin: 3em 7%;
  }
}
@media (min-width: 1200px) {
  .page-header.top-section {
    position: absolute;
    width: 100%;
    background: transparent;
  }
  .top-section {
    padding: 4em 9%;
  }
  .container {
    margin: 4em 9%;
  }
  .icon-w70 {
    flex: 0 0 80px;
  }
  .icon-w70 img {
    transform: scale(1.1);
  }
  .icon-w75 {
    flex: 0 0 83px;
  }
  .icon-w75 img {
    transform: scale(1.05);
  }
  .box-1 {
    padding: 44px 50px;
  }
  .quote {
    padding: 60px 18px 4px 45px;
    font-size: 26px;
    background-size: 72px;
  }
  .quote .footnote {
    font-size: 17px;
    margin-right: 65px;
  }
}
@media (min-width: 1450px) {
  .container {
    margin: 0 auto;
    max-width: 1480px;
  }
  .icon-w70 {
    flex: 0 0 85px;
  }
  .icon-w70 img {
    transform: scale(1.3);
  }
  .icon-w75 {
    flex: 0 0 90px;
  }
  .icon-w75 img {
    transform: scale(1.2);
  }
  h2 + p.subtitle {
    font-size: 20px;
  }
  .quote {
    padding: 72px 20px 8px 50px;
    font-size: 29px;
    background-size: 80px;
  }
  .quote .footnote {
    font-size: 19px;
    margin-right: 72px;
  }
  .connect-text h2 {
    font-size: 30px;
  }
}
.btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  border-radius: 5px;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 18.75px;
  padding: 15px 19px;
}
.btn .wrappable {
  line-height: 20.75px;
  padding-bottom: 13px;
}
a.btn {
  text-decoration: none;
  font-style: normal;
}
button.btn {
  appearance: none;
  border: none;
}
.btn-primary,
.btn-secondary,
.btn-alt {
  color: #fff !important;
}
.btn-primary {
  background-color: #F26964;
}
.btn-secondary {
  background-color: #58BEE8;
}
.btn-alt {
  background-color: #00283B;
}
.btn-white {
  color: #00283B !important;
  background-color: #fff;
}
.text-btn,
text-btn a {
  text-decoration: underline !important;
  font-style: normal !important;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.08em;
}
.btn-tab:not(.active) .btn {
  background-color: #C4CDD6;
  cursor: pointer;
}
.btn-tab > .btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.btn-tab.active {
  position: relative;
}
.btn-tab.active .btn {
  color: #eee;
}
.btn-tab.active .btn::after {
  position: absolute;
  content: "";
  border-radius: 5px;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 5px;
  background-color: #58BEE8;
}
.btn-tab.active .btn > div::after {
  position: absolute;
  width: 10px;
  height: 5px;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10px 5px' width='10' height='5' fill='%2358BEE8'%3E%3Cpath d='M 0 0 h 10 L 5 5 z'/%3E%3C/svg%3E");
  left: 50%;
  margin-left: -5px;
  bottom: -5px;
}
@media (max-width: 991px) {
  .small-btns-2 .btn {
    font-size: 12px;
    font-weight: 400;
    border-radius: 30px;
    padding: 6px 14px;
    text-transform: none;
  }
  .small-btns-2 .btn::after {
    content: " \2192";
    position: relative;
    top: -1px;
    left: 2px;
  }
}
@media (max-width: 575px) {
  .small-buttons_sm .btn {
    font-size: 12px;
    padding: 15px 12px;
  }
  .explore-btn {
    display: inline-block;
    width: 115px;
  }
}
.icon-list-1 {
  max-width: 1024px;
  margin: 0 auto;
}
.icon-list-1 h3 {
  font-size: 20px;
  margin: -45px 0 35px 77px;
}
.icon-list-1 img {
  width: 50px !important;
}
.icon-list-1 > div {
  margin-bottom: 2rem;
}
.stack-3 {
  overflow: hidden;
  padding: 0 8.333%;
}
.stack-3 .slides {
  position: relative;
}
.stack-3 .slides > * {
  position: absolute;
  transition: .5s;
  left: 0;
  right: 0;
}
.stack-3 .slides > .active {
  z-index: 2;
}
.stack-3 .slides > :not(.active) {
  opacity: .5;
  filter: blur(2px);
}
.stack-3 .slides > [data-slide-index='-1'] {
  transform: translateX(-26%) scale(0.677);
}
.stack-3 .slides > [data-slide-index='1'] {
  transform: translateX(26%) scale(0.677);
}
.carousel {
  overflow: hidden;
  position: relative;
}
.carousel > *:not(.cq-Editable-dom) {
  position: absolute;
  visibility: hidden;
  top: 0;
  width: 100%;
  transition: left .5s;
}
.carousel > .active {
  left: 0;
  visibility: visible;
}
.carousel > [data-slide-index='-1'] {
  left: -100%;
  visibility: visible;
}
.carousel > [data-slide-index='1'] {
  left: 100%;
  visibility: visible;
}
.carousel[data-dir='left'] > [data-slide-index='-1'],
.carousel[data-dir='right'] > [data-slide-index='1'] {
  transition-timing-function: step-end;
}
@media (min-width: 576px) {
  .icon-list-1 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
  }
  .icon-list-1 h3 {
    margin: 1em 0 .5em;
    font-size: 25px;
  }
  .icon-list-1 > div {
    max-width: 255px;
    margin: 10px 20px;
  }
  .icon-list-1 img {
    width: 90px !important;
  }
}
#contact-us-section {
  padding-top: 1px;
}
#contact-us-section.active {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 9;
  margin-top: -410px;
}
#contact-us-section.active #contact-us-btn {
  display: none;
}
#contact-us-section.active .contact-us-form {
  display: block;
}
.contact-us-form {
  position: relative;
  background: #FFF;
  margin: 0 auto;
  padding: 8px 24px;
  border: 1px solid #ECECEC;
}
@media (min-width: 576px) {
  .form-fields {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-content: flex-start;
  }
  .form-fields .sm_w-50 {
    width: 48.1%;
  }
  .form-fields .sm_w-30 {
    width: 35.2%;
  }
  .form-fields .sm_w-70 {
    width: 61%;
  }
}
@media (min-width: 1200px) {
  .form-fields .xl_w-25 {
    width: 23%;
  }
  .form-fields .xl_w-50 {
    width: 48.1%;
  }
}
.text-input {
  display: inline-block;
  position: relative;
  width: 100%;
  color: #777;
  margin-bottom: 1rem;
}
.text-input input,
.text-input select {
  width: 100%;
  padding: 18px 15px 12px;
  font-size: 16px;
  background-color: #fff;
  border: 1px solid #D5E5E1;
  border-radius: 4px;
}
.text-input input:focus,
.text-input select:focus {
  box-shadow: 0px 3px 12px -5px #40cfc2;
  border-color: #58BEE8;
  outline: 0;
}
.text-input select {
  appearance: none;
}
.text-input > span {
  position: absolute;
  display: inline-block;
  pointer-events: none;
  user-select: none;
  color: #626f88;
  font-size: 16px;
  left: 14px;
  top: 16px;
  right: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: 0.2s ease;
}
.text-input.has-focus > span,
.text-input.has-content > span {
  top: -7px;
  transition: 0.2s linear;
  font-size: 11px;
  padding: 0 4px;
  width: auto;
  right: unset;
  background-color: #fff;
  transform: none;
}
.text-input.dropdown::after {
  content: "";
  pointer-events: none;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 32' width='32' height='16'%3E%3Cpath d='M 5 8 h 22 l -11 12 z' fill='%23777' stroke='none'%3E%3C/path%3E%3C/svg%3E");
  top: 19px;
  right: 12px;
  width: 18px;
  height: 18px;
  background-position: contain;
  background-repeat: no-repeat;
}
.text-input .errorfield {
  margin-top: 7px;
}
.checkbox {
  display: flex;
}
.checkbox input {
  appearance: none;
  display: inline-block;
  border: 2px solid #6C7599;
  border-radius: 2px;
  width: 18px;
  height: 18px;
  margin: 0 10px 2px 0;
  vertical-align: middle;
}
.checkbox input:checked {
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M 3 6.875 L 5.573 9.183 L 10.188 4' stroke='%236c7599' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
}
.checkbox span {
  font-size: .9375em;
  flex: 1 1;
}
.sms-opt-group {
  color: #6C7599;
}
.sms-opt-group p {
  font-size: 0.8125em;
  margin: .5rem 0 2rem 18px;
}
.errorfield {
  padding: 7px;
  text-align: center;
  background-color: #e1261c;
  margin-top: -17px;
  position: absolute;
  border-radius: 4px;
  margin-bottom: 10px;
  height: auto;
  pointer-events: none;
  color: #FFF;
  font-size: 12px;
  max-height: 100px;
  z-index: 300;
}
.errorfield:empty {
  display: none;
}
.errorfield::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 15px;
  width: 0;
  border: 4px solid #e1261c;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotate(45deg) skew(-5deg, -5deg);
}
@media (max-width: 575px) {
  .form-section {
    padding-left: 25px;
    padding-right: 23px;
  }
  .contact-us-form {
    border-radius: 8px;
    border: none;
  }
  #contact-us-section.submitted .contact-us-form {
    display: block;
    min-height: 140px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  #contact-us-section.submitted .form-content,
  #contact-us-section.submitted #contact-us-btn {
    display: none;
  }
  #contact-us-section.submitted .form-on-submit {
    padding: 25px;
  }
}
@media (min-width: 992px) {
  .form-section {
    min-width: 455px;
  }
}
.card-image img {
  width: 100%;
  max-width: 430px;
}
.card-images-wrapper,
.cards-text {
  max-width: 430px;
}
.card-images-wrapper .bg-shadow {
  display: none;
}
.card-images img {
  width: 100%;
}
.blur-and-dark {
  filter: blur(2px) brightness(70%);
}
.carousel-wrapper {
  position: relative;
}
.card-images {
  position: relative;
  z-index: 2;
}
.cs-arrow {
  z-index: 3;
  cursor: pointer;
  position: absolute;
  display: none;
  align-items: center;
  justify-content: center;
  height: 28px;
  width: 28px;
  margin-top: -14px;
  border-radius: 50%;
  background-color: #ededed;
  box-shadow: 0px 5px 10px #00000076;
  background-repeat: no-repeat;
  background-position: center center;
  transition: background-color 0.6s ease;
  top: 50%;
}
.cs-arrow > img {
  width: 50%;
}
.cs-arrow:hover {
  background-color: #a0a0a0;
}
.cs-arrow.left {
  left: -14px;
  transform: scale(-1, 1);
}
.cs-arrow.right {
  right: -14px;
  transform: none;
}
.bg-card {
  position: absolute;
  display: none;
  z-index: 0;
  top: 50%;
  margin-top: -75px;
  transition: opacity .7s;
}
.bg-card img {
  width: 100%;
  max-width: 250px;
}
.bg-card.left {
  left: -40px;
}
.bg-card.right {
  right: -40px;
}
.card-box h3 {
  margin: 1rem 0;
}
.card-box img {
  width: 90%;
  max-width: 300px;
}
@media (min-width: 768px) {
  .card-images,
  .cards-text {
    max-width: 490px;
  }
}
@media (min-width: 1200px) {
  .card-images-wrapper .card-bullets {
    display: none;
  }
  .card-images-wrapper .bg-shadow {
    display: block;
    position: absolute;
    left: 0px;
    right: 0px;
    z-index: 1;
    top: 28px;
    bottom: 28px;
  }
  .carousel-wrapper .cs-arrow {
    display: flex;
  }
  .carousel-wrapper .bg-card {
    display: inline-block;
  }
  .carousel-wrapper.at-start .bg-card.left {
    opacity: 0;
  }
  .carousel-wrapper.at-end .bg-card.right {
    opacity: 0;
  }
}
@media (min-width: 1450px) {
  .card-images-wrapper,
  .card-image img {
    max-width: 555px;
  }
  .card-images {
    max-width: 555px;
  }
  .bg-card {
    margin-top: -103px;
  }
  .bg-card img {
    max-width: 325px;
  }
  .bg-card.left {
    left: -60px;
  }
  .bg-card.right {
    right: -60px;
  }
  .cs-arrow {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
  .cs-arrow.left {
    left: -20px;
  }
  .cs-arrow.right {
    right: -20px;
  }
}
.logos,
.logos-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 36px;
  padding: 24px 0;
}
.logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
}
.logos a img {
  width: 100%;
}
.logos-2 {
  --scale: 1;
  padding: 0;
  align-items: center;
  gap: 16px 20px;
}
.logos-2 img {
  height: calc(50px * var(--scale));
}
@media (max-width: 767px) {
  .logos {
    gap: 10px 22px !important;
  }
  .logos a {
    width: 50px !important;
    height: 50px !important;
  }
  .logos-2 img {
    height: calc(38px * var(--scale));
  }
}
.ta-ab-cb {
  grid-template-areas: "A B" "C B";
}
.ta-aa-bc {
  grid-template-areas: "A A" "B C";
}
.g-cols-2 {
  grid-template-columns: 1fr 1fr;
}
.g-cols-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.g-cols-12 {
  grid-template-columns: 1fr 2fr;
}
.g-rows-a1 {
  grid-template-rows: auto 1fr;
}
.n1-gap,
.gp-12 {
  gap: 1em 2em;
}
.g-stack {
  display: grid;
  grid-template-areas: "A";
}
.g-stack > * {
  grid-area: A;
  visibility: hidden;
}
.g-stack > *.active {
  order: 2;
  visibility: visible;
}
.fs-18 {
  font-size: 18px;
}
.fs-20 {
  font-size: 20px;
}
@media (min-width: 768px) {
  .md_g-cols-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .md_fs-unset {
    font-size: unset;
  }
  .md_fs-20 {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .lg_ta-ac-bc {
    grid-template-areas: "A C" "B C";
  }
  .lg_g-cols-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .lg_fs-unset {
    font-size: unset;
  }
}
@media (min-width: 1200px) {
  .xl_g-cols-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .xl_fs-unset {
    font-size: unset;
  }
  .n1-gap {
    gap: 1em 3em;
  }
}
@media (min-width: 1450px) {
  .xxl_g-cols-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .xxl_fs-unset {
    font-size: unset;
  }
  .xxl_g-cols-4.n1-gap {
    gap: 1em 1em;
  }
}

.hidden,
.private {
  display: none !important;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.pointer {
  cursor: pointer;
}
.w-100 {
  width: 100%;
}
.h-100 {
  height: 100%;
}
.lh-0 {
  line-height: 0;
}
.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}
.float-none {
  float: none;
}
.clear-both {
  clear: both;
}
.flow-column {
  grid-auto-flow: column;
}
.uppercase {
  text-transform: uppercase;
}
.nowrap {
  white-space: nowrap;
}
.cols-2 {
  columns: 2;
}
.row {
  flex-direction: row;
}
.column {
  flex-direction: column;
}
.space-between {
  justify-content: space-between;
}
.space-around {
  justify-content: space-around;
}
.justify-center {
  justify-content: center;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.reverse {
  flex-direction: row-reverse;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-wrap {
  flex-wrap: wrap;
}
.mt-0,
.my-0 {
  margin-top: 0;
}
.mb-0,
.my-0 {
  margin-bottom: 0;
}
.mt-1,
.my-1 {
  margin-top: 0.5rem;
}
.mb-1,
.my-1 {
  margin-bottom: 0.5rem;
}
.mt-2,
.my-2 {
  margin-top: 1rem;
}
.mb-2,
.my-2 {
  margin-bottom: 1rem;
}
.mt-3,
.my-3 {
  margin-top: 1.5rem;
}
.mb-3,
.my-3 {
  margin-bottom: 1.5rem;
}
.mt-4,
.my-4 {
  margin-top: 2rem;
}
.mb-4,
.my-4 {
  margin-bottom: 2rem;
}
.mt-5,
.my-5 {
  margin-top: 2.5rem;
}
.mb-5,
.my-5 {
  margin-bottom: 2.5rem;
}
.mt-6,
.my-6 {
  margin-top: 3rem;
}
.mb-6,
.my-6 {
  margin-bottom: 3rem;
}
.mt-7,
.my-7 {
  margin-top: 3.5rem;
}
.mb-7,
.my-7 {
  margin-bottom: 3.5rem;
}
.mt-8,
.my-8 {
  margin-top: 4rem;
}
.mb-8,
.my-8 {
  margin-bottom: 4rem;
}
.ml-auto,
.mx-auto {
  margin-left: auto;
}
.mr-auto,
.mx-auto {
  margin-right: auto;
}
.ml-0,
.mx-0 {
  margin-left: 0;
}
.mr-0,
.mx-0 {
  margin-right: 0;
}
.ml-1,
.mx-1 {
  margin-left: 0.5rem;
}
.mr-1,
.mx-1 {
  margin-right: 0.5rem;
}
.ml-2,
.mx-2 {
  margin-left: 1rem;
}
.mr-2,
.mx-2 {
  margin-right: 1rem;
}
.ml-3,
.mx-3 {
  margin-left: 1.5rem;
}
.mr-3,
.mx-3 {
  margin-right: 1.5rem;
}
.ml-4,
.mx-4 {
  margin-left: 2rem;
}
.mr-4,
.mx-4 {
  margin-right: 2rem;
}
.ml-5,
.mx-5 {
  margin-left: 2.5rem;
}
.mr-5,
.mx-5 {
  margin-right: 2.5rem;
}
.ml-6,
.mx-6 {
  margin-left: 3rem;
}
.mr-6,
.mx-6 {
  margin-right: 3rem;
}
.ml-7,
.mx-7 {
  margin-left: 3.5rem;
}
.mr-7,
.mx-7 {
  margin-right: 3.5rem;
}
.ml-8,
.mx-8 {
  margin-left: 4rem;
}
.mr-8,
.mx-8 {
  margin-right: 4rem;
}
.pt-0,
.py-0 {
  padding-top: 0;
}
.pb-0,
.py-0 {
  padding-bottom: 0;
}
.pt-1,
.py-1 {
  padding-top: 0.5rem;
}
.pb-1,
.py-1 {
  padding-bottom: 0.5rem;
}
.pt-2,
.py-2 {
  padding-top: 1rem;
}
.pb-2,
.py-2 {
  padding-bottom: 1rem;
}
.pt-3,
.py-3 {
  padding-top: 1.5rem;
}
.pb-3,
.py-3 {
  padding-bottom: 1.5rem;
}
.pt-4,
.py-4 {
  padding-top: 2rem;
}
.pb-4,
.py-4 {
  padding-bottom: 2rem;
}
.pt-5,
.py-5 {
  padding-top: 2.5rem;
}
.pb-5,
.py-5 {
  padding-bottom: 2.5rem;
}
.pt-6,
.py-6 {
  padding-top: 3rem;
}
.pb-6,
.py-6 {
  padding-bottom: 3rem;
}
.pt-7,
.py-7 {
  padding-top: 3.5rem;
}
.pb-7,
.py-7 {
  padding-bottom: 3.5rem;
}
.pt-8,
.py-8 {
  padding-top: 4rem;
}
.pb-8,
.py-8 {
  padding-bottom: 4rem;
}
.pl-0,
.px-0 {
  padding-left: 0;
}
.pr-0,
.px-0 {
  padding-right: 0;
}
.pl-1,
.px-1 {
  padding-left: 0.5rem;
}
.pr-1,
.px-1 {
  padding-right: 0.5rem;
}
.pl-2,
.px-2 {
  padding-left: 1rem;
}
.pr-2,
.px-2 {
  padding-right: 1rem;
}
.pl-3,
.px-3 {
  padding-left: 1.5rem;
}
.pr-3,
.px-3 {
  padding-right: 1.5rem;
}
.pl-4,
.px-4 {
  padding-left: 2rem;
}
.pr-4,
.px-4 {
  padding-right: 2rem;
}
.pl-5,
.px-5 {
  padding-left: 2.5rem;
}
.pr-5,
.px-5 {
  padding-right: 2.5rem;
}
.pl-6,
.px-6 {
  padding-left: 3rem;
}
.pr-6,
.px-6 {
  padding-right: 3rem;
}
.pl-7,
.px-7 {
  padding-left: 3.5rem;
}
.pr-7,
.px-7 {
  padding-right: 3.5rem;
}
.pl-8,
.px-8 {
  padding-left: 4rem;
}
.pr-8,
.px-8 {
  padding-right: 4rem;
}
.pt-5p,
.py-5p {
  padding-top: 5%;
}
.pb-5p,
.py-5p {
  padding-bottom: 5%;
}
.pl-5p,
.px-5p {
  padding-left: 5%;
}
.pr-5p,
.px-5p {
  padding-right: 5%;
}
.pt-10p,
.py-10p {
  padding-top: 10%;
}
.pb-10p,
.py-10p {
  padding-bottom: 10%;
}
.pl-10p,
.px-10p {
  padding-left: 10%;
}
.pr-10p,
.px-10p {
  padding-right: 10%;
}
@media (max-width: 1199px) {
  .hide_xl {
    display: none;
  }
  .no-border_xl {
    border-style: none;
  }
}
@media (max-width: 991px) {
  .hide_lg {
    display: none;
  }
  .no-border_lg {
    border-style: none;
  }
}
@media (max-width: 767px) {
  .hide_md {
    display: none;
  }
  .no-border_md {
    border-style: none;
  }
  .h-50vw_md {
    height: 50vw;
  }
  .mx-0_md {
    margin-left: 0;
    margin-right: 0;
  }
  .px-0_md {
    padding-left: 0;
    padding-right: 0;
  }
  .pt-0_md {
    padding-top: 0;
  }
  .pb-0_md {
    padding-bottom: 0;
  }
  .items-center_md {
    align-items: center;
  }
}
@media (max-width: 575px) {
  .hide_sm {
    display: none;
  }
  .no-border_sm {
    border-style: none;
  }
  .mx-0_sm {
    margin-left: 0;
    margin-right: 0;
  }
  .px-0_sm {
    padding-left: 0;
    padding-right: 0;
  }
  .pt-0_sm {
    padding-top: 0;
  }
  .pb-0_sm {
    padding-bottom: 0;
  }
}
@media (min-width: 576px) {
  .sm_hidden {
    display: none !important;
  }
  .sm_flex {
    display: flex;
  }
  .sm_grid {
    display: grid;
  }
  .sm_block {
    display: block;
  }
  .sm_cols-2 {
    columns: 2;
  }
  .sm_cols-3 {
    columns: 3;
  }
  .sm_row {
    flex-direction: row;
  }
  .sm_align-left {
    text-align: left;
  }
  .sm_align-right {
    text-align: right;
  }
  .sm_align-center {
    text-align: center;
  }
  .sm_float-right {
    float: right;
  }
  .sm_float-left {
    float: left;
  }
  .sm_float-none {
    float: none;
  }
  .sm_clear-both {
    clear: both;
  }
  .sm_mt-0,
  .sm_my-0 {
    margin-top: 0;
  }
  .sm_mb-0,
  .sm_my-0 {
    margin-bottom: 0;
  }
  .sm_mt-1,
  .sm_my-1 {
    margin-top: 0.5rem;
  }
  .sm_mb-1,
  .sm_my-1 {
    margin-bottom: 0.5rem;
  }
  .sm_mt-2,
  .sm_my-2 {
    margin-top: 1rem;
  }
  .sm_mb-2,
  .sm_my-2 {
    margin-bottom: 1rem;
  }
  .sm_mt-3,
  .sm_my-3 {
    margin-top: 1.5rem;
  }
  .sm_mb-3,
  .sm_my-3 {
    margin-bottom: 1.5rem;
  }
  .sm_mt-4,
  .sm_my-4 {
    margin-top: 2rem;
  }
  .sm_mb-4,
  .sm_my-4 {
    margin-bottom: 2rem;
  }
  .sm_mt-5,
  .sm_my-5 {
    margin-top: 2.5rem;
  }
  .sm_mb-5,
  .sm_my-5 {
    margin-bottom: 2.5rem;
  }
  .sm_mt-6,
  .sm_my-6 {
    margin-top: 3rem;
  }
  .sm_mb-6,
  .sm_my-6 {
    margin-bottom: 3rem;
  }
  .sm_mt-7,
  .sm_my-7 {
    margin-top: 3.5rem;
  }
  .sm_mb-7,
  .sm_my-7 {
    margin-bottom: 3.5rem;
  }
  .sm_mt-8,
  .sm_my-8 {
    margin-top: 4rem;
  }
  .sm_mb-8,
  .sm_my-8 {
    margin-bottom: 4rem;
  }
  .sm_ml-0,
  .sm_mx-0 {
    margin-left: 0;
  }
  .sm_mr-0,
  .sm_mx-0 {
    margin-right: 0;
  }
  .sm_ml-1,
  .sm_mx-1 {
    margin-left: 0.5rem;
  }
  .sm_mr-1,
  .sm_mx-1 {
    margin-right: 0.5rem;
  }
  .sm_ml-2,
  .sm_mx-2 {
    margin-left: 1rem;
  }
  .sm_mr-2,
  .sm_mx-2 {
    margin-right: 1rem;
  }
  .sm_ml-3,
  .sm_mx-3 {
    margin-left: 1.5rem;
  }
  .sm_mr-3,
  .sm_mx-3 {
    margin-right: 1.5rem;
  }
  .sm_ml-4,
  .sm_mx-4 {
    margin-left: 2rem;
  }
  .sm_mr-4,
  .sm_mx-4 {
    margin-right: 2rem;
  }
  .sm_ml-5,
  .sm_mx-5 {
    margin-left: 2.5rem;
  }
  .sm_mr-5,
  .sm_mx-5 {
    margin-right: 2.5rem;
  }
  .sm_ml-6,
  .sm_mx-6 {
    margin-left: 3rem;
  }
  .sm_mr-6,
  .sm_mx-6 {
    margin-right: 3rem;
  }
  .sm_ml-7,
  .sm_mx-7 {
    margin-left: 3.5rem;
  }
  .sm_mr-7,
  .sm_mx-7 {
    margin-right: 3.5rem;
  }
  .sm_ml-8,
  .sm_mx-8 {
    margin-left: 4rem;
  }
  .sm_mr-8,
  .sm_mx-8 {
    margin-right: 4rem;
  }
  .sm_ml-auto,
  .sm_mx-auto {
    margin-left: auto;
  }
  .sm_mr-auto,
  .sm_mx-auto {
    margin-right: auto;
  }
  .sm_pt-0,
  .sm_py-0 {
    padding-top: 0;
  }
  .sm_pb-0,
  .sm_py-0 {
    padding-bottom: 0;
  }
  .sm_pt-1,
  .sm_py-1 {
    padding-top: 0.5rem;
  }
  .sm_pb-1,
  .sm_py-1 {
    padding-bottom: 0.5rem;
  }
  .sm_pt-2,
  .sm_py-2 {
    padding-top: 1rem;
  }
  .sm_pb-2,
  .sm_py-2 {
    padding-bottom: 1rem;
  }
  .sm_pt-3,
  .sm_py-3 {
    padding-top: 1.5rem;
  }
  .sm_pb-3,
  .sm_py-3 {
    padding-bottom: 1.5rem;
  }
  .sm_pt-4,
  .sm_py-4 {
    padding-top: 2rem;
  }
  .sm_pb-4,
  .sm_py-4 {
    padding-bottom: 2rem;
  }
  .sm_pt-5,
  .sm_py-5 {
    padding-top: 2.5rem;
  }
  .sm_pb-5,
  .sm_py-5 {
    padding-bottom: 2.5rem;
  }
  .sm_pt-6,
  .sm_py-6 {
    padding-top: 3rem;
  }
  .sm_pb-6,
  .sm_py-6 {
    padding-bottom: 3rem;
  }
  .sm_pt-7,
  .sm_py-7 {
    padding-top: 3.5rem;
  }
  .sm_pb-7,
  .sm_py-7 {
    padding-bottom: 3.5rem;
  }
  .sm_pt-8,
  .sm_py-8 {
    padding-top: 4rem;
  }
  .sm_pb-8,
  .sm_py-8 {
    padding-bottom: 4rem;
  }
  .sm_pl-0,
  .sm_px-0 {
    padding-left: 0;
  }
  .sm_pr-0,
  .sm_px-0 {
    padding-right: 0;
  }
  .sm_pl-1,
  .sm_px-1 {
    padding-left: 0.5rem;
  }
  .sm_pr-1,
  .sm_px-1 {
    padding-right: 0.5rem;
  }
  .sm_pl-2,
  .sm_px-2 {
    padding-left: 1rem;
  }
  .sm_pr-2,
  .sm_px-2 {
    padding-right: 1rem;
  }
  .sm_pl-3,
  .sm_px-3 {
    padding-left: 1.5rem;
  }
  .sm_pr-3,
  .sm_px-3 {
    padding-right: 1.5rem;
  }
  .sm_pl-4,
  .sm_px-4 {
    padding-left: 2rem;
  }
  .sm_pr-4,
  .sm_px-4 {
    padding-right: 2rem;
  }
  .sm_pl-5,
  .sm_px-5 {
    padding-left: 2.5rem;
  }
  .sm_pr-5,
  .sm_px-5 {
    padding-right: 2.5rem;
  }
  .sm_pl-6,
  .sm_px-6 {
    padding-left: 3rem;
  }
  .sm_pr-6,
  .sm_px-6 {
    padding-right: 3rem;
  }
  .sm_pl-7,
  .sm_px-7 {
    padding-left: 3.5rem;
  }
  .sm_pr-7,
  .sm_px-7 {
    padding-right: 3.5rem;
  }
  .sm_pl-8,
  .sm_px-8 {
    padding-left: 4rem;
  }
  .sm_pr-8,
  .sm_px-8 {
    padding-right: 4rem;
  }
  .sm_pt-5p,
  .sm_py-5p {
    padding-top: 5%;
  }
  .sm_pb-5p,
  .sm_py-5p {
    padding-bottom: 5%;
  }
  .sm_pl-5p,
  .sm_px-5p {
    padding-left: 5%;
  }
  .sm_pr-5p,
  .sm_px-5p {
    padding-right: 5%;
  }
  .sm_pt-10p,
  .sm_py-10p {
    padding-top: 10%;
  }
  .sm_pb-10p,
  .sm_py-10p {
    padding-bottom: 10%;
  }
  .sm_pl-10p,
  .sm_px-10p {
    padding-left: 10%;
  }
  .sm_pr-10p,
  .sm_px-10p {
    padding-right: 10%;
  }
}
@media (min-width: 768px) {
  .md_hidden {
    display: none !important;
  }
  .md_flex {
    display: flex;
  }
  .md_grid {
    display: grid;
  }
  .md_block {
    display: block;
  }
  .md_cols-2 {
    columns: 2;
  }
  .md_cols-3 {
    columns: 3;
  }
  .md_row {
    flex-direction: row;
  }
  .md_align-left {
    text-align: left;
  }
  .md_align-right {
    text-align: right;
  }
  .md_align-center {
    text-align: center;
  }
  .md_float-right {
    float: right;
  }
  .md_float-left {
    float: left;
  }
  .md_float-none {
    float: none;
  }
  .md_clear-both {
    clear: both;
  }
  .md_mt-0,
  .md_my-0 {
    margin-top: 0;
  }
  .md_mb-0,
  .md_my-0 {
    margin-bottom: 0;
  }
  .md_mt-1,
  .md_my-1 {
    margin-top: 0.5rem;
  }
  .md_mb-1,
  .md_my-1 {
    margin-bottom: 0.5rem;
  }
  .md_mt-2,
  .md_my-2 {
    margin-top: 1rem;
  }
  .md_mb-2,
  .md_my-2 {
    margin-bottom: 1rem;
  }
  .md_mt-3,
  .md_my-3 {
    margin-top: 1.5rem;
  }
  .md_mb-3,
  .md_my-3 {
    margin-bottom: 1.5rem;
  }
  .md_mt-4,
  .md_my-4 {
    margin-top: 2rem;
  }
  .md_mb-4,
  .md_my-4 {
    margin-bottom: 2rem;
  }
  .md_mt-5,
  .md_my-5 {
    margin-top: 2.5rem;
  }
  .md_mb-5,
  .md_my-5 {
    margin-bottom: 2.5rem;
  }
  .md_mt-6,
  .md_my-6 {
    margin-top: 3rem;
  }
  .md_mb-6,
  .md_my-6 {
    margin-bottom: 3rem;
  }
  .md_mt-7,
  .md_my-7 {
    margin-top: 3.5rem;
  }
  .md_mb-7,
  .md_my-7 {
    margin-bottom: 3.5rem;
  }
  .md_mt-8,
  .md_my-8 {
    margin-top: 4rem;
  }
  .md_mb-8,
  .md_my-8 {
    margin-bottom: 4rem;
  }
  .md_ml-0,
  .md_mx-0 {
    margin-left: 0;
  }
  .md_mr-0,
  .md_mx-0 {
    margin-right: 0;
  }
  .md_ml-1,
  .md_mx-1 {
    margin-left: 0.5rem;
  }
  .md_mr-1,
  .md_mx-1 {
    margin-right: 0.5rem;
  }
  .md_ml-2,
  .md_mx-2 {
    margin-left: 1rem;
  }
  .md_mr-2,
  .md_mx-2 {
    margin-right: 1rem;
  }
  .md_ml-3,
  .md_mx-3 {
    margin-left: 1.5rem;
  }
  .md_mr-3,
  .md_mx-3 {
    margin-right: 1.5rem;
  }
  .md_ml-4,
  .md_mx-4 {
    margin-left: 2rem;
  }
  .md_mr-4,
  .md_mx-4 {
    margin-right: 2rem;
  }
  .md_ml-5,
  .md_mx-5 {
    margin-left: 2.5rem;
  }
  .md_mr-5,
  .md_mx-5 {
    margin-right: 2.5rem;
  }
  .md_ml-6,
  .md_mx-6 {
    margin-left: 3rem;
  }
  .md_mr-6,
  .md_mx-6 {
    margin-right: 3rem;
  }
  .md_ml-7,
  .md_mx-7 {
    margin-left: 3.5rem;
  }
  .md_mr-7,
  .md_mx-7 {
    margin-right: 3.5rem;
  }
  .md_ml-8,
  .md_mx-8 {
    margin-left: 4rem;
  }
  .md_mr-8,
  .md_mx-8 {
    margin-right: 4rem;
  }
  .md_ml-auto,
  .md_mx-auto {
    margin-left: auto;
  }
  .md_mr-auto,
  .md_mx-auto {
    margin-right: auto;
  }
  .md_pt-0,
  .md_py-0 {
    padding-top: 0;
  }
  .md_pb-0,
  .md_py-0 {
    padding-bottom: 0;
  }
  .md_pt-1,
  .md_py-1 {
    padding-top: 0.5rem;
  }
  .md_pb-1,
  .md_py-1 {
    padding-bottom: 0.5rem;
  }
  .md_pt-2,
  .md_py-2 {
    padding-top: 1rem;
  }
  .md_pb-2,
  .md_py-2 {
    padding-bottom: 1rem;
  }
  .md_pt-3,
  .md_py-3 {
    padding-top: 1.5rem;
  }
  .md_pb-3,
  .md_py-3 {
    padding-bottom: 1.5rem;
  }
  .md_pt-4,
  .md_py-4 {
    padding-top: 2rem;
  }
  .md_pb-4,
  .md_py-4 {
    padding-bottom: 2rem;
  }
  .md_pt-5,
  .md_py-5 {
    padding-top: 2.5rem;
  }
  .md_pb-5,
  .md_py-5 {
    padding-bottom: 2.5rem;
  }
  .md_pt-6,
  .md_py-6 {
    padding-top: 3rem;
  }
  .md_pb-6,
  .md_py-6 {
    padding-bottom: 3rem;
  }
  .md_pt-7,
  .md_py-7 {
    padding-top: 3.5rem;
  }
  .md_pb-7,
  .md_py-7 {
    padding-bottom: 3.5rem;
  }
  .md_pt-8,
  .md_py-8 {
    padding-top: 4rem;
  }
  .md_pb-8,
  .md_py-8 {
    padding-bottom: 4rem;
  }
  .md_pl-0,
  .md_px-0 {
    padding-left: 0;
  }
  .md_pr-0,
  .md_px-0 {
    padding-right: 0;
  }
  .md_pl-1,
  .md_px-1 {
    padding-left: 0.5rem;
  }
  .md_pr-1,
  .md_px-1 {
    padding-right: 0.5rem;
  }
  .md_pl-2,
  .md_px-2 {
    padding-left: 1rem;
  }
  .md_pr-2,
  .md_px-2 {
    padding-right: 1rem;
  }
  .md_pl-3,
  .md_px-3 {
    padding-left: 1.5rem;
  }
  .md_pr-3,
  .md_px-3 {
    padding-right: 1.5rem;
  }
  .md_pl-4,
  .md_px-4 {
    padding-left: 2rem;
  }
  .md_pr-4,
  .md_px-4 {
    padding-right: 2rem;
  }
  .md_pl-5,
  .md_px-5 {
    padding-left: 2.5rem;
  }
  .md_pr-5,
  .md_px-5 {
    padding-right: 2.5rem;
  }
  .md_pl-6,
  .md_px-6 {
    padding-left: 3rem;
  }
  .md_pr-6,
  .md_px-6 {
    padding-right: 3rem;
  }
  .md_pl-7,
  .md_px-7 {
    padding-left: 3.5rem;
  }
  .md_pr-7,
  .md_px-7 {
    padding-right: 3.5rem;
  }
  .md_pl-8,
  .md_px-8 {
    padding-left: 4rem;
  }
  .md_pr-8,
  .md_px-8 {
    padding-right: 4rem;
  }
  .md_pt-5p,
  .md_py-5p {
    padding-top: 5%;
  }
  .md_pb-5p,
  .md_py-5p {
    padding-bottom: 5%;
  }
  .md_pl-5p,
  .md_px-5p {
    padding-left: 5%;
  }
  .md_pr-5p,
  .md_px-5p {
    padding-right: 5%;
  }
  .md_pt-10p,
  .md_py-10p {
    padding-top: 10%;
  }
  .md_pb-10p,
  .md_py-10p {
    padding-bottom: 10%;
  }
  .md_pl-10p,
  .md_px-10p {
    padding-left: 10%;
  }
  .md_pr-10p,
  .md_px-10p {
    padding-right: 10%;
  }
}
@media (min-width: 992px) {
  .lg_hidden {
    display: none !important;
  }
  .lg_flex {
    display: flex;
  }
  .lg_grid {
    display: grid;
  }
  .lg_block {
    display: block;
  }
  .lg_cols-2 {
    columns: 2;
  }
  .lg_cols-3 {
    columns: 3;
  }
  .lg_row {
    flex-direction: row;
  }
  .lg_align-left {
    text-align: left;
  }
  .lg_align-right {
    text-align: right;
  }
  .lg_align-center {
    text-align: center;
  }
  .lg_float-right {
    float: right;
  }
  .lg_float-left {
    float: left;
  }
  .lg_float-none {
    float: none;
  }
  .lg_clear-both {
    clear: both;
  }
  .lg_mt-0,
  .lg_my-0 {
    margin-top: 0;
  }
  .lg_mb-0,
  .lg_my-0 {
    margin-bottom: 0;
  }
  .lg_mt-1,
  .lg_my-1 {
    margin-top: 0.5rem;
  }
  .lg_mb-1,
  .lg_my-1 {
    margin-bottom: 0.5rem;
  }
  .lg_mt-2,
  .lg_my-2 {
    margin-top: 1rem;
  }
  .lg_mb-2,
  .lg_my-2 {
    margin-bottom: 1rem;
  }
  .lg_mt-3,
  .lg_my-3 {
    margin-top: 1.5rem;
  }
  .lg_mb-3,
  .lg_my-3 {
    margin-bottom: 1.5rem;
  }
  .lg_mt-4,
  .lg_my-4 {
    margin-top: 2rem;
  }
  .lg_mb-4,
  .lg_my-4 {
    margin-bottom: 2rem;
  }
  .lg_mt-5,
  .lg_my-5 {
    margin-top: 2.5rem;
  }
  .lg_mb-5,
  .lg_my-5 {
    margin-bottom: 2.5rem;
  }
  .lg_mt-6,
  .lg_my-6 {
    margin-top: 3rem;
  }
  .lg_mb-6,
  .lg_my-6 {
    margin-bottom: 3rem;
  }
  .lg_mt-7,
  .lg_my-7 {
    margin-top: 3.5rem;
  }
  .lg_mb-7,
  .lg_my-7 {
    margin-bottom: 3.5rem;
  }
  .lg_mt-8,
  .lg_my-8 {
    margin-top: 4rem;
  }
  .lg_mb-8,
  .lg_my-8 {
    margin-bottom: 4rem;
  }
  .lg_ml-0,
  .lg_mx-0 {
    margin-left: 0;
  }
  .lg_mr-0,
  .lg_mx-0 {
    margin-right: 0;
  }
  .lg_ml-1,
  .lg_mx-1 {
    margin-left: 0.5rem;
  }
  .lg_mr-1,
  .lg_mx-1 {
    margin-right: 0.5rem;
  }
  .lg_ml-2,
  .lg_mx-2 {
    margin-left: 1rem;
  }
  .lg_mr-2,
  .lg_mx-2 {
    margin-right: 1rem;
  }
  .lg_ml-3,
  .lg_mx-3 {
    margin-left: 1.5rem;
  }
  .lg_mr-3,
  .lg_mx-3 {
    margin-right: 1.5rem;
  }
  .lg_ml-4,
  .lg_mx-4 {
    margin-left: 2rem;
  }
  .lg_mr-4,
  .lg_mx-4 {
    margin-right: 2rem;
  }
  .lg_ml-5,
  .lg_mx-5 {
    margin-left: 2.5rem;
  }
  .lg_mr-5,
  .lg_mx-5 {
    margin-right: 2.5rem;
  }
  .lg_ml-6,
  .lg_mx-6 {
    margin-left: 3rem;
  }
  .lg_mr-6,
  .lg_mx-6 {
    margin-right: 3rem;
  }
  .lg_ml-7,
  .lg_mx-7 {
    margin-left: 3.5rem;
  }
  .lg_mr-7,
  .lg_mx-7 {
    margin-right: 3.5rem;
  }
  .lg_ml-8,
  .lg_mx-8 {
    margin-left: 4rem;
  }
  .lg_mr-8,
  .lg_mx-8 {
    margin-right: 4rem;
  }
  .lg_ml-auto,
  .lg_mx-auto {
    margin-left: auto;
  }
  .lg_mr-auto,
  .lg_mx-auto {
    margin-right: auto;
  }
  .lg_pt-0,
  .lg_py-0 {
    padding-top: 0;
  }
  .lg_pb-0,
  .lg_py-0 {
    padding-bottom: 0;
  }
  .lg_pt-1,
  .lg_py-1 {
    padding-top: 0.5rem;
  }
  .lg_pb-1,
  .lg_py-1 {
    padding-bottom: 0.5rem;
  }
  .lg_pt-2,
  .lg_py-2 {
    padding-top: 1rem;
  }
  .lg_pb-2,
  .lg_py-2 {
    padding-bottom: 1rem;
  }
  .lg_pt-3,
  .lg_py-3 {
    padding-top: 1.5rem;
  }
  .lg_pb-3,
  .lg_py-3 {
    padding-bottom: 1.5rem;
  }
  .lg_pt-4,
  .lg_py-4 {
    padding-top: 2rem;
  }
  .lg_pb-4,
  .lg_py-4 {
    padding-bottom: 2rem;
  }
  .lg_pt-5,
  .lg_py-5 {
    padding-top: 2.5rem;
  }
  .lg_pb-5,
  .lg_py-5 {
    padding-bottom: 2.5rem;
  }
  .lg_pt-6,
  .lg_py-6 {
    padding-top: 3rem;
  }
  .lg_pb-6,
  .lg_py-6 {
    padding-bottom: 3rem;
  }
  .lg_pt-7,
  .lg_py-7 {
    padding-top: 3.5rem;
  }
  .lg_pb-7,
  .lg_py-7 {
    padding-bottom: 3.5rem;
  }
  .lg_pt-8,
  .lg_py-8 {
    padding-top: 4rem;
  }
  .lg_pb-8,
  .lg_py-8 {
    padding-bottom: 4rem;
  }
  .lg_pl-0,
  .lg_px-0 {
    padding-left: 0;
  }
  .lg_pr-0,
  .lg_px-0 {
    padding-right: 0;
  }
  .lg_pl-1,
  .lg_px-1 {
    padding-left: 0.5rem;
  }
  .lg_pr-1,
  .lg_px-1 {
    padding-right: 0.5rem;
  }
  .lg_pl-2,
  .lg_px-2 {
    padding-left: 1rem;
  }
  .lg_pr-2,
  .lg_px-2 {
    padding-right: 1rem;
  }
  .lg_pl-3,
  .lg_px-3 {
    padding-left: 1.5rem;
  }
  .lg_pr-3,
  .lg_px-3 {
    padding-right: 1.5rem;
  }
  .lg_pl-4,
  .lg_px-4 {
    padding-left: 2rem;
  }
  .lg_pr-4,
  .lg_px-4 {
    padding-right: 2rem;
  }
  .lg_pl-5,
  .lg_px-5 {
    padding-left: 2.5rem;
  }
  .lg_pr-5,
  .lg_px-5 {
    padding-right: 2.5rem;
  }
  .lg_pl-6,
  .lg_px-6 {
    padding-left: 3rem;
  }
  .lg_pr-6,
  .lg_px-6 {
    padding-right: 3rem;
  }
  .lg_pl-7,
  .lg_px-7 {
    padding-left: 3.5rem;
  }
  .lg_pr-7,
  .lg_px-7 {
    padding-right: 3.5rem;
  }
  .lg_pl-8,
  .lg_px-8 {
    padding-left: 4rem;
  }
  .lg_pr-8,
  .lg_px-8 {
    padding-right: 4rem;
  }
  .lg_pt-5p,
  .lg_py-5p {
    padding-top: 5%;
  }
  .lg_pb-5p,
  .lg_py-5p {
    padding-bottom: 5%;
  }
  .lg_pl-5p,
  .lg_px-5p {
    padding-left: 5%;
  }
  .lg_pr-5p,
  .lg_px-5p {
    padding-right: 5%;
  }
  .lg_pt-10p,
  .lg_py-10p {
    padding-top: 10%;
  }
  .lg_pb-10p,
  .lg_py-10p {
    padding-bottom: 10%;
  }
  .lg_pl-10p,
  .lg_px-10p {
    padding-left: 10%;
  }
  .lg_pr-10p,
  .lg_px-10p {
    padding-right: 10%;
  }
}
@media (min-width: 1200px) {
  .xl_hidden {
    display: none !important;
  }
  .xl_flex {
    display: flex;
  }
  .xl_grid {
    display: grid;
  }
  .xl_cols-2 {
    columns: 2;
  }
  .xl_cols-3 {
    columns: 3;
  }
  .xl_row {
    flex-direction: row;
  }
  .xl_float-right {
    float: right;
  }
  .xl_float-left {
    float: left;
  }
  .xl_float-none {
    float: none;
  }
  .xl_clear-both {
    clear: both;
  }
  .xl_mr-1\/4 {
    margin-right: 25%;
  }
  .xl_mt-0,
  .xl_my-0 {
    margin-top: 0;
  }
  .xl_mb-0,
  .xl_my-0 {
    margin-bottom: 0;
  }
  .xl_mt-1,
  .xl_my-1 {
    margin-top: 0.5rem;
  }
  .xl_mb-1,
  .xl_my-1 {
    margin-bottom: 0.5rem;
  }
  .xl_mt-2,
  .xl_my-2 {
    margin-top: 1rem;
  }
  .xl_mb-2,
  .xl_my-2 {
    margin-bottom: 1rem;
  }
  .xl_mt-3,
  .xl_my-3 {
    margin-top: 1.5rem;
  }
  .xl_mb-3,
  .xl_my-3 {
    margin-bottom: 1.5rem;
  }
  .xl_mt-4,
  .xl_my-4 {
    margin-top: 2rem;
  }
  .xl_mb-4,
  .xl_my-4 {
    margin-bottom: 2rem;
  }
  .xl_mt-5,
  .xl_my-5 {
    margin-top: 2.5rem;
  }
  .xl_mb-5,
  .xl_my-5 {
    margin-bottom: 2.5rem;
  }
  .xl_mt-6,
  .xl_my-6 {
    margin-top: 3rem;
  }
  .xl_mb-6,
  .xl_my-6 {
    margin-bottom: 3rem;
  }
  .xl_mt-7,
  .xl_my-7 {
    margin-top: 3.5rem;
  }
  .xl_mb-7,
  .xl_my-7 {
    margin-bottom: 3.5rem;
  }
  .xl_mt-8,
  .xl_my-8 {
    margin-top: 4rem;
  }
  .xl_mb-8,
  .xl_my-8 {
    margin-bottom: 4rem;
  }
  .xl_ml-0,
  .xl_mx-0 {
    margin-left: 0;
  }
  .xl_mr-0,
  .xl_mx-0 {
    margin-right: 0;
  }
  .xl_ml-1,
  .xl_mx-1 {
    margin-left: 0.5rem;
  }
  .xl_mr-1,
  .xl_mx-1 {
    margin-right: 0.5rem;
  }
  .xl_ml-2,
  .xl_mx-2 {
    margin-left: 1rem;
  }
  .xl_mr-2,
  .xl_mx-2 {
    margin-right: 1rem;
  }
  .xl_ml-3,
  .xl_mx-3 {
    margin-left: 1.5rem;
  }
  .xl_mr-3,
  .xl_mx-3 {
    margin-right: 1.5rem;
  }
  .xl_ml-4,
  .xl_mx-4 {
    margin-left: 2rem;
  }
  .xl_mr-4,
  .xl_mx-4 {
    margin-right: 2rem;
  }
  .xl_ml-5,
  .xl_mx-5 {
    margin-left: 2.5rem;
  }
  .xl_mr-5,
  .xl_mx-5 {
    margin-right: 2.5rem;
  }
  .xl_ml-6,
  .xl_mx-6 {
    margin-left: 3rem;
  }
  .xl_mr-6,
  .xl_mx-6 {
    margin-right: 3rem;
  }
  .xl_ml-7,
  .xl_mx-7 {
    margin-left: 3.5rem;
  }
  .xl_mr-7,
  .xl_mx-7 {
    margin-right: 3.5rem;
  }
  .xl_ml-8,
  .xl_mx-8 {
    margin-left: 4rem;
  }
  .xl_mr-8,
  .xl_mx-8 {
    margin-right: 4rem;
  }
  .xl_ml-auto,
  .xl_mx-auto {
    margin-left: auto;
  }
  .xl_mr-auto,
  .xl_mx-auto {
    margin-right: auto;
  }
  .xl_pt-0,
  .xl_py-0 {
    padding-top: 0;
  }
  .xl_pb-0,
  .xl_py-0 {
    padding-bottom: 0;
  }
  .xl_pt-1,
  .xl_py-1 {
    padding-top: 1rem;
  }
  .xl_pb-1,
  .xl_py-1 {
    padding-bottom: 1rem;
  }
  .xl_pt-2,
  .xl_py-2 {
    padding-top: 2rem;
  }
  .xl_pb-2,
  .xl_py-2 {
    padding-bottom: 2rem;
  }
  .xl_pt-3,
  .xl_py-3 {
    padding-top: 3rem;
  }
  .xl_pb-3,
  .xl_py-3 {
    padding-bottom: 3rem;
  }
  .xl_pt-4,
  .xl_py-4 {
    padding-top: 4rem;
  }
  .xl_pb-4,
  .xl_py-4 {
    padding-bottom: 4rem;
  }
  .xl_pt-5,
  .xl_py-5 {
    padding-top: 5rem;
  }
  .xl_pb-5,
  .xl_py-5 {
    padding-bottom: 5rem;
  }
  .xl_pt-6,
  .xl_py-6 {
    padding-top: 6rem;
  }
  .xl_pb-6,
  .xl_py-6 {
    padding-bottom: 6rem;
  }
  .xl_pt-7,
  .xl_py-7 {
    padding-top: 7rem;
  }
  .xl_pb-7,
  .xl_py-7 {
    padding-bottom: 7rem;
  }
  .xl_pt-8,
  .xl_py-8 {
    padding-top: 8rem;
  }
  .xl_pb-8,
  .xl_py-8 {
    padding-bottom: 8rem;
  }
  .xl_pl-0,
  .xl_px-0 {
    padding-left: 0;
  }
  .xl_pr-0,
  .xl_px-0 {
    padding-right: 0;
  }
  .xl_pl-1,
  .xl_px-1 {
    padding-left: 1rem;
  }
  .xl_pr-1,
  .xl_px-1 {
    padding-right: 1rem;
  }
  .xl_pl-2,
  .xl_px-2 {
    padding-left: 2rem;
  }
  .xl_pr-2,
  .xl_px-2 {
    padding-right: 2rem;
  }
  .xl_pl-3,
  .xl_px-3 {
    padding-left: 3rem;
  }
  .xl_pr-3,
  .xl_px-3 {
    padding-right: 3rem;
  }
  .xl_pl-4,
  .xl_px-4 {
    padding-left: 4rem;
  }
  .xl_pr-4,
  .xl_px-4 {
    padding-right: 4rem;
  }
  .xl_pl-5,
  .xl_px-5 {
    padding-left: 5rem;
  }
  .xl_pr-5,
  .xl_px-5 {
    padding-right: 5rem;
  }
  .xl_pl-6,
  .xl_px-6 {
    padding-left: 6rem;
  }
  .xl_pr-6,
  .xl_px-6 {
    padding-right: 6rem;
  }
  .xl_pl-7,
  .xl_px-7 {
    padding-left: 7rem;
  }
  .xl_pr-7,
  .xl_px-7 {
    padding-right: 7rem;
  }
  .xl_pl-8,
  .xl_px-8 {
    padding-left: 8rem;
  }
  .xl_pr-8,
  .xl_px-8 {
    padding-right: 8rem;
  }
}

/* ===================================
   Logo Carousel Component Styles
   =================================== */
body {
  overflow-x: hidden;
}
.logo-carousel {
  width: 100%;
}

.logo-carousel__container {
  max-width: 100%;
  margin: 0 auto;
  padding: 95px 60px;
  background-color:  #fff;
}

/* Title */
h2.logo-carousel__title {
  font-family: "Mr Eaves XL San OT", sans-serif;
  font-size: 56px;
  font-weight: 800;
  text-align: center;
  margin: 0 0 40px;
  color: #00283b;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 70px;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
}

/* Carousel Wrapper */
.logo-carousel__wrapper {
  position: relative;
  padding: 0 60px;
}

/* Slides Container */
.logo-carousel__slides {
  overflow: hidden;
}

.logo-carousel__track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

/* Individual Slide */
.logo-carousel__slide {
  flex: 0 0 20%; /* 5 items per view (100% / 5) */
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0;
  padding-top: 0;
}

.logo-carousel__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Navigation Buttons */
.logo-carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background-color: transparent;
  border: none;
}

.logo-carousel__btn:hover:not(:disabled) .logo-carousel__arrow {
  border-color: #fff;
}

.logo-carousel__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.logo-carousel__btn--prev {
  left: 0;
}

.logo-carousel__btn--next {
  right: 0;
}

/* Arrow Icon using CSS */
.logo-carousel__arrow {
  width: 12px;
  height: 12px;
  border-top: 2px solid #001f3f;
  border-right: 2px solid #001f3f;
  transition: border-color 0.3s ease;
}

.logo-carousel__btn--prev .logo-carousel__arrow {
  transform: rotate(-135deg);
  margin-left: 4px;
}

.logo-carousel__btn--next .logo-carousel__arrow {
  transform: rotate(45deg);
  margin-right: 4px;
}

/* ===================================
   Responsive Styles
   =================================== */

/* Tablet */
@media (max-width: 1024px) {
  .logo-carousel__slide {
    flex: 0 0 40%; /* 3 items per view */
  }

  .logo-carousel__title {
    font-size: 24px;
  }

  .logo-carousel__wrapper {
    padding: 0 50px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .logo-carousel__container {
    padding: 64px 24px 64px 24px;
  }

  .logo-carousel__slide {
    padding: 0 10px 0 0;
    flex: 0 0 55%;
  }
  .logo-carousel__slides {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
    scroll-behavior: smooth;
  }

  .logo-carousel__slides::-webkit-scrollbar {
    display: none;
  }
  .logo-carousel__image {
    height: 100%;
    width: 100%;
  }

  .logo-carousel__title {
    font-size: 20px;
    margin-bottom: 30px;
  }

  .logo-carousel__btn {
    padding-top: 20px;
    transform: none;
    top: 100%;
    width: 35px;
    height: 35px;
  }

  .logo-carousel__wrapper {
    padding: 0;
  }

  .logo-carousel__arrow {
    width: 10px;
    height: 10px;
  }

  .logo-carousel__title {
    font-size: 18px;
    letter-spacing: 1px;
  }
}

/* ===================================
   AEM Author Mode Styles
   =================================== */

.cq-Overlay .logo-carousel {
  min-height: 100px;
}

/*Left section code*/
.text{
    font-family:Montserrat;
    font-size:40px;
    font-weight:bold;
    color: #000000;
    text-align:start;
}
.text p{
    font-size:20px;
    font-weight:400;
}

.step {
    margin-bottom: 0;        /* remove margin, padding controls spacing now */
    padding-bottom: 72px;    /* gap between steps */
    position: relative;      /* line is relative to the whole step row */
}
@media(width<500px){
    .step{
        padding-bottom: 32px;
    }
}

.first-step::after,
.second-step::after {
    content: "";
    position: absolute;
    left: 48px;
    top: 96px;
    bottom: 8px;             /* ← was 0, now stops 8px before the next badge */
    border-left: 4px dotted #18bfff;
}

@media (max-width: 767px) {
    .first-step::after,
    .second-step::after {
        left: 27px;
        top: 54px;
        bottom: 8px;           /* same offset on mobile */
    }
}

/* step row */
.step {
    display: flex;
    gap: 34px;
    margin: 0;
}

/* circle image */
.step > div:first-child {
    flex: 0 0 96px;
    display: flex;
    justify-content: center;
}

.step > div:first-child img {
    width: 96px;
    height: 96px;
    display: block;
    object-fit: contain;
}

/* text */
.step .text {
    font-family: "Montserrat", sans-serif !important;
    font-size: 42px;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    color: #f3f3f3 !important;
    letter-spacing: 0 !important;
    text-align:left;
}

.step .text p {
    margin: 0;
}

/* dotted line image between steps */
a > img[src*="Vector"] {
    display: block;
    width: 4px;
    height: 150px;
    margin-left: 46px; /* aligns to center of 96px circle */
    margin-top: 10px;
    margin-bottom: 10px;
}

/* mobile */
@media (max-width: 767px) {
    .step {
        align-items: flex-start;
        gap: 20px;
    }

    .step > div:first-child {
        flex: 0 0 54px;
    }

    .step > div:first-child img {
        width: 54px;
        height: 54px;
    }

    .step .text {
        font-size: 22px !important;
        line-height: 1.14 !important;
        max-width: 270px;
    }

    a > img[src*="Vector"] {
        width: 3px;
        height: 92px;
        margin-left: 25px; /* center of 54px circle */
        margin-top: 8px;
        margin-bottom: 8px;
    }
}

/*File upload component */
/* ===========================
   File Upload Component Styles
   =========================== */

/* Base container */
.file-upload-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border: 1px solid #979797;
    border-radius: 4px;
    background-color: #fff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
    position: relative;
    min-height: 52px;
}

/* ===========================
   Default / Empty State
   =========================== */

/* Left side: drag & drop text */
.file-upload-btn > div:first-child {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1;
    min-width: 0; /* allow shrinking */
    overflow: hidden;
}

.file-upload-btn > div:first-child p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(89, 94, 97, 0.5);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Red asterisk */
.file-upload-btn .required-star {
    font-size: 18px;
    color: rgba(255, 0, 0, 0.6);
    flex-shrink: 0;
}

/* Right side: ADD FILE button wrapper */
.file-upload-btn > div:last-child {
    flex-shrink: 0;
    margin-left: 12px;
}

/* ADD FILE / ADD A FILE button */
.file-upload-btn .btn.learn-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid #2fb4e5;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease, border-color 0.2s ease;
}

.file-upload-btn .btn.learn-more span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #2fb4e5;
    transition: color 0.2s ease;
}

.file-upload-btn .btn.learn-more:hover {
    background: rgba(47, 180, 229, 0.05);
}

/* Hidden real file input */
.file-upload-btn input[type="file"] {
    display: none;
}

/* ===========================
   Uploaded State
   =========================== */

.file-upload-btn.has-file {
    border-color: #d5e5e1;
}

/* When file is uploaded, the left side becomes the file info area */
.file-upload-btn.has-file > div:first-child {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    min-width: 0;
    gap: 8px;
}

/* File info: check icon + name + size */
.file-upload-btn .file-info {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
}

/* Check icon */
.file-upload-btn .file-check-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #00a86b;
}

/* File name + size wrapper */
.file-upload-btn .file-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #00283b;
    font-size: 14px;
    min-width: 0;
    overflow: hidden;
}

.file-upload-btn .file-name {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    line-height: 22.4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px; /* shrinks filename, button stays put */
}

.file-upload-btn .file-size {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    line-height: 22.4px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Remove + ADD A FILE wrapper */
.file-upload-btn .file-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    margin-left: 12px;
}

/* Remove link */
.file-upload-btn .file-remove {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #ff4d4d;
    letter-spacing: -0.154px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.5;
    background: none;
    border: none;
    padding: 0;
    transition: opacity 0.2s;
}

.file-upload-btn .file-remove:hover {
    opacity: 0.75;
}

/* ADD A FILE button (dimmed state) */
.file-upload-btn.has-file .btn.learn-more {
    border-color: rgba(89, 94, 97, 0.3);
    cursor: pointer;
}

.file-upload-btn.has-file .btn.learn-more span {
    font-weight: 700;
    font-size: 16px;
    color: rgba(89, 94, 97, 0.5);
    opacity: 0.7;
}

.file-upload-btn.has-file .btn.learn-more:hover {
    background: rgba(89, 94, 97, 0.04);
}

/*Fixes for extend btn than layout when larger filenames*/
/* parent wrapper */
.uploaded-file-details {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
}

/* LEFT SECTION (file info) */
.uploaded-file-details > div:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;          /* take available space */
    min-width: 0;     /* IMPORTANT */
    overflow: hidden;
}

/* FILE NAME (main fix) */
.uploaded-file-details .file-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;          /* allow shrinking */
    min-width: 0;     /* IMPORTANT */
    max-width: 100%;
}

/* FILE SIZE should not shrink */
.uploaded-file-details .file-size {
    flex-shrink: 0;
}

/* RIGHT SECTION (buttons) */
.uploaded-file-details > div:last-child {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;   /* NEVER shrink */
}

/*......Submit Btn.....*/
.submit-row {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin-top: 170px;
}
@media(width<500px){
    .submit-row {
        margin-top: 40px;
    }
}

.submit-icon {
    flex: 0 0 auto;
    order: 1;
}

.submit-icon img {
    display: block;
    width: 58px;
    height: auto;
}

.cta-btn-wrapper {
    flex: 1;
    order: 2;
    margin-top: 0;
    text-align: left;
}

#fuelFileBtn {
    width: 100%;
    height: 74px;
    border-radius: 14px;
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .submit-row {
        gap: 12px;
        align-items: center;
    }

    .submit-icon img {
        width: 44px;
    }

    #fuelFileBtn {
        height: 56px;
        border-radius: 10px;
    }
}
/*safe and secure text*/
.safe-secure {
    font-weight: bold;
    font-size: 16px;
    color: #383D68;
    margin-top: 68px;
}
a, a:visited{
    color:#2FB4E5;
}

.checkbox input:checked {
    background: #2fb4e5;
    border: none;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M 3 6.875 L 5.573 9.183 L 10.188 4' stroke='%23fff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
}
/*current fuel spend*/
.current-fuel-spend h3{
color:#1E293B;
font-size:36px;
}

.current-fuel-spend h4{
color:#005A82;
font-size:24px;
}

.current-fuel-spend p{
color:#4B5563;
font-size:28px;
margin-bottom:48px;
}

@media(max-width:500px){
.current-fuel-spend p{
font-size:17px;
}
}

.aem-Grid {
    padding: 60px 60px 0px 48px;
max-width: 1920px;
    margin: 0 auto;
}
@media(max-width:991px){
   .aem-Grid {
      padding: 25px 10px 0px 10px;
    }
}

/*Analysis revealed section*/
.results-in-numb-comp {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  font-family: Arial, sans-serif;
}

.fraud-risk h2{
    margin-bottom:12px !important;
}
.fraud-risk p{
    margin-top:0px !important;
}
@media(min-width:1562px){
 .fraud-risk h2{
     margin-bottom: 6px !important;
 }
}
.transactions-analyed,
.score-optimization,
.fraud-risk {
  width: 100%;
  border: 1px solid #d9d9df;
  border-radius: 18px;
  padding: 28px 28px 26px;
  box-sizing: border-box;
  background: #f4f4f8;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02), 0 8px 20px rgba(0, 0, 0, 0.03);
  min-height: 210px;
}

.transactions-analyed {
  background: #ECF1F4;
}

.score-optimization {
  background: #ECF5F4;
  position: relative;
}

.fraud-risk {
  background: #F5F2F3;
}

.transactions-analyed h2:first-child,
.score-optimization h2:first-child,
.fraud-risk h2:first-child {
  margin: 0 0 28px;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6b6f80;
}

.fraud-risk h2:first-child {
  color: #d21f1f;
}

.transactions-analyed h2:nth-child(2),
.fraud-risk h2:nth-child(2) {
  margin: 0;
  font-size: 58px;
  line-height: 1;
  font-weight: 800;
  color: #0d5f87;
}

.transactions-analyed p,
.score-optimization p,
.fraud-risk p {
  margin: 12px 0 0;
  font-size: 20px;
  line-height: 1.45;
  color: #59606f;
}

.score-optimization h2:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*
.score-optimization h2:first-child::after {
  content: "Low";
  font-size: 16px;
  font-weight: 700;
  color: #d12a2a;
  background: #f4dede;
  border: 1px solid #e4c1c1;
  border-radius: 8px;
  padding: 4px 14px;
  text-transform: none;
}
*/
.score-optimization p {
  background: #fff;
  border-radius: 8px;
  padding: 18px 18px 16px;
  margin-top: 34px;
}

.score-optimization b,
.transactions-analyed h2:nth-child(2),
.fraud-risk h2:nth-child(2) {
  font-weight: 800;
}

@media (max-width: 992px) {
  .results-in-numb-comp {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .transactions-analyed,
  .score-optimization,
  .fraud-risk {
    min-height: auto;
    padding: 24px 20px;
  }

  .transactions-analyed h2:first-child,
  .score-optimization h2:first-child,
  .fraud-risk h2:first-child {
    font-size: 20px;
    margin-bottom: 22px;
  }

  .transactions-analyed h2:nth-child(2),
  .fraud-risk h2:nth-child(2) {
    font-size: 44px;
  }

  .transactions-analyed p,
  .score-optimization p,
  .fraud-risk p {
    font-size: 17px;
  }

  .score-optimization p {
    margin-top: 24px;
  }
}

.score-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.score-badge {
  font-size: 16px;
  font-weight: 700;
  color: #d12a2a;
  background: #f4dede;
  border: 1px solid #e4c1c1;
  border-radius: 8px;
  padding: 4px 14px;
}
.score-badge[data-score="Poor"] {
  color: #d12a2a;
  background: #f4dede;
  border-color: #e4c1c1;
}

.score-badge[data-score="Medium"] {
  color: #b26a00;
  background: #fff3cd;
  border-color: #f1d58a;
}

.score-badge[data-score="Good"] {
  color: #1e7e34;
  background: #d4edda;
  border-color: #b7dfc2;
}

/* Financial Impact section */

.stats-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.stats-card {
  background: #1e2c47;
  border-radius: 28px;
  padding: 56px 64px;
  color: #f4f4f4;
  box-sizing: border-box;
}
@media(min-width:1076px) and (max-width:1150px){
 .stats-card{
    height:350px;
 }
}
@media(min-width:1417px) and (max-width:1550px){
 .stats-card{
    height:306px;
 }
}


.stats-card__top {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.stats-card__amount {
  font-size: 64px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -1px;
}

.stats-card__unit {
  font-size: 26px;
  line-height: 1.2;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.85);
}

.stats-card__bottom {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.stats-card__meta {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
}

.stats-card__divider {
  width: 1px;
  height: 44px;
  background: rgba(255, 255, 255, 0.18);
  flex: 0 0 1px;
}
.anual-charges-text{
font-size:24px;
font-family:roboto;
text-align:center;
margin-bottom:48px;
}

@media (max-width: 991px) {
  .stats-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .stats-card {
    border-radius: 26px;
    padding: 34px 40px;
  }

  .stats-card__top {
    gap: 10px;
    margin-bottom: 22px;
  }

  .stats-card__amount {
    font-size: 42px;
  }

  .stats-card__unit {
    font-size: 24px;
  }

  .stats-card__bottom {
    gap: 18px;
  }

  .stats-card__meta {
    font-size: 26px;
  }

  .stats-card__divider {
    height: 36px;
  }
  .anual-charges-text{
    font-size:17px;
    font-family:roboto;
    text-align:left;
  }
}

@media(min-width:1151px) and (max-width:1325px){
.first-stats-card{
padding-bottom:100px;
}
}

/* Recommended products css */
.card-offer {
  width: 100%;
  box-sizing: border-box;
}

.card-offer__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 28px;
  border: 2px solid #8ed3f5;
  border-radius: 16px;
  background: #f4f4f6;
  padding: 26px 24px 26px 24px;
  box-sizing: border-box;
  min-height: 218px;
margin-bottom:48px
}

.learn-more {
     background: #fff;
    color: #2FB4E5 !important;
    border-radius: 4px;
    border: solid;
    border-width: 2px;
}
.apply-now{
 background:#2FB4E5;
    color: #fff !important;
    border-radius: 4px;
    border: solid;
    border-width: 2px;
}
.apply-now:hover {
    background-color: #1495CC;
    color: white !important;
    cursor: pointer;
}





.card-offer__media {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.card-offer__image-link {
  display: inline-block;
  line-height: 0;
}

.card-offer__image {
  display: block;
  width: 258px;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.card-offer__content {
  flex: 1 1 auto;
  min-width: 0;
}


.card-offer__title {
  margin: 0 0 16px;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 700;
  color: #1f2940;
  font-family: Arial, sans-serif;
}

.card-offer__description {
  margin: 0;
  font-size: 25px;
  line-height: 1.35;
  font-weight: 400;
  color: #4d586c;
  font-family: Arial, sans-serif;
}

.card-offer__actions-wrap {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 56px;
}

.card-offer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  height: 36px;
  padding: 0 18px;
  border-radius: 6px;
  background: #ef2323;
  color: #ffffff;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  font-family: Arial, sans-serif;
  text-transform: uppercase;
}

.card-offer__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.card-offer__action {
  flex: 0 0 auto;
}

.card-offer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 228px;
  height: 68px;
  padding: 0 28px;
  border-radius: 4px;
  text-decoration: none;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 700;
  text-transform: none;
  transition: none;
}

.card-offer__btn span {
  display: inline-block;
}

.card-offer__btn--outline {
  border: 2px solid #38b5ea;
  background: transparent;
  color: #38b5ea;
}

.card-offer__btn--filled {
  border: 2px solid #38b5ea;
  background: #38b5ea;
  color: #ffffff;
}

/* Tablet */
@media (max-width: 1199px) {
  .card-offer__inner {
    gap: 22px;
    padding: 24px 20px;
  }

  .card-offer__image {
    width: 220px;
  }

  .card-offer__title {
    font-size: 28px;
  }

  .card-offer__description {
    font-size: 21px;
  }

  .card-offer__actions-wrap {
    min-width: 360px;
    gap: 40px;
  }

  .card-offer__btn {
    min-width: 180px;
    height: 60px;
    font-size: 22px;
  }
}

/* Mobile */
@media (max-width: 1200px) {
  .card-offer__inner {
    display: block;
    padding: 22px 18px 24px;
    border-radius: 18px;
  }

  .card-offer__actions-wrap {
    min-width: auto;
    display: block;
  }

  .card-offer__badge {
    float: right;
    margin-bottom: 22px;
  }

  .card-offer__media {
    display: inline-block;
    vertical-align: middle;
    margin-right: 16px;
    margin-bottom: 18px;
  }

  .card-offer__content {
    display: inline-block;
    vertical-align: middle;
    min-width: 0;
    margin-bottom: 18px;
  }

  .card-offer__image {
    width: 188px;
  }

  .card-offer__text {
    max-width: 100%;
  }

  .card-offer__title {
    margin: 0;
    font-size: 33px;
    line-height: 1.1;
  }

  .card-offer__description {
    clear: both;
    display: block;
    width: 100%;
    margin-top: 8px;
    font-size: 26px;
    line-height: 1.45;
  }

  .card-offer__actions {
    clear: both;
    display: flex;
    gap: 18px;
    margin-top: 26px;
  }

  .card-offer__action {
    flex: 1 1 0;
  }

  .card-offer__btn {
    width: 100%;
    min-width: 0;
    height: 68px;
    font-size: 24px;
    padding: 0 14px;
  }
}

/* Small mobile */
@media (max-width: 575px) {
  .card-offer__inner {
    padding: 18px 14px 20px;
  }

  .card-offer__media,
  .card-offer__content {
    display: block;
    width: 100%;
    margin-right: 0;
  }

  .card-offer__media {
    margin-bottom: 16px;
  }

  .card-offer__content {
    margin-bottom: 16px;
  }

  .card-offer__image {
    width: 170px;
  }

.card-offer__image img {
    width:88px;
    height:56px;
}
  .card-offer__title {
    font-size: 28px;
  }

  .card-offer__description {
    font-size: 18px;
    line-height: 1.5;
  }

  .card-offer__badge {
    float: none;
    margin-bottom: 18px;
    margin-left: auto;
  }

  .card-offer__actions {
    gap: 14px;
  }

  .card-offer__btn {
    height: 56px;
    font-size: 20px;
  }
}

.card-offer__inner::after {
  content: "RECOMMENDED";
  position: absolute;
  top: 20px;
  right: 20px;

  background: #e5252a;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  letter-spacing: 0.5px;

  z-index: 2;
}

/* Ready for capturing section */
.capture-comp{
background:#005A82;
padding:40px 24px;
border-radius:16px;
text-align:center;
margin-bottom:48px;
}
.capture-text{
color:#fff;
}
.saving-btn{
    background-color: #40B7EC;
    padding: 16px;
color:#fff !important;
font-weight:bold;
}

.saving-btn:hover {
    background-color: #1495CC;
    color: white !important;
    cursor: pointer;
}
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* card */
.card {
  background: #ffffff;
  border: 1px solid #d9d6d8;
  border-radius: 20px;
  padding: 28px 32px;
}
@media (min-width: 991px) and (max-width: 1069px) {
  .card {
    height: 300px;
  }
}
@media (min-width: 1070px) and (max-width: 1590px) {
  .card {
    height: 275px;
  }
}

/* title */
.card-title {
  margin: 0 0 20px;
  font-size: 24px;
  font-weight: 700;
  color: #6B7280;
  letter-spacing: 0.5px;
font-family:Montserrat
}
@media(min-width:1600px){
 .card-title {
   font-size: 24px;
 }
}

/* label + value row */
.row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 16px;
  color: #5c6475;
}

.value {
  font-weight: 700;
  color: #2d2f39;
}

/* progress bar */
.bar {
  height: 6px;
  background: #e6e4e6;
  border-radius: 6px;
  margin-bottom: 20px;
  overflow: hidden;
}

.bar div {
  height: 100%;
  background: #2da6c9;
  border-radius: 6px;
}

/* mobile */
@media (max-width: 991px) {
  .cards {
    grid-template-columns: 1fr;
  }
}
