:root {
	--blue: #007bff;
	--indigo: #6610f2;
	--purple: #6f42c1;
	--pink: #e83e8c;
	--red: #dc3545;
	--orange: #fd7e14;
	--yellow: #ffc107;
	--green: #28a745;
	--teal: #20c997;
	--cyan: #17a2b8;
	--white: #fff;
	--gray: #6c757d;
	--gray-dark: #343a40;
	--primary: #007bff;
	--secondary: #6c757d;
	--success: #28a745;
	--info: #17a2b8;
	--warning: #ffc107;
	--danger: #dc3545;
	--light: #f8f9fa;
	--dark: #343a40;
	--breakpoint-xs: 0;
	--breakpoint-sm: 720px;
	--breakpoint-md: 993px;
	--breakpoint-lg: 1100px;
	--breakpoint-xl: 1280px;
	--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

* {
	box-sizing: border-box;
}

html {
	position: relative;
	min-height: 100%;
	font-size: 14px;
}

body {
	backface-visibility: hidden;
	overflow-x: hidden;
	background-color: #ffffff;
	margin: auto;
	padding: 0;
	padding-top: 150px;
	margin-bottom: 78px;
	color: #000000;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 150%;
	text-align: left;
}

form {
	margin: 0 auto;
	width: 100%;
}

h1 {
	font-size: 1.375rem;
	margin-top: 30px;
	color: #00675a;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.17px;
	margin-bottom: 15px;
}

a {
	text-decoration: none;
	color: #01675b;
	transition: color 300ms ease-in-out;
	font-weight: bold;
	cursor: pointer;
	width: fit-content;
	&:hover,
	&:active,
	&:focus {
		text-decoration: underline;
	}
}

p,
legend {
	font-size: 16px;
	margin: 0 0 1.14rem;
}

fieldset {
	border: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	margin-inline: 0;
	position: relative;
	min-inline-size: 0px;
	pointer-events: all;
}

.SectionHeaders {
	font-size: 1rem;
	padding: 5px 10px;
	height: 30px;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: bold;
	background: #006f51;
	color: #fff;
	letter-spacing: 0.16px;
	width: 100%;
}

header {
	position: fixed;
	right: 0;
	left: 0;
	top: 0;
	z-index: 1030;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	border-width: 0 0 1px;
	border-radius: 0;
	transform: translate3d(0, 0, 0);
	box-shadow: 0 0 10px 5px #eee;
}

.brand-header-secondary {
	background: #eff0f1;
	margin-bottom: 15px;
	padding: 5px 0;
}

.brand-header-branch-contact {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0 16px;
	gap: 20px;
	& > .seprator {
		display: inline-block;
		width: 1.5px;
		background-color: #04aa84;
		color: #ffffff;
		vertical-align: middle;
		height: 12px;
	}
	& > a {
		font-weight: 800;
		font-size: 16px;
		line-height: 20px;
		color: #3a3a3a;
		text-decoration: none;
		transition: all 0.35s ease-in 0s;
		&:last-of-type {
			font-weight: bold;
		}
		&:hover,
		&:active,
		&:focus {
			color: #068765;
		}
	}
}

.brand-header-logo {
	width: 100%;
	/*max-width: 1480px;*/
	padding: 0 16px 20px 16px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	& a {
		width: 122px;
		max-width: 30%;
		& > img {
			width: 100%;
		}
	}
	& > .brand-header-appName {
		display: flex;
		flex-direction: column;
		color: #01675a;
		font-size: 32px;
		font-weight: 500;
		line-height: 38.5px;
		text-align: right;
		& > span:last-of-type {
			color: #04aa84;
		}
	}
}

@media (min-width: 1560px) {
	.brand-header-logo {
		max-width: 1440px;
	}
}

@media (min-width: 720px) {
	.brand-header-logo {
		max-width: 992px;
	}
}
@media (min-width: 993px) {
	.brand-header-logo {
		max-width: 993px;
	}
}
@media (min-width: 1100px) {
	.brand-header-logo {
		max-width: 1100px;
	}
}
@media (min-width: 1280px) {
	.brand-header-logo {
		max-width: 1280px;
	}
}

footer {
	padding: 10px;
	border: 0;
	width: 100%;
	background-color: #01675a;
	border-radius: 0;
	margin-top: 20px;
	position: absolute;
	bottom: 0;
	min-height: 58px;
}

.footer-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	& > .footer-copywrite {
		font-size: 12.5px;
		color: #fff;
		padding-left: 10px;
		& > .page-text {
			display: flex;
			gap: 5px;
			align-items: center;
			padding-top: 5px;
			flex-wrap: wrap;
		}
	}
	& > .footer-logos {
		display: flex;
		align-items: center;
		gap: 10px;
		padding-right: 10px;
		& > a > img {
			width: 50px;
		}
		& > img {
			width: 30px;
		}
	}
}

@media all and (max-device-width: 430px), all and (max-width: 430px) {
	.footer-content {
		flex-direction: column;
		gap: 10px;
	}
}

@media all and (max-device-width: 320px), all and (max-width: 320px) {
	.footer-content > .footer-copywrite > .page-text {
		justify-content: center;
	}
}

main {
	width: 100%;
	/*max-width: 1440px;*/
	padding: 0 32px;
	margin: 16px auto 0 auto;
}

@media (min-width: 1560px) {
	main {
		max-width: 1440px;
	}
}

@media (min-width: 720px) {
	main {
		max-width: 992px;
	}
}
@media (min-width: 993px) {
	main {
		max-width: 993px;
	}
}
@media (min-width: 1100px) {
	main {
		max-width: 1100px;
	}
}
@media (min-width: 1280px) {
	main {
		max-width: 1280px;
	}
}

.page-container {
	width: 100%;
	max-width: calc(100% / 3 * 2);
	margin-left: calc(100% / 3 / 2);
	padding: 0 16px 3.5px 16px;
}

.cart {
	padding-bottom: 16px;
}

.page-content {
	padding-bottom: 16px;
}

@media all and (max-device-width: 993px), all and (max-width: 993px) {
	.page-container {
		margin-left: 0;
		max-width: 100%;
	}
}

ul.check-mark {
	padding: 0px;
	& > li {
		vertical-align: sub;
		line-height: 2.5rem;
		padding-left: 30px;
		background: transparent url(check-mark.png) 0 7px no-repeat;
		background-size: auto;
		background-size: 20px 20px;
		font-size: 16px;
		list-style: none;
	}
}

.alert {
	font-weight: bold;
	color: #ff0000;
}

.footnote {
	margin-top: 3rem;
	font-size: 11px;
}

.hidden {
	display: none;
}

.fiviPanel {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
}

/*buttons*/
.app-primary {
	width: auto;
	cursor: pointer;
	background-color: #01675a;
	padding: 5px 60px;
	font-family: Nunito Sans;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.75;
	border: 0;
	outline: none;
	display: inline-block;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	height: 32px;
	vertical-align: middle;
	transition: all 0.3s ease;
	width: auto;
	border-radius: 0px !important;
}

@media all and (max-device-width: 400px), all and (max-width: 400px) {
	.app-primary {
		width: 100%;
		padding: 5px 20px;
		margin: 10px 0;
	}
}

.app-secondary {
	font-family: Nunito Sans;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.75;
	padding: 4px 30px;
	border: 1px solid #bfbfbf;
	color: #151515;
	background-color: white;
	outline: none;
	display: inline-block;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	height: 32px;
	vertical-align: middle;
	transition: all 0.3s ease;
	border-radius: 0px;
	cursor: pointer;
}

.save-btn,
.fiviLinkButton,
.DisclosureLinkV3 {
	text-decoration: none;
	color: #01675a;
	transition: color 300ms ease-in-out;
	font-weight: bold;
	background-color: #fff;
	border: none;
	cursor: pointer;
	&:focus,
	&:active,
	&:hover {
		text-decoration: underline;
	}
}

.MobileScanButton {
	position: relative;
	display: inline-block;
	margin: 0 auto 0 auto;
	width: fit-content;
	background: #eeecec;
	color: #999;
	text-align: center;
	padding: 10px;
	/* width: 60%; */
	min-height: 40px;
	border-radius: 0.5em;
	border: thin solid #999;
}

.fiviBtnContainer {
	display: flex;
	max-width: fit-content;
	align-items: center;
	justify-content: center;
}

.page-direction-buttons,
.fiviProveButtons {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	width: 100%;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 1.5rem;
	& > .withdraw-container {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 1.5rem;
	}
}

@media all and (max-device-width: 440px), all and (max-width: 440px) {
	.page-direction-buttons {
		flex-direction: column;
		gap: 20px;
		& .app-secondary,
		& .app-primary,
		& .fiviBtnContainer {
			width: 100%;
			max-width: 100%;
		}
	}
}

/*controls*/

.fiviNewLine {
	display: none;
}

.fiviErrorSummary {
	color: red;
	font-weight: 900;
	padding-bottom: 20px;
}

.fiviTextBox,
.fiviPhoneControl,
.fiviAddressControl,
.fiviDropDown {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	position: relative;
}

.DefaultLabelClass {
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: bold;
	color: #000000;
	text-transform: uppercase;
}

.fiviValueLabelContainer {
	display: block;
	width: 100%;
}

.fiviControlActionsContainer,
.fiviAddressInputs > div:has(> .fiviBtnContainer) {
	position: absolute;
	left: calc(50% - 35px);
	top: 5px;
}

.form-control,
.fiviValueLabel {
	display: block;
	height: calc(2.25rem + 2px);
	padding: 0.375rem 0.75rem;
	line-height: 1.5;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgb(211, 211, 211);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	width: 50%;
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 16px;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	&:focus {
		outline: 0;
		color: #495057;
		background-color: #fff;
		border-width: 1px;
		border-color: #006759;
		box-shadow: 0 0 0 0.2rem #f8f8f8;
	}
	&:disabled {
		background: #f8f8f8;
		cursor: not-allowed;
	}
}

@media all and (max-device-width: 800px), all and (max-width: 800px) {
	.form-control,
	.fiviValueLabel {
		width: 100%;
	}
}

.fiviValueLabel {
	background-color: #e9ecef;
	cursor: not-allowed;
}

.popover {
	font-size: 12px;
	line-height: 18px;
	min-height: 18px;
	width: 50%;
	color: red;
	font-weight: 600;
	letter-spacing: 0.75;
	padding-left: 3px;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.loader {
	position: relative;
	z-index: 1;
	width: 150px;
	height: 150px;
	margin: 40px auto;
	border: 16px solid #d3d3d3;
	border-radius: 50%;
	border-top: 16px solid #01675a;
	width: 100px;
	height: 100px;
	animation: spin 2s linear infinite;
}

.fiviTextBox > .autocomplete-items:has(> div) {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 5px 0px;
	border: 1px solid rgb(211, 211, 211);
	border-top: none;
	position: absolute;
	left: 0;
	z-index: 2;
	background-color: white;
	width: 50%;
	& > div {
		font-size: calc(var(--font-size) + 2px);
		line-height: 1.5;
		font-weight: 300;
		padding: 0px 10px;
		cursor: pointer;
		&.autocomplete-active {
			background-color: rgb(211, 211, 211);
		}
	}
}

@media all and (max-device-width: 800px), all and (max-width: 800px) {
	.fiviTextBox > .autocomplete-items:has(> div) {
		width: 100%;
	}
}

.fiviControl.fiviRadioButton {
	& .fiviRadioButtonContainer {
		display: flex;
		gap: 10px;
		align-items: flex-start;
		justify-content: flex-start;
		& input {
			margin: 0;
			width: 20px;
			min-width: 20px;
			height: 20px;
			background-color: white;
			accent-color: #006f51;
			cursor: pointer;
			margin: 0;
			&:hover {
				accent-color: black;
			}
		}
		& label {
			width: 100%;
			margin: 0;
			font-weight: bold;
			font-size: 16px;
			&:empty {
				display: none;
			}
		}
	}
}

.fiviControl.fiviCheckBox {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100vw;
	max-width: fit-content;
	flex-wrap: wrap;
	& input {
		margin: 0;
		width: 20px;
		min-width: 20px;
		height: 20px;
		background-color: white;
		accent-color: #006f51;
		cursor: pointer;
		margin: 0;
		display: inline-block;
		opacity: 100;
		&:hover {
			accent-color: black;
		}
	}
	& label {
		width: 100%;
		margin: 0;
		padding: 0;
		display: unset;
		position: unset;
		font-size: 16px;
		flex-shrink: 1;
		width: calc(100% - 30px);
		&.CheckboxDisabledMessage {
			width: 100%;
			color: red;
			font-weight: bold;
		}
		&:before {
			display: none;
		}
		&:empty {
			display: none;
		}
	}
}

.fiviAddressManualEntryContainer {
	padding-top: 10px;
	& > center {
		text-align: left;
		padding-bottom: 10px;
	}
}

.fiviPhoneControl:has(select) {
	display: flex;
	flex-direction: row;
	gap: 10px;
	width: 50%;
	& .form-control {
		width: 100%;
	}
	& .DefaultLabelClass {
		margin-bottom: 0;
	}
}

@media all and (max-device-width: 800px), all and (max-width: 800px) {
	.fiviPhoneControl:has(select) {
		width: 100%;
		flex-direction: column;
	}
}

.fiviProdServControl,
.product-services-default-mode-container {
	width: 100vw;
	max-width: 100%;
}

.fiviProdGroup {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100vw;
	max-width: 100%;
}

.fiviProdServ {
	& > .fiviRadioButton > .fiviCheckboxContainer > .fiviCheckBox {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		width: 100vw;
		max-width: 100%;
		position: relative;
		border-top: 0.07rem solid #ccc;
		border-bottom: 0.07rem solid #ccc;
		margin-bottom: 5px;
		padding: 0 15px 0 10px;
		min-height: 40px;
		background-color: #f8f8f8;
		& > input {
			display: none;
		}
		& > label {
			display: flex;
			align-items: center;
			color: #000000;
			line-height: 16px;
			text-transform: capitalize;
			font-size: 1.2rem;
			width: 100vw;
			max-width: 100%;
			cursor: pointer;
			gap: 10px;
			&:after {
				content: "ADD";
				border: 3px solid #ffa608;
				background-color: #ffffff;
				text-transform: uppercase;
				color: #1b1b1b !important;
				font-weight: bold;
				transition: all 0.3s ease;
				border-radius: 0.25rem;
				padding: 2px;
				width: 100px;
				text-align: center;
				flex-shrink: 0;
				font-size: 14px;
				justify-self: flex-end;
				margin-left: auto;
			}
			&:before {
				content: "\f0da";
				display: block;
				font-family: "FontAwesome";
				order: 3;
				font-size: 22px;
				justify-self: flex-end;
			}
		}
		& > input:disabled + label {
			cursor: none;
			pointer-events: none;
			&:after {
				display: none;
			}
			&:before {
				display: none;
			}
		}
		& > input:checked + label {
			&:after {
				content: "Remove";
			}
			&:before {
				content: "\f0d7";
				max-width: 7px;
			}
		}
	}
	& > .fiviProductMoreInfo {
		display: none;
	}
	&:has(> .fiviRadioButton input:checked) {
		& > .fiviProductMoreInfo {
			display: flex;
			margin-top: 10px;
			margin-left: 25px;
			padding: 8px;
		}
	}
	& .fiviProductAdditionalOptions {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	& .fiviProdServGroup {
		margin-left: 25px;
		padding: 0 8px;
		display: flex;
		flex-direction: column;
		gap: 20px;
		&:has(> .fiviGroupHeader) {
			gap: 5px;
			order: 2;
		}
		& .fiviRadioButton {
			margin-bottom: 0.5rem;
			& .DefaultCBLabelClass {
				font-weight: 700;
			}
		}
		& .fiviProductServiceMoreInfo {
			padding-left: 20px !important;
			padding-top: 10px;
		}
		& > .fiviGroupHeader {
			margin-bottom: 10px;
		}
	}
}

.progress-container {
	width: 100vw;
	max-width: 100%;
}

.page-container:has(.hide-progress-bar) .progress-container {
	display: none;
}

.fiviProgressBar > .journey-bar {
	padding-bottom: 20px;
	& tr {
		display: flex;
		justify-content: flex-start;
		position: relative;
	}
	& td.journey-bar-group {
		display: flex;
		flex-direction: column;
		align-items: center;
		color: #04aa84;
		font-size: 12px;
		text-align: center;
		line-height: 18px;
		position: relative;
		min-width: 40px;
		width: 100%;
		&:before {
			content: "";
			display: block;
			border: 1px solid #d5d5da;
			background: #fff;
			border-left: none;
			border-right: none;
			position: absolute;
			left: calc(50% + 20px);
			height: 6px;
			z-index: 2;
			top: 12px;
			width: calc(100% - 40px);
		}
		&:last-of-type {
			&::before {
				display: none;
			}
		}
		& > span {
			display: block;
			& > span {
				display: block;
				padding-top: 40px;
			}
			&:before {
				content: "1";
				position: absolute;
				left: 0;
				right: 0;
				margin-inline: auto;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 32px;
				height: 32px;
				line-height: 28px;
				border-radius: 32px;
				font-size: 17px;
				font-weight: 700;
				color: #fff;
				background: #04aa84;
				box-shadow: inset 0 0 2px #04aa84;
				z-index: 3;
			}
			&:after {
				content: " ";
				display: block;
				position: absolute;
				left: 0;
				right: 0;
				top: -3.5px;
				margin-inline: auto;
				background: #fff;
				width: 40px;
				height: 40px;
				border-radius: 40px;
				/* border-radius: 0; */
				border: 1px solid #d5d5da;
			}
		}
		&:nth-of-type(2) > span:before {
			content: "2";
		}
		&:nth-of-type(3) > span:before {
			content: "3";
		}
		&:nth-of-type(4) > span:before {
			content: "4";
		}
		&:nth-of-type(5) > span:before {
			content: "5";
		}
		&.previous-group {
			&:before {
				background: #eee;
			}
			& > span {
				&:before {
					background: #01675a;
				}
				&:after {
					background: #eee;
				}
			}
		}
		&.future-group {
			& > span:before {
				background-color: #fff;
				box-shadow: none;
				color: #b5b5ba;
			}
		}
	}
}

@media all and (max-device-width: 700px), all and (max-width: 700px) {
	.fiviProgressBar > .journey-bar {
		padding-bottom: 40px;
		& td.journey-bar-group > span > span {
			display: none;
		}
	}
}

@media all and (max-device-width: 500px), all and (max-width: 500px) {
	.fiviProgressBar > .journey-bar {
		& td.journey-bar-group {
			&:before {
				height: 5px;
				width: calc(100% - 27px);
				left: calc(50% + calc(27px / 2));
				top: 10px;
			}
			& > span {
				&:before {
					font-size: 12px;
					width: 25px;
					height: 25px;
				}
				&:after {
					width: 29px;
					height: 29px;
					top: -2px;
				}
			}
		}
	}
}

.fiviLinkHistory > a {
	text-decoration: underline;
}

.fiviPleaseWait {
	position: fixed;
	width: 100vw;
	height: 100vh;
	z-index: 99;
	background-color: black;
	opacity: 0.75;
	top: 0;
	left: 0;
	padding-top: 20vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	& > .loaderMessage {
		text-align: center;
		color: white;
	}
}

/*
	fiVISION_DisclosuresList
*/

div:has(> .DisclosuresHeaderClass) {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	gap: 24px;
}

.DisclosuresHeaderClass {
	display: none;
}

.fiviDisclosureList {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	gap: 20px;
	padding-bottom: 20px;
	& > .DisclosureItem {
		& div {
			display: flex;
		}
		& .fa.fa-square {
			border: 1.5px solid #01675a;
			border-radius: 2px;
			color: white;
		}
		& .fa.fa-check {
			color: #01675a;
			border: 1.5px solid #01675a;
			border-radius: 2px;
		}
	}
	& .DisclosureLinkV3 {
	}
}

.fiviDisclosuresModal {
	position: fixed;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 0;
	background-color: color-mix(in srgb, #000000 75%, transparent);
	display: flex;
	align-items: center;
	flex-direction: column;
	padding-top: 15vh;
	z-index: 1040;
	& > div {
		width: 100vw;
		max-width: 80vw;
		background-color: #ffffff;
		padding-left: 24px;
		padding-right: 24px;
		border-left: solid 1px #d6d5d4;
		border-right: solid 1px #d6d5d4;
		&:first-of-type {
			padding-top: 24px;
			padding-bottom: 24px;
			border-left: solid 1px #d6d5d4;
			border-right: solid 1px #d6d5d4;
			border-top: solid 1px #d6d5d4;
			border-top-left-radius: 5px;
			border-top-right-radius: 5px;
			font-size: 16px;
			color: #000000;
			line-height: 24px;
			font-weight: bold;
		}
		&.fiviDisclosureModalButtonWrapper {
			padding-top: 24px;
			padding-bottom: 24px;
			display: flex;
			flex-direction: row-reverse;
			align-items: center;
			justify-content: space-between;
			border-left: solid 1px #d6d5d4;
			border-right: solid 1px #d6d5d4;
			border-bottom: solid 1px #d6d5d4;
			border-bottom-left-radius: 5px;
			border-bottom-right-radius: 5px;
		}
	}
	& .fiviPDFContainer {
		width: 100%;
		height: 60vh;
	}
}

@media all and (max-device-width: 1120px), all and (max-width: 1120px) {
	.fiviDisclosuresModal {
		& > div {
			max-width: 90vw;
		}
	}
}

.fiviProductFunding {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 25px;
	& > .fiviProductFundingItem {
		width: 100vw;
		max-width: 100%;
		border-bottom: 1px solid #eff0f1;
		padding-bottom: 25px;
		& .fiviProductFundingProductDescription {
			font-weight: 700;
			margin-bottom: 0.5rem;
		}
		& > .fiviFundingInput {
			display: flex;
			justify-content: space-between;
			gap: 20px;
			& > .fiviMoneyTextBox {
				width: 190px;
				& .form-control,
				& .popover {
					width: 190px;
					text-align: right;
				}
			}
		}
	}
	& > .fiviFundingAmount {
		display: flex;
		justify-content: space-between;
		font-weight: 700;
	}
}

@media all and (max-device-width: 600px), all and (max-width: 600px) {
	.fiviProductFunding {
		& > .fiviProductFundingItem {
			& > .fiviFundingInput {
				flex-direction: column;
				& > .fiviMoneyTextBox {
					width: 100%;
					& .form-control,
					& .popover {
						width: 100%;
					}
				}
			}
		}
	}
}

/*
	fiVISION_DocumentListV2
*/

.fiviDocumentList,
.page-RequiredDocuments .fiviDocumentList > span:has(> table),
.page-Approved .fiviDocumentList > span:has(> table),
.page-Pending .fiviDocumentList > span:has(> table) {
	max-width: 100%;
	width: 100%;
	display: flex;
	flex-direction: column-reverse;
	gap: 20px;
}
.fiviDocumentList > input:first-of-type {
	align-self: center;
}

.fiviDocumentList span.fiviBtnContainer {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 24px;
}

.fiviDocumentList table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--gray-dark);
	border-radius: 5px;
	box-shadow: none;
}

.fiviDocumentList table > tbody,
.fiviDocumentList table > thead {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.fiviDocumentList table > tbody > tr,
.fiviDocumentList table > thead > tr {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	padding: 0 20px;
	border: none;
	border-radius: 5px;
	border-bottom: 1px solid var(--gray-dark);
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}

.fiviDocumentList table > tbody > tr:nth-of-type(odd) {
	background-color: white !important;
}

.fiviDocumentList table > tbody > tr:nth-of-type(even) {
	background-color: transparent !important;
}

.fiviDocumentList table > tbody > tr:last-of-type {
	border: none;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.fiviDocumentList table th,
.fiviDocumentList table td {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 33%;
	width: 100%;
	padding: 10px 0 !important;
	background-color: transparent !important;
}

.V3MessagesHeaderClass th {
	max-width: 33% !important;
	width: 100% !important;
	border: none !important;
	color: #01675a;
}

.fiviDocumentList table th:first-of-type,
.fiviDocumentList table td:first-of-type {
	justify-content: flex-start;
}

.fiviDocumentList table th:last-of-type,
.fiviDocumentList table td:last-of-type {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 40%;
	width: 100%;
	background-color: transparent !important;
}

.fiviDocumentList table td:last-of-type span:has(> .fiviFileUpload) {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;

	& p {
		font-size: calc(14px - 2px);
		text-align: left;
	}
}

.fiviDocumentList table td:last-of-type > div[id*="UploadProgressBar_"] {
	max-width: 100%;
	min-width: 50%;
	width: fit-content;
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 5px;
}

.fiviDocumentList table td:last-of-type > div,
.fiviDocumentList table td:last-of-type > div > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.fiviDocumentList .DefaultTooltipClass {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 100%;
	margin: 0 !important;
	position: absolute;
	top: 0;
	right: 5px;
}

.ng-modal-overlay {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.8;
}

.ng-modal-dialog {
	z-index: 10000;
	position: fixed;
	width: 80%;
	border-radius: 10px;
	top: 10%;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 4px 4px 80px #000;
}

.ng-modal-dialog-content {
	padding: 10px;
	text-align: center;
	font-size: 1.5em;
}

.fiviDocumentList .ng-modal-dialog {
	left: 0;
	width: 60vw !important;
}

.fiviDocumentList .ng-modal-dialog-content {
	padding: 20px;
}

.fiviDocumentList .ModalContent .fiviEmailTextBox {
	max-width: 100%;
}

.fiviDocumentList .ModalContent > div {
	display: flex;
	flex-direction: column;
	gap: 10px;
	& h3 {
		margin: 0;
		font-size: 22px;
	}
	& #UploadWrapper {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
}

.fiviDocumentList .ModalContent br {
	display: none;
}

.fiviDocumentList .ModalContent > div > .modal-header {
	padding: 0;
	& > .fiviBtnContainer {
		margin: 0;
		& > button {
			font-size: 18px;
			color: black;
			opacity: 1;
			background-color: transparent;
			border: none;
			font-size: 22px;
			line-height: 22px;
			&:hover {
				opacity: 0.5;
			}
		}
	}
}

.fiviDocumentList .ModalContent > div > .modal-header .close:hover {
	opacity: 0.5;
}

.fiviDocumentList .ModalContent > div .modal-body-insideItem {
	text-align: left;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	gap: 10px;
	& div:has(> .fiviBtnContainer) {
		justify-content: flex-start !important;
	}
}

.fiviDocumentList .ModalContent > div .text-muted {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	color: black;
	line-height: 21px;
	gap: 5px;
}

.fiviDocumentList .ModalContent > div .text-muted > br {
	display: inline-block;
}

.fiviDocumentList .ModalContent #qrcode {
	margin: 0 !important;
}

.fiviDocumentList .ModalContent #UploadWrapper > div:nth-of-type(2) {
	margin: 0 !important;
	height: auto !important;
	border: none !important;
	text-align: left !important;
}

.fiviDocumentList .ModalContent #UploadWrapper > div:nth-of-type(2) > span {
	font-size: 16px !important;
	color: black !important;
	line-height: 24px !important;
	font-weight: bold;
	padding: 0 !important;
	text-align: left !important;
}

@media all and (max-device-width: 990px), all and (max-width: 990px) {
	.fiviDocumentList span.fiviBtnContainer {
		display: none;
	}
}

@media all and (max-device-width: 800px), all and (max-width: 800px) {
	.fiviDocumentList table:not(.V3StatusCenterTableClass) tbody > tr:first-of-type {
		display: none;
	}

	.fiviDocumentList table.V3StatusCenterTableClass thead {
		display: none;
	}

	.fiviDocumentList table > tbody > tr {
		flex-direction: column;
		padding: 10px;
		gap: 15px;
	}

	.fiviDocumentList table > tbody > tr > td {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: 16px;
		max-width: 100%;
		padding: 0 !important;
		width: 100%;
		gap: 5px;
	}

	.fiviDocumentList table > tbody > tr > td::before {
		font-size: 18px;
		line-height: 24px;
		color: #01675a;
		font-weight: 600;
		text-decoration: underline;
	}

	.fiviDocumentList table > tbody > tr > td:nth-of-type(1):before {
		content: "Applicant Name";
	}

	.fiviDocumentList table > tbody > tr > td:nth-of-type(2):before {
		content: "Document Type";
	}

	/* status center column names */

	.fiviDocumentList table.V3StatusCenterTableClass > tbody > tr > td:nth-of-type(1):before {
		content: "Application Number";
	}

	.fiviDocumentList table.V3StatusCenterTableClass > tbody > tr > td:nth-of-type(2):before {
		content: "Individual";
	}

	.fiviDocumentList table.V3StatusCenterTableClass > tbody > tr > td:nth-of-type(3):before {
		content: "Document Type";
	}

	.fiviDocumentList table.V3StatusCenterTableClass > tbody > tr > td:nth-of-type(4):before {
		content: " ";
	}

	.fiviDocumentList table > tbody > tr > td:nth-of-type(3),
	.fiviDocumentList table td:last-of-type {
		max-width: 100%;
	}

	.fiviDocumentList .DefaultTooltipClass {
		position: relative;
		height: fit-content;
		width: 100%;
		margin: 5px 0 !important;
	}

	.fiviDocumentList > input:first-of-type {
		display: none !important;
	}
}

.fiviApplicantWithdrawContainer {
    display: flex;
    flex-direction: column;
    gap: 10px;
    & .fiviTextBox .form-control {
        width: 100%;
        margin-top: 20px;
    }
}

/* pages */

.accountType-category-container {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: 1px solid #006f51;
	& .fiviRadioButtonContainer {
		& > input {
			display: none;
		}
		& > input + label {
			padding: 10px 15px;
			text-align: center;
			color: #01675b;
			transition: color 300ms ease-in-out;
			font-weight: bold;
			cursor: pointer;
		}
		& > input:checked + label {
			background-color: #07926d;
			font-weight: bold;
			color: white;
			width: 125px;
		}
	}
}

.dcu-productServices-container {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100vw;
	max-width: 100%;
}

.page-NonMember.prove-initializing-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	& > .application-number {
		width: 100%;
	}
	& > h1 {
		font-weight: bold;
		font-size: 30px;
		letter-spacing: 0.16px;
		text-transform: unset;
		color: #000000;
		margin-bottom: 20px;
	}
	& > .prove-check-phone-image-container {
		height: 50%;
		width: 50%;
		margin: 20px 0 100px 0;
		& > img {
			width: 100%;
		}
	}
	& > .prove-text {
		text-align: center;
		font-size: 20px;
	}
}

@media all and (max-device-width: 600px), all and (max-width: 600px) {
	.page-NonMember.prove-initializing-container {
		& > .prove-check-phone-image-container {
			width: 100%;
			height: auto;
		}
	}
}

.page-NonMember.prove-individual-container {
	& input#cbeCBSVConsent + label {
		font-weight: bold;
		font-size: 14px;
	}
}

.page-Eligibility {
	& .fiviRadioButton label {
		text-transform: none;
	}
	& #pnlEmployers:has(input[style="display: none;"]) {
		display: none;
	}
}

.page-Organizations {
	& .fiviRadioButton .fiviRadioButtonContainer label {
		text-transform: none;
		font-weight: normal;
	}
	.fiviControl.fiviCheckBox {
		& label {
			font-weight: normal;
		}
	}
}

.page-Disclosures {
	& .fiviControl.fiviCheckBox {
		& label {
			font-weight: normal;
			&.CheckboxDisabledMessage {
				font-weight: bold;
			}
		}
	}
}

.backup-withholding {
	display: flex;
	flex-direction: column;
	gap: 20px;
	& > p {
		margin: 0;
	}
	& > .footnote {
		margin: 0;
	}
    & .rb-gray-container {
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		background-color: #f8f8f7;
		padding: 12px;
        & .page-text {
            padding-left: 30px;
            font-size: 16px;
        }
    }
	& .fiviControl.fiviRadioButton {
        display: block;
        margin-bottom: 10px;
		& .fiviRadioButtonContainer {
			& label {
				font-weight: normal;
				text-transform: none;
			}
		}
	}
}

.page-FundingMethod {
	& .funding-container {
		& > .fiviRadioButton label {
			text-transform: none;
			font-size: 18px;
		}
	}
    & .funding-details {
        padding-bottom: 20px;
        padding-left: 30px;
    }
}

.page-Submit {
	& .funding-information {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding-bottom: 20px;
	}
	& .contact-information {
		& label {
			font-weight: bold;
			padding-bottom: 8px;
		}
	}
	& .product-information {
		padding-bottom: 20px;
	}
	& .GrayArea {
		border: black 0.5px solid;
		border-radius: 5px;
		width: 90%;
		background-color: #eee;
		padding: 10px;
		& label {
			font-weight: normal;
			padding-bottom: 0;
		}
	}
	& .fiviControl.fiviRadioButton {
		& .fiviRadioButtonContainer {
			& label {
				text-transform: none;
			}
		}
	}
}

/* modal */
.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    outline: 0;
    background-color: rgb(0, 0, 0, .3);
    opacity: 1;
    overflow-x: hidden;
    overflow-y: auto;
    transition: opacity 0.15s linear;
}

.modal-mm {
	width: 50px;
	height: auto;
	width: auto;
    transition: transform 0.3s ease-out;
    transform: translate(0, 0);
    margin: 1.75rem auto;
    position: relative;
}

.modal-header {
	display: block !important;
	min-height: 16.43px;
	padding: 15px;
	border-bottom: 1px solid #e5e5e5;
}

.modal-header .close {
	margin-top: -8px;
}

.modal-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	border-top: 1px solid #e9ecef;
}

.modal-title {
	margin: 0;
	line-height: 1.42857143;
}

.modal-content {
	display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    position: relative;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #999;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 6px;
	outline: 0;
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
}

.modal-body {
        position: relative;
    flex: 1 1 auto;
    padding: 1rem;
}

.close {
	float: right;
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	filter: alpha(opacity=20);
	opacity: 0.2;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    padding: 1rem;
    margin: -1rem -1rem -1rem auto;
        margin-top: -8px;
        cursor: pointer;
}

.fade.in:not(.popover) {
	background-color: rgb(0, 0, 0, 0.3);
}

/*
    11. Admin Console
*/

.AdminContent .aspNetDisabled {
	display: flex;
	width: fit-content;
	align-items: center;
	min-width: 200px;
}

.AdminContent .aspNetDisabled > input {
	width: 20px;
}

.layout.AdminConsole {
	min-height: auto;
}

.layout.AdminConsole > header,
.layout.AdminConsole > footer {
	display: none;
}

.layout.AdminConsole > main {
	padding: 40px 10px;
}

.layout.AdminConsole > main > .layout-container {
	width: 100%;
	max-width: calc(980px - 40px);
}

.layout.AdminConsole .page-navigation-container {
	max-width: 100%;
}

/*
    MCRD
*/

body:has(.fiviViewFormHeader) {
	padding-top: 10px;
}

.fiviViewFormHeader {
	max-width: 100%;
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
	& > .fiviSCDropDown {
		width: 100vw;
		max-width: 300px;
		flex-direction: column;
		margin: 10px 0;
		& > label {
			font-size: 16px !important;
			font-weight: 500;
		}
		& > .form-control {
			margin-top: 5px;
			width: 100%;
		}
	}
}

.fiviViewFormHeader + div {
	width: 1000px;
	margin: 0 auto;
	& header,
	& footer,
	& .progress-container,
	& .cart {
		display: none;
	}
}
