/*
    Table of Contents

    1. Variables
		1.1 Mobile Variables
    2. General Elements & Classes
		2.1 General Elements
		2.3 Flex Helper Classes
		2.4 Column Helper Classes
		2.5 General Helper Classes
    3. Page Structure
		3.1 Page Structure
		3.2 Header Styling
		3.3 Main Styling
		3.4 Footer Styling
    4. Page General Containers
	5. Buttons
		5.1 Button Containers
	6. Accordions
	7. Ancillary Components
		7.3 Fivi Input Containers
		7.4 Fivi Checkbox/Radio Buttons
		7.5 Validator
		7.6 Tool Tips
		7.7 Seperators
		7.8 Loader
		7.9 Popover
	8. fiVISION Controls
		8.1 fiVISION_ErrorSummary
		8.2 fiVISION_Panel
		8.3 fiVISION_ProductsAndServicesV2
		8.4 fiVISION_AddressTextBoxV2
		8.5 fiVISION_PhoneTextBoxV2
		8.6 fiVISION_IDTypeV2
		8.7 fiVISION_HousingDurationHistory
		8.8 fiVISION_EmploymentHistory
		8.9 fiVISION_IndividualIncome
		8.10 fiVISION_IndividualDetails
		8.11 fiVISION_ProductsAndServicesSelected
		8.12 fiVISION_ProductRelationships
		8.13 fiVISION_DocumentListV2
		8.14 fiVISION_DisclosuresList
		8.15 fiVISION_IDAuthenticationQuestions
		8.16 fiVISION_ProductFundingV2
		8.17 fiVISION_ACH
		8.18 fiVISION_CreditCardV2
		8.19 fiVISION_ApplicantWithdraw
		8.20 fiVISION_ProgressBar
		8.21 fiVISON_IndividualHandler
		8.22 Status Center Login
		8.23 Status Center Summary
		8.24 v3TextBox
		8.25 fiVISION_FinicityFundingAccountVerification
		8.26 fiVISION_OneTimePasscode
		8.27 fiVISION_WorkflowSurvey
		8.28 fiVISION_LinkHistory
		8.29 fiVISION_Label
	9. Page Specific
		9.1 Default Page
		9.2 Status Center - Default
		9.3 Status Center - Status Center
		9.4 Funding Method
		9.5 eSign Agreement
	10. ControlID Specific
	11. Admin Console

    Mobile Reference Media Queries for stepping down
    Assumes column width 66px and column spacer 24px
    
    @media all and (max-device-width: 1106px), all and (max-width: 1106px) {
    
    }

    @media all and (max-device-width: 836px), all and (max-width: 836px) {

    }

    @media all and (max-device-width: 656px), all and (max-width: 656px) {

    }

    @media all and (max-device-width: 475px), all and (max-width: 475px) {

    }

*/

/*
    1. Variables
*/

:root {
	/*colors*/
	/*gray scale*/
	--color-white-light: #fff;
	--color-white-normal: #fff;
	--color-white-dark: #fff;
	--color-gray-light: #f8f8f8;
	--color-gray-normal: #f6f9fc;
	--color-gray-dark: #d6d5d4;
	--color-black-light: #0b0731;
	--color-black-normal: #000;
	--color-black-dark: #000;

	/*client colors*/
	--color-primary-light: #f6f9fc;
	--color-primary-normal: #6186f6;
	--color-primary-dark: #435dac;
	--color-secondary-light: #0d0734;
	--color-secondary-normal: #0d0734;
	--color-secondary-dark: #0d0734;
	--color-tertiary-light: #d4dffd;
	--color-tertiary-normal: #d4dffd;
	--color-tertiary-dark: #d4dffd;
	--color-quaternary-light: #0d0734;
	--color-quaternary-normal: #0d0734;
	--color-quaternary-dark: #0d0734;

	/*font family*/
	--font-family-pri: "Montserrat", sans-serif;
	--font-family-alt: "Lato", sans-serif;

	/*fonts*/
	/*default font*/
	--font-size: 14px;
	--font-lineheight: 20px;
	--font-color: var(--color-black-light);
	--font-weight: 500;
	--font-family: var(--font-family-pri);

	/*input font*/
	--font-size-input: 20px;
	--font-lineheight-input: 22px;
	--font-color-input: var(--font-color);
	--font-weight-input: var(--font-weight);
	--font-family-input: var(--font-family);

	/*label font*/
	--font-size-label: 20px;
	--font-lineheight-label: var(--font-lineheight);
	--font-color-label: var(--font-color);
	--font-weight-label: 300;
	--font-family-label: var(--font-family-alt);

	/*h1 font*/
	--font-size-h1: 32px;
	--font-lineheight-h1: 42px;
	--font-color-h1: var(--color-black-light);
	--font-weight-h1: 500;
	--font-family-h1: var(--font-family-alt);

	/*h2 font*/
	--font-size-h2: 24px;
	--font-lineheight-h2: 26px;
	--font-color-h2: var(--font-color-h1);
	--font-weight-h2: 600;
	--font-family-h2: var(--font-family-input);

	/*h3 font*/
	--font-size-h3: 18px;
	--font-lineheight-h3: 22px;
	--font-color-h3: var(--color-secondary-dark);
	--font-weight-h3: 600;
	--font-family-h3: var(--font-family);

	/*h4 font*/
	--font-size-h4: 16px;
	--font-lineheight-h4: 150%;
	--font-color-h4: var(--font-color-h1);
	--font-weight-h4: 600;
	--font-family-h4: var(--font-family);

	/*page structure*/
	--column-width: 66px;
	--column-spacer: 24px;
	--column-width-half: calc(var(--column-width) / 2); /*33px*/
	--column-width-2: calc(calc(var(--column-width) * 2) + var(--column-spacer)); /*156px*/
	--column-width-3: calc(calc(var(--column-width) * 3) + calc(var(--column-spacer) * 2)); /*246px*/
	--column-width-4: calc(calc(var(--column-width) * 4) + calc(var(--column-spacer) * 3)); /*336px*/
	--column-width-5: calc(calc(var(--column-width) * 5) + calc(var(--column-spacer) * 4)); /*426px*/
	--column-width-6: calc(calc(var(--column-width) * 6) + calc(var(--column-spacer) * 5)); /*516px*/
	--column-width-7: calc(calc(var(--column-width) * 7) + calc(var(--column-spacer) * 6)); /*606px*/
	--column-width-8: calc(calc(var(--column-width) * 8) + calc(var(--column-spacer) * 7)); /*696px*/
	--column-width-9: calc(calc(var(--column-width) * 9) + calc(var(--column-spacer) * 8)); /*786px*/
	--column-width-10: calc(calc(var(--column-width) * 10) + calc(var(--column-spacer) * 9)); /*876px*/
	--column-width-11: calc(calc(var(--column-width) * 11) + calc(var(--column-spacer) * 10)); /*966px*/
	--column-width-12: calc(calc(var(--column-width) * 12) + calc(var(--column-spacer) * 11)); /*1056px*/
	--column-width-full: 100%;

	/*flex properties*/
	--gap-vertical: var(--column-spacer);
	--gap-vertical-25: calc(var(--gap-vertical) * 0.25);
	--gap-vertical-50: calc(var(--gap-vertical) * 0.5);
	--gap-vertical-75: calc(var(--gap-vertical) * 0.75);
	--gap-vertical-150: calc(var(--gap-vertical) * 1.5);
	--gap-vertical-200: calc(var(--gap-vertical) * 2);

	--gap-horizontal: var(--column-spacer);
	--gap-horizontal-25: calc(var(--gap-horizontal) * 0.25);
	--gap-horizontal-50: calc(var(--gap-horizontal) * 0.5);
	--gap-horizontal-75: calc(var(--gap-horizontal) * 0.75);
	--gap-horizontal-150: calc(var(--gap-horizontal) * 1.5);
	--gap-horizontal-200: calc(var(--gap-horizontal) * 2);

	/*input and label structure*/
	--fiviInput-width: var(--column-width-6);
	--fiviInput-width-half: calc(calc(var(--fiviInput-width) - var(--column-spacer)) / 2);
	--fiviInput-width-double: calc(calc(var(--fiviInput-width) * 2) + var(--column-spacer));

	/*the below two should add to the above, sometimes 3+2 or 2+2 or 2+1, main is always >= alt*/
	--fiviInput-width-partial-main: var(--column-width-3);
	--fiviInput-width-partial-alt: var(--column-width-3);

	--input-height: 60px;
	--input-focusLabel-fontSize: 12px;
	--input-focusLabel-offset: calc(var(--input-height) + var(--gap-vertical-25));
	--input-marginTop-forLabelFocusSpace: calc(var(--input-focusLabel-fontSize) + var(--gap-vertical-25));

	/* how much space between each input */
	--fiviInput-vertical-spacing: var(--gap-vertical-150);
	--fiviInput-horizontal-spacing: var(--gap-horizontal);
}

/*
    1.1 Mobile Variables

    We are going to do a step down approach.  We need to account for the 
    head/main/foot left/right padding of column width (*2 as there are left and right).
    add a couple pixels for good measure.
*/
@media all and (max-device-width: 1120px), all and (max-width: 1120px) {
	/*
        @1056px+96px+2px = 1106px
        -12 columns -> 8 columns 
        -fiviInput-width goes to 4 columns
        -should accomidate 2 inputs per row
    */
	:root {
		--font-size-input: 18px;
		--font-size-label: 18px;
		--font-lineheight-label: var(--font-lineheight);
		--column-width-11: 100%;
		--column-width-12: 100%;
		--column-width-10: 100%;
		--fiviInput-width: var(--column-width-4);
		--fiviInput-width-partial-main: var(--column-width-2);
		--fiviInput-width-partial-alt: var(--column-width-2);
		--fiviInput-width-half: var(--column-width-2);
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	/*
        @786px+48px+2px = 836px
        -9 columns -> 6 columns 
        -fiviInput-width goes to 3 columns
        -should accomidate 2 inputs per row
    */
	:root {
		--font-size: 14px;
		--font-size-h1: 30px;
		--font-lineheight-h1: 32px;
		--font-size-h2: 22px;
		--font-lineheight-h2: 24px;
		--font-size-h3: 18px;
		--font-lineheight-h3: 20px;
		--column-width-8: 100%;
		--column-width-9: 100%;
		--fiviInput-width: var(--column-width-6);
		--fiviInput-width-partial-main: var(--column-width-3);
		--fiviInput-width-partial-alt: var(--column-width-3);
		--fiviInput-width-half: calc(calc(var(--fiviInput-width) - var(--column-spacer)) / 2);
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	/*
        @606px+48+2px = 656px
        -7 columns -> 4 columns
        -fiviInput-width goes to 4 columns
        -accomidate 1 input, with an exception or two, inputs go 1 per row
    */
	:root {
		--column-width-6: 100%;
		--column-width-7: 100%;
		--fiviInput-width: var(--column-width-5);
		--fiviInput-width-partial-main: var(--column-width-3);
		--fiviInput-width-partial-alt: var(--column-width-2);
		--fiviInput-width-half: calc(calc(var(--fiviInput-width) - var(--column-spacer)) / 2);
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	/*
        @426px+24px+2px = 475px
        - any column width > 2 goes to 100%
    */
	:root {
		--column-width-3: 100%;
		--column-width-4: 100%;
		--column-width-5: 100%;
		--fiviInput-width-half: calc(50% - calc(var(--column-spacer) / 2));
	}
}

/*
    2. General Elements & Classes
*/

/*
    2.1 General Elements
*/

* {
	box-sizing: border-box;
}

html,
body {
	font-size: var(--font-size);
	line-height: var(--font-size);
	color: var(--font-color);
	font-weight: var(--font-weight);
	font-family: var(--font-family);
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4,
p,
label,
input,
select,
textarea,
form {
	margin: 0;
	margin-block: 0;
	padding: 0;
	padding-block: 0;
	width: 100%;
}

b {
	font-weight: 600;
}

h1,
.h1 {
	font-size: var(--font-size-h1);
	line-height: var(--font-lineheight-h1);
	color: var(--font-color-h1);
	font-weight: var(--font-weight-h1);
	font-family: var(--font-family-h1);
	text-align: center;
}

h2,
.h2 {
	font-size: var(--font-size-h2);
	line-height: var(--font-lineheight-h2);
	color: var(--font-color-h2);
	font-weight: var(--font-weight-h2);
	font-family: var(--font-family-h2);
	text-align: left;
}

h3,
.h3 {
	font-size: var(--font-size-h3);
	line-height: var(--font-lineheight-h3);
	color: var(--font-color-h3);
	font-weight: var(--font-weight-h3);
	font-family: var(--font-family-h3);
	text-align: left;
}

h4,
.h4 {
	font-size: var(--font-size-h4);
	line-height: var(--font-lineheight-h4);
	color: var(--font-color-h4);
	font-weight: var(--font-weight-h4);
	font-family: var(--font-family-h4);
	text-align: left;
}

legend {
	display: none;
}

a {
	color: var(--color-primary-normal);
	text-decoration: none;
	cursor: pointer;
}

a:visited {
	color: var(--color-primary-normal);
}

a:hover {
	text-decoration: underline;
	color: var(--color-primary-dark);
}

ul,
ol {
	margin-bottom: 0;
	line-height: calc(var(--font-size) * 1.25);
	padding-left: var(--gap-horizontal);
}

ul > li:not(:last-of-type),
ol > li:not(:last-of-type) {
	margin-bottom: var(--gap-vertical-25);
}

.hidden {
	display: none;
}

label {
	font-weight: var(--font-weight-label);
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	--webkit-appearance: button;
	cursor: pointer;
}

fieldset {
	margin: 0;
	min-inline-size: unset;
	margin-inline: 0;
	border: none;
	padding-block: unset;
	padding-inline: unset;
}

:focus-visible {
	outline: none;
}

/*
    2.2 Flex Helper Classes
*/

.flex-row {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	flex-wrap: wrap;
	width: 100%;
}

.flex-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	width: 100%;
}

.flex-row.flex-align-vertical-center {
	align-items: center;
}

.flex-column.flex-align-vertical-center {
	justify-content: center;
}

.flex-row.flex-align-horizontal-center {
	justify-content: center;
}

.flex-column.flex-align-horizontal-center {
	align-items: center;
}

.flex-row.flex-space-between {
	justify-content: space-between;
}

.flex-column.flex-space-between {
	align-items: space-between;
}

.flex-column.flex-align-vertical-center {
	align-items: center;
}

.flex-row.flex-align-horizontal-end {
	justify-content: flex-end;
}

.flex-column.flex-align-horizontal-end {
	align-items: flex-end;
}

.flex-row.flex-align-vertical-end {
	align-items: flex-end;
}

.flex-column.flex-align-vertical-end {
	justify-content: flex-end;
}

.flex-gap-25 {
	gap: var(--gap-vertical-25) var(--gap-horizontal) !important;
}

.flex-gap-50 {
	gap: var(--gap-vertical-50) var(--gap-horizontal) !important;
}

.flex-gap-75 {
	gap: var(--gap-vertical-75) var(--gap-horizontal) !important;
}

.flex-gap-100 {
	gap: var(--gap-vertical) var(--gap-horizontal) !important;
}

.flex-gap-150 {
	gap: var(--gap-vertical-150) var(--gap-horizontal) !important;
}

.flex-gap-200 {
	gap: var(--gap-vertical-200) var(--gap-horizontal) !important;
}

/*
    2.4 Column Helper Classes
*/

.column-width-fiviInput {
	max-width: var(--fiviInput-width);
	width: 100vw;
}

.column-width-1 {
	max-width: var(--column-width);
	width: 100vw;
}

.column-width-2 {
	max-width: var(--column-width-2);
	width: 100vw;
}

.column-width-3 {
	max-width: var(--column-width-3);
	width: 100vw;
}

.column-width-4 {
	max-width: var(--column-width-4);
	width: 100vw;
}

.column-width-5 {
	max-width: var(--column-width-5);
	width: 100vw;
}

.column-width-6 {
	max-width: var(--column-width-6);
	width: 100vw;
}

.column-width-7 {
	max-width: var(--column-width-7);
	width: 100vw;
}

.column-width-8 {
	max-width: var(--column-width-8);
	width: 100vw;
}

.column-width-9 {
	max-width: var(--column-width-9);
	width: 100vw;
}

.column-width-10 {
	max-width: var(--column-width-10);
	width: 100vw;
}

.column-width-11 {
	max-width: var(--column-width-11);
	width: 100vw;
}

.column-width-12 {
	max-width: var(--column-width-12);
	width: 100vw;
}

.column-width-full {
	max-width: 100%;
	width: 100vw;
}

/*
    2.5 General Helper Classes
*/

.page-text {
	font-size: calc(var(--font-size) + 2px);
	line-height: var(--font-lineheight);
	font-weight: 400;
	color: var(--font-color);
	width: 100%;
}

.page-text-small {
	font-size: calc(var(--font-size) - 2px);
	line-height: var(--font-lineheight);
	font-weight: var(--font-weight);
	color: var(--font-color);
	width: 100%;
}

.page-text-large {
	font-size: calc(var(--font-size) + 2px);
	line-height: var(--font-lineheight);
	font-weight: var(--font-weight);
	color: var(--font-color);
	width: 100%;
}

.no-wrap {
	white-space: nowrap;
	text-wrap: nowrap;
	width: fit-content;
}

.spacer-vertical {
	width: 100%;
}

.fiviHide {
	display: none !important;
}

.fiviTransparent {
	color: transparent;
}

.fiviNewLine {
	display: none !important;
}

.mobile-visible-only {
	display: none;
}

.external-label {
	font-size: var(--font-size-label);
	font-weight: 500;
	font-family: var(--font-family-label);
	line-height: 150%;
	color: var(--font-color-label);
	width: 100vw;
	max-width: 100%;
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.mobile-visible-only {
		display: flex;
	}
}

/*
    3. Page Structure
*/

/*
    3.1 Page Structure
*/

.layout {
	background-color: var(--color-gray-normal);
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 100vh;
}

header,
main,
footer {
	width: 100%;
	display: flex;
	flex: initial;
	margin: 0;
	padding: var(--gap-vertical) var(--gap-horizontal);
	text-align: left;
}

header {
	box-shadow: none;
	background-color: var(--color-white-dark);
}

main {
	flex-grow: 1;
	margin-bottom: auto;
	align-items: flex-start;
	height: 100%;
	flex-direction: column;
	padding: 0;
}

footer {
	background-color: var(--color-quaternary-normal);
}

header > .layout-container,
main > .layout-container,
footer > .layout-container {
	max-width: var(--column-width-12);
	width: 100%;
	margin: 0 auto;
	min-height: 62px;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.layout {
		gap: 0;
	}

	header,
	main,
	footer {
		padding: var(--gap-vertical-50) var(--gap-horizontal-50);
	}

	header > .layout-container {
		min-height: 50px;
		flex-direction: column;
		justify-content: center;
	}
}

/*
    3.3 Main Styling
*/

main > .layout-container {
	flex-grow: 1;
	height: 100%;
	padding: var(--gap-vertical-150) var(--column-spacer);
	max-width: calc(var(--column-width-12) + calc(var(--column-spacer) * 2));
	background-color: var(--color-white-normal);
	outline: 1px solid var(--color-gray-dark);
}

main > .layout-container > span {
	/*
        this is span that start the fivision_PageContent
    */
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
	main > .layout-container {
		padding: var(--gap-vertical-150) calc(var(--column-spacer) / 2);
		max-width: calc(var(--column-width-8) + var(--column-spacer));
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	main > .layout-container {
		max-width: calc(var(--column-width-6) + var(--column-spacer));
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	main > .layout-container {
		max-width: calc(var(--column-width-5) + var(--column-spacer));
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
}

/*
    4. Page General Containers
*/

.page-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gap-vertical-150);
	width: 100%;
}

.header-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gap-vertical-50);
	max-width: var(--column-width-12);
	width: 100%;
	text-align: center;
}

.section-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: var(--gap-vertical-150);
	max-width: var(--column-width-12);
	width: 100%;
}

.section-header {
	display: flex;
	align-items: center;
	gap: var(--gap-vertical-50);
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	text-wrap: nowrap;
	white-space: nowrap;
}

.section-header:after {
	content: "";
	display: inline;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray-dark);
	flex-shrink: 5;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.section-header {
		text-wrap: wrap;
		white-space: wrap;
	}
}

.page-navigation-container {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	width: var(--column-width-12);
	max-width: 100%;
	margin-top: var(--gap-vertical-200);
}

.page-navigation-container .button-link {
	text-transform: none;
}

.navigation-forward-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--gap-horizontal);
}

.navigation-other-container {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-50);
}

.fivi-input-width {
	max-width: var(--fiviInput-width);
}

.fivi-two-input-container {
	max-width: var(--fiviInput-width);
}

.fivi-input-separate-label {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	& .fiviControl.fiviTextBox .fiviLabelContainer {
		display: none;
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.page-navigation-container {
		flex-direction: column;
		align-items: center;
		gap: var(--gap-vertical);
	}

	.navigation-forward-container {
		flex-direction: column-reverse;
	}

	.navigation-other-container {
		align-items: center;
		gap: var(--gap-vertical);
	}

	.navigation-other-container .button-link {
		text-align: center;
	}
}

/*
    5.1 Button Containers
*/

.add-another-individual-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
	.add-another-individual-container {
		width: var(--fiviInput-width-double);
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.add-another-individual-container {
		width: var(--fiviInput-width);
	}
}

/*
    6. Accordions
*/

#accordion {
	display: flex;
	flex-direction: column;
	max-width: var(--column-width-12);
	width: 100%;
	gap: var(--gap-vertical);
}

.product-service-container {
	outline: none;
	padding: 0 0 0 0;
	border: none;
	border-radius: 2px;
	background-color: transparent;
	box-shadow: none;
	margin: 0;
	outline: 2px solid var(--color-gray-dark);
	&:hover {
		background-color: var(--color-gray-light);
	}
	& > .product-service-heading {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100vw;
		max-width: 100%;
		height: var(--input-height);
		padding: 0 var(--column-spacer);
		font-size: var(--font-size-h3);
		line-height: var(--font-size-h3);
		cursor: pointer;
		transition: all 1s ease-out;
		&:after {
			font-family: FontAwesome;
			content: "\f061";
			transition: transform 0.5s ease-in-out;
			font-weight: 400;
			color: var(--color-primary-normal);
		}
	}
	& > .product-service-content {
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-75);
		border: none;
		border-radius: 5px;
		max-height: 0;
		height: auto;
		overflow: hidden;
		opacity: 0;
		transition-property: max-height, opacity;
		transition-duration: 0.5s;
		transition-timing-function: ease-out;
	}
	&:has(.product-service-content.expanded) {
		outline: none;
		& > .product-service-heading {
			padding-left: 0;
		}
		& > .product-service-heading:after {
			transform: rotate(90deg);
		}
		& > .product-service-content {
			opacity: 1;
			max-height: 5000px;
			transition-property: max-height, opacity;
			transition-duration: 0.75s;
			transition-timing-function: ease-in;
		}
		&:hover {
			background-color: transparent;
		}
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.page-SelectAccount {
		& .product-services-container {
			& > .product-service-container {
				& > .product-service-heading {
					padding: 0 calc(var(--column-spacer) * 0.5);
				}
			}
			& > .product-service-container-expanded {
				& > .product-service-heading {
					padding-left: 0;
				}
			}
		}
	}
}

/*
    7. Inputs and Labels
*/

/*
    7.5 Validator
*/

.CtlValidator {
	position: absolute;
	line-height: var(--input-height);
	bottom: -3px;
	left: 3.5px;
	z-index: 5;
}

/*
    7.6 Tool Tips
*/

.DefaultTooltipClass {
	position: absolute;
	width: fit-content;
	& > input[type="button"] {
		position: absolute;
		height: 100%;
		width: 100%;
		left: 0;
		top: 0;
		border: none;
		background-color: transparent;
		margin: 0;
		padding: 0;
	}
}

.tooltip-arrow {
	display: none;
}

.tooltip-inner {
	width: max-content;
	max-width: 300px !important;
	text-align: left;
}

/*
    7.7 Seperators
*/

.fiviMultiSeperator {
	width: 100%;
	height: 2px;
	/* margin: calc(var(--fiviInput-vertical-spacing) - 14px) 0 0 0; */
}

.fiviMultiSeperator::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	background-color: var(--color-gray-dark);
}

.divider {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 1px;
}

.horizontal-divider {
	display: block;
	width: 100%;
	border-top: solid 1px var(--color-primary-normal);
}

.vertical-divider {
	display: block;
	width: 0px;
	border-left: solid 1px var(--color-primary-normal);
	/* margin: var(--gap-horizontal) 0; */
}

.divider::before {
	content: "";
	display: block;
	width: var(--column-width-3);
	height: 1px;
	background-color: var(--color-gray-dark);
}

/*
    7.8 Loader
*/

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.loader {
	position: relative;
	z-index: 1;
	width: 150px;
	height: 150px;
	margin: 0 auto;
	border: 16px solid #d3d3d3;
	border-radius: 50%;
	border-top: 16px solid #2f80ed;
	width: 100px;
	height: 100px;
	animation: spin 2s linear infinite;
}

/*
	7.9 Popover
*/

.fivi-popover {
	padding: var(--column-spacer);
	max-width: 90vw;
	border: 1px solid var(--color-gray-dark);
	border-radius: 5px;
	&::backdrop {
		background-color: black;
		opacity: 0.5;
	}
}

.fivisionpopover > .arrow {
	display: none;
}

.fivisionpopover .popover-content {
	font-size: calc(var(--font-size) - 2px);
	font-weight: 500;
	color: red;
	padding: 0;
}

.fivisionpopover {
	position: relative !important;
	top: unset;
	bottom: unset !important;
	box-shadow: none;
	border: none;
	background-color: transparent;
	width: 100vw;
	max-width: var(--fiviInput-width);
	left: 0;
	margin-top: var(--gap-vertical-25);
}

/*
    8. fiVISION Controls
*/

/*
	global unsets
*/

.fiviControl:not(.fiviPanel) {
	padding: 0;
	width: auto;
	margin: 0;
}

/*
	fiVISION_Label
*/

.fiviLabelContainer {
	display: inline-flex;
	width: fit-content;
}

.fiviLabelContainer > label {
	font-weight: inherit;
}

/*
	fiVISION_Panel
*/

.fiviHeaderPanelClass,
.fiviPanelExpandedHeaderClass {
	display: inherit;
	flex-direction: inherit;
	align-items: inherit;
	justify-content: inherit;
	gap: inherit;
	max-width: inherit;
	width: inherit;
	flex-wrap: inherit;
}

/*
	fiVISION_ButtonV2
*/

.fiviBtnContainer:has([style*="display: none;"]) {
	&:has(> .fiviBtnLabel:not([style*="display: none;"])) {
		display: flex !important;
	}
}

.fiviBtnContainer .fiviBtnLabel {
	font-size: 18px;
	line-height: 18px;
	font-weight: 500;
}

.button-primary {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: var(--column-width-2);
	width: fit-content;
	height: var(--gap-vertical-200);
	margin: 0;
	padding: 0 10px;
	color: white;
	font-size: 18px;
	line-height: 18px;
	font-weight: 500;
	background-color: var(--color-primary-normal);
	border: 2px solid var(--color-primary-normal);
	border-radius: 5px;
	text-transform: uppercase;
	text-decoration: none;
	&:visited {
		color: white;
	}
	&:hover:not(:disabled),
	&:active:not(:disabled),
	&:focus:not(:disabled) {
		background-color: transparent;
		color: var(--color-primary-normal);
		font-weight: 600;
		box-shadow: none;
		text-decoration: none;
	}
	&:disabled {
		opacity: 0.5;
	}
}

.button-other {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	max-width: var(--fiviInput-width);
	min-width: var(--column-width-2);
	width: fit-content;
	height: var(--gap-vertical-150);
	line-height: calc(var(--gap-vertical-150) - 4px);
	margin: 0;
	padding: 0 10px;
	color: var(--color-secondary-normal);
	font-size: 14px;
	font-weight: 600;
	background-color: transparent;
	border: 2px solid var(--color-secondary-normal);
	border-radius: 5px;
	box-shadow: none;
	text-transform: lowercase;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	&:hover:not(:disabled),
	&:active:not(:disabled),
	&:focus:not(:disabled) {
		background-color: transparent;
		color: var(--color-primary-normal);
		border-color: var(--color-primary-normal);
		font-weight: 600;
		box-shadow: none;
		text-decoration: none;
	}
	&:disabled {
		opacity: 0.5;
	}
}

.button-link,
.button-link-alt {
	/* min-width: var(--column-width-2); */
	text-align: left;
	background-color: transparent;
	border: none;
	font-size: 16px;
	line-height: 18px;
	font-weight: 600;
	color: var(--color-primary-normal);
	width: fit-content !important;
	padding: 0;
	&:hover:not(:disabled),
	&:active:not(:disabled),
	&:focus:not(:disabled) {
		text-decoration: underline;
		font-weight: 600;
		color: var(--color-primary-dark);
	}
	&:disabled {
		opacity: 0.5;
	}
}

.button-link-alt {
	text-transform: uppercase;
	font-weight: 600;
}

.button-primary + .fiviBtnLabel,
.button-other + .fiviBtnLabel,
.button-link + .fiviBtnLabel,
.button-link-alt + .fiviBtnLabel {
	cursor: none;
	opacity: 0.5;
}

/*
	fiVISION_IndividualCommandButtonV2
*/

.fiviIndividualButton > label {
	font-size: 18px;
	line-height: 18px;
	font-weight: 500;
}

/*
	fiVISION_CheckBox
*/

.fiviControl.fiviCheckBox,
.fiviCheckBox {
	display: flex;
	gap: var(--gap-horizontal-50);
	align-items: center;
	width: 100%;
	max-width: fit-content;
	padding: 0;
	margin: 0;
}

input.DefaultCBControlClassV3 {
	width: 20px;
	min-width: 20px;
	height: 20px;
	background-color: white;
	accent-color: var(--color-primary-normal);
	cursor: pointer;
	margin: 0;
	&:hover {
		accent-color: var(--color-primary-dark);
	}
}

label.DefaultCBLabelClass {
	font-weight: 500;
	font-size: calc(var(--font-size-label) - 2px);
	line-height: var(--font-lineheight-input);
}

/*
	fiVISION_RadioButton
*/

.fiviControl.fiviRadioButton {
	width: 100%;
	max-width: fit-content;
	padding: 0;
	margin: 0;
}

.fiviControl.fiviRadioButton > .fiviRadioButtonContainer,
.fiviControl.fiviRadioButton > .fiviCheckboxContainer {
	width: 100%;
	max-width: fit-content;
	padding: 0;
	margin: 0;
}

.fiviControl.fiviRadioButton > .fiviRadioButtonContainer {
	display: flex;
	gap: var(--gap-horizontal-50);
	align-items: center;
	width: 100%;
	max-width: fit-content;
	padding: 0;
	margin: 0;
}

input.DefaultRBControlClassV3 {
	width: 20px;
	min-width: 20px;
	height: 20px;
	background-color: white;
	accent-color: var(--color-primary-normal);
	cursor: pointer;
	margin: 0;
	&:hover {
		accent-color: var(--color-primary-dark);
	}
}

input.DefaultRBControlClassV3 + label {
	position: relative;
	left: unset;
	top: unset;
	font-weight: 500;
	font-size: calc(var(--font-size-label) - 2px);
	line-height: var(--font-lineheight-input);
}

.rbPair-as-fiviInput {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal-75);
	width: 100vw !important;
	max-width: var(--fiviInput-width);
	height: calc(var(--input-height) + var(--input-marginTop-forLabelFocusSpace));
	& > .h4 {
		font-size: 16px;
	}
}

/*
	fiVISION_TextBoxV2
*/

.fiviControl.fiviTextBox,
.fiviControl.fiviInput:has(> .fiviControl.fiviTextBox),
.fiviNumericTextBox {
	display: inline-flex;
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
	position: relative;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	&:has(> .form-control[style="display: none;"]) {
		display: none;
	}
	& .DefaultTooltipClass {
		right: 5px;
		top: calc(var(--input-marginTop-forLabelFocusSpace) + 19px);
	}
}

.fivi-two-input-container .fiviControl.fiviTextBox {
	max-width: var(--fiviInput-width-half);
}

input.form-control,
textarea.form-control,
select.form-control {
	display: flex;
	align-items: center;
	width: 100%;
	height: var(--input-height);
	padding: 0 var(--gap-horizontal-50);
	margin-top: var(--input-marginTop-forLabelFocusSpace);
	font-size: var(--font-size-input);
	font-weight: var(--font-weight-input);
	line-height: var(--font-lineheight-input);
	color: var(--font-color-input);
	font-family: var(--font-family-input);
	border: 2px solid var(--color-gray-dark);
	border-radius: 2px;
	background-color: white;
	&:focus,
	&:active {
		border-color: var(--color-primary-normal);
	}
	&:disabled {
		background-color: var(--color-gray-light);
	}
}

textarea.form-control {
	padding: var(--gap-horizontal-50);
}

.fiviControl.fiviTextBox,
.SingleLineEmailTextContainerClass.fiviTextBox {
	& .fiviLabelContainer {
		display: flex;
		position: absolute;
		height: 100%;
		width: 100%;
		pointer-events: none;
	}
	& label.DefaultLabelClass {
		display: flex;
		align-items: center;
		height: var(--input-height);
		position: absolute;
		left: var(--gap-horizontal-50);
		top: var(--input-marginTop-forLabelFocusSpace);
		font-size: var(--font-size-label);
		font-weight: var(--font-weight-label);
		line-height: var(--font-size-label);
		color: var(--font-color-label);
		font-family: var(--font-family-label);
		transition: all 0.25s;
		pointer-events: none;
	}
	& label.FocusLabelClass {
		height: var(--input-focusLabel-fontSize);
		font-size: var(--input-focusLabel-fontSize);
		top: 0 !important; /* global.css conflict */
		left: 0;
		font-weight: 600;
		text-transform: uppercase;
	}
	& .fiviWriteOnlyEditButton,
	& .fiviControlActionsContainer .fiviLinkButton {
		position: absolute;
		top: 0px;
		right: 0px;
		font-size: calc(var(--font-size) - 2px);
		font-weight: 600;
		color: var(--color-secondary-dark);
		text-transform: uppercase;
		border: none;
		border-radius: 5px;
		background-color: transparent;
		&:active,
		&:hover,
		&:focus {
			text-decoration: underline;
			border-color: transparent;
		}
	}
	& .autocomplete-items:has(> div) {
		display: flex;
		flex-direction: column;
		gap: 5px;
		padding: 5px 0px;
		border: 1px solid var(--color-gray-dark);
		border-top: none;
		position: absolute;
		left: 0;
		z-index: 2;
		background-color: white;
		& > div {
			font-size: calc(var(--font-size) + 2px);
			line-height: 1.5;
			font-weight: 300;
			padding: 0px 10px;
			cursor: pointer;
			&.autocomplete-active {
				background-color: var(--color-gray-dark);
			}
		}
	}
}

.fiviTextBox:has(> .fiviValueLabelContainer) {
	flex-direction: column;
	/* gap: var(--gap-vertical-25); */

	& > .fiviLabelContainer {
		position: relative;
		display: block;
		width: auto;
		height: auto;
	}
	& label.DefaultLabelClass {
		position: relative;
		width: auto;
		height: auto;
		top: 0;
		left: 0;
		font-size: var(--input-focusLabel-fontSize);
	}
	& > .fiviValueLabelContainer {
		display: flex;
		align-items: center;
		width: 100% !important;
		height: var(--input-height);
		padding: 0px var(--gap-horizontal-50);
		font-size: var(--font-size-input);
		font-weight: var(--font-weight-input);
		line-height: var(--font-lineheight-input);
		color: var(--font-color-input);
		font-family: var(--font-family-input);
		border: 1px solid var(--color-gray-dark) !important;
		border-radius: 8px;
		background-color: var(--color-gray-light) !important;
		cursor: not-allowed;
		pointer-events: all;
	}
	& .fiviValueLabel {
		cursor: not-allowed;
		pointer-events: all;
	}
}

/*
	textbox as camera
*/

.fiviTextBox:has(label.MobileScanButton) {
	width: fit-content !important;
}

.fiviTextBox label.MobileScanButton {
	min-height: var(--gap-vertical-200);
	height: 100%;
	cursor: pointer;
}

/*
	fiVISION_DropDownV2
*/

.fiviControl.fiviDropDown,
.fiviControl.fiviSCDropDown {
	display: inline-flex;
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
	position: relative;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.fivi-two-input-container .fiviControl.fiviDropDown {
	max-width: var(--fiviInput-width-half);
}

.fiviControl.fiviDropDown:has(option[value=""]:checked) label.DefaultLabelClass {
	display: flex;
	align-items: center;
	height: var(--input-height);
	position: absolute;
	left: var(--gap-horizontal-50);
	top: var(--input-marginTop-forLabelFocusSpace) !important;
	font-size: var(--font-size-label);
	font-weight: var(--font-weight-label);
	line-height: var(--font-size-label);
	color: var(--font-color-label);
	font-family: var(--font-family-label);
	transition: top 0.25s ease-in-out, left 0.25s ease-in-out, font-size 0.25s ease-in-out, font-weight 0.25s ease-in-out;
	pointer-events: none;
	text-transform: none;
}

.fiviControl.fiviDropDown label.DefaultLabelClass,
.fiviControl.fiviDropDown:has(option[value=""]:checked) label.DefaultLabelClass:has(+ select:focus),
.fiviControl.fiviDropDown:has(option[value=""]:checked) label.DefaultLabelClass:has(+ select:active),
.fiviControl.fiviDropDown:has(option[value=""]:checked) label.DefaultLabelClass:has(+ select:hover) {
	position: absolute;
	height: var(--input-focusLabel-fontSize);
	font-size: var(--input-focusLabel-fontSize);
	font-family: var(--font-family-label);
	top: 0 !important; /* global.css conflict */
	left: 0;
	font-weight: 600;
	text-transform: uppercase;
	transition: top 0.25s ease-in-out, left 0.25s ease-in-out, font-size 0.25s ease-in-out, font-weight 0.25s ease-in-out;
}

.fiviControl.fiviDropDown select:has(option[value=""]:checked) {
	color: transparent;
	&:active,
	&:focus,
	&:hover {
		color: var(--font-color);
	}
}

/*
	fiVISION_MoneyTextBoxV2
*/

.fiviMoneyTextBox {
	display: inline-flex;
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
	position: relative;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.fivi-two-input-container .fiviMoneyTextBox {
	max-width: var(--fiviInput-width-half);
}

.fiviMoneyTextBox input::placeholder {
	color: transparent;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fivi-two-input-container .fiviMoneyTextBox > .fiviTextBox {
		max-width: var(--fiviInput-width);
	}
}

/*
	fiVISION_EmailTextBoxV2
*/

.fiviParentControl.fiviEmailTextBox {
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
}

/*
	fiVISION_DateTextBoxV2
*/

.fiviDateTextBox {
	display: inline-flex;
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
	position: relative;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

/*
	fiVISION_YearsMonthsDurationV2
*/

.fiviYearMonth {
	width: 100vw;
	max-width: var(--fiviInput-width);
	position: relative;
	& label.DefaultLabelClass {
		position: absolute;
		height: var(--input-focusLabel-fontSize);
		font-size: var(--input-focusLabel-fontSize);
		top: 0 !important; /* global.css conflict */
		left: 0;
		font-weight: 600;
		text-transform: uppercase;
	}
}

.fiviYearMonthInputContainer {
	display: flex;
	gap: var(--column-spacer);
	width: 100vw;
	max-width: var(--fiviInput-width);
}

.fiviYearMonthInputContainer .fiviInput.fiviNumericTextBox {
	width: 100vw;
	max-width: var(--fiviInput-width-half);
	& > .fiviTextBox {
		max-width: 100%;
	}
}

/*
	fiVISION_PhoneNumberTextBoxV2
*/

.fiviPhoneControl {
	display: flex;
	justify-content: flex-start;
	gap: var(--column-spacer);
	width: 100vw !important; /* global.css conflict */
	max-width: var(--fiviInput-width);
	margin: 0;
	padding: 0;
}

/*has preferred flag*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviRadioButton) {
	& > .fiviTextBox {
		max-width: var(--fiviInput-width-half);
	}
	& > .fiviRadioButton {
		max-width: var(--fiviInput-width-half);
		margin-top: var(--input-marginTop-forLabelFocusSpace);
		height: var(--input-height);
		& label {
			font-weight: var(--font-weight-label);
		}
	}
}

/*applicant determined*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
	& > .fiviTextBox {
		max-width: var(--fiviInput-width-half);
	}
}

/*applicant determined & preferred flag*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox + .fiviRadioButton) {
	max-width: 100%;
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox + .fiviRadioButton) {
		flex-wrap: wrap;
		gap: calc(var(--column-spacer) * 0.75);
		& > .fiviTextBox:has(input) {
			max-width: 100%;
		}
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fiviPhoneControl {
		flex-wrap: wrap;
		gap: calc(var(--column-spacer) * 0.75);
	}

	/*has preferred flag*/
	.fiviPhoneControl:has(> .fiviTextBox + .fiviRadioButton) {
		& > .fiviTextBox {
			max-width: var(--fiviInput-width);
		}
		& > .fiviRadioButton {
			margin-top: 0;
			height: 100%;
		}
	}

	/*applicant determined*/
	.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
		& > .fiviTextBox {
			max-width: var(--fiviInput-width);
		}
	}
}

/*
    fiVISION_ErrorSummary
*/

.fiviErrorSummary {
	display: none;
}

.fiviErrorSummary:has(div) {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25);
	width: 100vw;
	max-width: 100%;
}

.fiviErrorSummary > div {
	font-size: var(--font-size);
	line-height: var(--font-lineheight);
	font-weight: 500;
	color: red;
	margin-bottom: 0;
	list-style: none;
	text-align: center;
}

/*
	fiVISION_LinkHistory
*/

.fiviLinkHistory {
	display: flex;
	flex-direction: column;
	width: fit-content;
	padding: 0;
	margin: 0;
	gap: var(--gap-vertical-25);
}

.fiviLinkHistory > a {
	font-size: calc(var(--font-size) + 2px);
	cursor: pointer;
}

.fiviLinkHistory .fivisionpopover {
	position: relative !important;
	width: 100%;
	bottom: unset !important;
	text-align: center;
}

/*
	fiVISION_AddressTextBoxV2
*/

.address-container {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--column-spacer);
	width: 100%;
	max-width: var(--fiviInput-width);
}

.fiviAddressControl {
	display: flex;
	flex-direction: column;
	gap: var(--column-spacer);
}

.fiviAddressInputs {
	display: flex;
	flex-direction: column;
	gap: var(--column-spacer);
	width: 100%;
	position: relative;
}

.fiviAddressValidation > label {
	font-size: calc(var(--font-size) - 2px);
	line-height: var(--font-lineheight);
	font-weight: 500;
	text-align: center;
}

.fiviAddressControl .fiviCheckbox {
	max-width: calc(calc(var(--fiviInput-width) / 2) - var(--column-spacer));
	position: absolute;
	top: 0;
	right: 0;
}

.fiviAddressControl .fiviCheckbox label {
	font-size: calc(var(--font-size-label) - 4px);
	line-height: var(--font-lineheight);
}

.fiviAddressControl .fiviBtnContainer {
	position: absolute;
	top: 0;
	right: 0px;
	font-size: calc(var(--font-size) - 2px);
	border: none;
	border-radius: 5px;
	background-color: transparent;
	& button {
		border: none;
		font-weight: 600;
		color: var(--color-secondary-dark);
		text-transform: uppercase;
		background-color: transparent;
		&:active,
		&:hover,
		&:focus {
			text-decoration: underline;
			border-color: transparent;
		}
	}
	&:active,
	&:hover,
	&:focus {
		text-decoration: underline;
		border-color: transparent;
		color: var(--color-primary-normal);
	}
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
	.fiviAddressControl .fiviCheckbox {
		top: calc(var(--font-lineheight) * -0.5);
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.fiviAddressControl .fiviCheckbox {
		top: 0;
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.fiviAddressControl .fiviCheckbox {
		top: calc(var(--font-lineheight) * -0.5);
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fiviAddressControl .fiviCheckbox {
		top: 0;
		position: relative;
		max-width: 100%;
	}
}

/*
	fiVISION_IDTypeV2
*/

.fiviIdType {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	width: 100vw;
	max-width: 100%;
}

.fiviIdType > .fiviDateTextBox {
	max-width: var(--fiviInput-width-half);
	& > .fiviTextBox {
		max-width: 100%;
	}
}

.fiviIdTypeState,
.fiviIdTypeCountry {
	width: 100vw;
	max-width: var(--fiviInput-width);
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fiviIdType > .fiviDateTextBox {
		max-width: var(--fiviInput-width);
		& > .fiviTextBox {
			max-width: 100%;
		}
	}
}

/*
	fiVISION_EmploymentHistory
*/

.fiviEmploymentHistory {
	display: flex;
	flex-direction: column;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	width: 100vw;
	max-width: 100%;
	margin-top: -12px;
}

.fiviEmpHistLblContainer {
	margin-bottom: -12px;
	& label {
		font-size: calc(var(--font-size) + 2px);
		line-height: var(--font-lineheight);
		font-weight: 400;
		color: var(--font-color);
		width: 100%;
	}
}

.fiviEmpHistInputContainer {
	display: flex;
	flex-direction: column;
	gap: var(--column-spacer);
	width: 100vw;
	max-width: 100%;
	& > .fiviMultiInput {
		display: flex;
		gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
		flex-wrap: wrap;
		width: 100vw;
		max-width: 100%;
	}
	& .fiviEmpHistIncomeContainer {
		display: flex;
		gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
		flex-wrap: wrap;
		width: 100vw;
		max-width: 100%;
		order: 2;
		& .fiviMoneyTextBox,
		& .fiviMoneyTextBox > .fiviTextBox,
		& .fiviNumericTextBox,
		& .fiviNumericTextBox > .fiviTextBox {
			width: 100vw;
			max-width: var(--fiviInput-width);
		}
		& .fiviDropDown {
			order: -1;
		}
	}
}

.fiviEmpHistLengthOfEmploymentContainer {
	& .fiviLabelContainer {
		position: absolute;
		width: 100%;
	}
}

.fiviEmploymentHistory .fiviRemoveBtn {
	order: 2;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 2px;
	font-size: 14px;
	line-height: 14px;
	font-weight: bold;
	color: var(--color-primary-normal);
	& > button {
		font-size: 14px;
		line-height: 14px;
		font-weight: bold;
		text-transform: uppercase;
	}
	&:before {
		content: "[";
	}
	&:after {
		content: "]";
	}
	&:hover {
		text-decoration: underline;
		& > button,
		&:after,
		&:before {
			color: var(--color-primary-dark);
		}
	}
}

.fiviEmploymentHistory .fiviRemoveBtn:not(:has(> button)) {
	display: none;
}

.fiviEmpHistBtnContainer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	max-width: 100%;
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.fiviEmpHistInputContainer {
		& .fiviEmpHistIncomeContainer {
			& .fiviMoneyTextBox,
			& .fiviMoneyTextBox > .fiviTextBox,
			& .fiviNumericTextBox,
			& .fiviNumericTextBox > .fiviTextBox {
				width: 100vw;
				max-width: var(--fiviInput-width);
			}
		}
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fiviEmpHistInputContainer {
		& > .fiviMultiInput {
			& > div {
				width: 100%;
			}
		}
	}
}

/*
	fiVISION_IndividualIncome
*/

.fiviIndividualIncome {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	width: 100vw;
	max-width: 100%;
}

.fiviIndividualIncome > div {
	display: flex;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
	flex-wrap: wrap;
	width: 100vw;
	max-width: fit-content;
	position: relative;
	& > .fiviDropDown {
		order: -1;
	}
	& > .fiviMoneyTextBox,
	& > .fiviControl.fiviDropDown,
	& > .fiviNumericTextBox,
	& > .fiviNumericTextBox > .fiviControl.fiviTextBox {
		max-width: var(--fiviInput-width-half);
		& > .fiviTextBox {
			max-width: 100%;
		}
	}
	& .fiviIndividualIncomeRemoveButtonContainer:not(:has(> button)) {
		display: none;
	}
	& .fiviIndividualIncomeRemoveButtonContainer:has(> button) {
		width: 100%;
		display: flex;
		gap: 2px;
		align-items: center;
		justify-content: flex-start;
		&:before {
			content: "[";
			font-size: 14px;
			line-height: 14px;
			font-weight: bold;
			color: var(--color-primary-normal);
		}
		&:after {
			content: "]";
			font-size: 14px;
			line-height: 14px;
			font-weight: bold;
			color: var(--color-primary-normal);
		}
		& > button {
			border: none;
			background-color: transparent;
			text-transform: uppercase;
			font-size: 14px;
			line-height: 14px;
			padding: 2px 0 0 0;
			display: flex;
			align-items: center;
			font-weight: bold;
			color: var(--color-primary-normal);
		}
		&:hover {
			text-decoration: underline;
			& > button,
			&:after,
			&:before {
				color: var(--color-primary-dark);
			}
		}
	}
}

.fiviIndividualIncome > .fiviBtnContainer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	max-width: 100%;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
	.fiviIndividualIncome > div {
		max-width: 100%;
		& > .fiviMoneyTextBox,
		& > .fiviControl.fiviDropDown,
		& > .fiviNumericTextBox,
		& > .fiviNumericTextBox > .fiviControl.fiviTextBox {
			max-width: var(--fiviInput-width);
			& > .fiviTextBox {
				max-width: 100%;
			}
		}
	}
}

/*
	fiVISION_IndividualDetails
*/

.fiviIndividualDetails {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
	& > .fiviIndDetailTitle {
		display: none;
	}
}

.fiviIndividualDetails > div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-50);
	width: 100vw;
	max-width: 100%;
}

.fiviIndividualDetails br {
	display: none;
}

/*name*/
.fiviIndividualDetails > div > span:first-of-type > label {
	font-size: calc(var(--font-size) + 2px);
	font-weight: 600;
	margin-bottom: var(--gap-vertical-25);
	margin-left: 0;
}

.fiviIndividualDetails > div > div:has(> label) {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-50);
}

.fiviIndividualDetails > div > div > label {
	font-weight: 600;
}

.fiviIndividualDetails > div > div:has(> label) > div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25);
	margin-left: var(--gap-horizontal-25);
	font-weight: 400;
}

/*
	fiVISION_ProductsAndServicesSelected
*/

.fiviProductsAndServicesSelected {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	gap: var(--gap-vertical-25);
	font-size: calc(var(--font-size) + 2px);
	font-weight: 600;
}

.fiviProductsAndServicesSelected > div > ul {
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25) 1px;
	flex-wrap: wrap;
	font-weight: 400;
	font-size: calc(var(--font-size) + 2px);
	margin: 0 0 var(--gap-vertical-25) 0;
}

.fiviProductsAndServicesSelected > div > i {
	display: block;
	font-size: calc(var(--font-size) + 2px);
	margin-bottom: var(--gap-vertical-25);
	font-style: normal;
}

.fiviProductsAndServicesSelected > div > i:before {
	content: "Selected ";
}

.fiviProductsAndServicesSelected > ul {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25);
	font-weight: 400;
	padding: 0;
	margin: 0 0 0 var(--gap-horizontal-25);
	font-size: var(--font-size);
	list-style: none;
}

/*
    ProductRelationships
*/

.fiviProductRelationship {
	width: 100vw;
	max-width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	& table {
		border-collapse: collapse;
	}
	& tr {
		border-bottom: 1px solid var(--color-gray-dark);
		margin: 5px 0;
	}
	& th,
	& td {
		width: var(--column-width-2);
		margin: 0 auto;
		height: var(--input-height);
		min-height: var(--input-height);
		& > .fiviCheckBox {
			margin: 0 auto;
		}
	}
	& th:first-of-type,
	& td:first-of-type {
		width: var(--column-width-3);
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.fiviProductRelationship {
		overflow-x: scroll;
		justify-content: flex-start;
		& table {
			min-width: 600px;
		}
	}
}

/*
    fiVISION_ProveIndividualLookup
*/

.fiviProve,
.fiviProve > div {
	width: 100vw;
	max-width: var(--column-width-12);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-vertical);
	& .form-control::placeholder {
		color: transparent;
	}
	& > .prove-direction-buttons {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: var(--gap-horizontal);
	}
}

.prove-check-phone-image-container {
	justify-content: center;
	& > img {
		max-width: 100%;
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.fiviProve {
		& > div {
			width: 100%;
		}
	}
}

/*
	fiVISION_ProductsAndServicesV2
*/

.fiviProductServices {
	width: 100%;
	& > .product-services-default-mode-container {
		display: flex;
		flex-direction: column;
		gap: var(--gap-horizontal);
		width: 100vw;
		max-width: 100%;
		height: 100%;
		& .fiviProdGroup,
		& .fiviServGroup {
			display: flex;
			flex-wrap: wrap;
			max-width: var(--column-width-12);
			width: 100%;
			gap: var(--gap-vertical);
			& .fiviProdServ {
				display: flex;
				flex-direction: column;
				gap: var(--gap-vertical) var(--gap-horizontal-50);
				gap: var(--gap-vertical-75);
				max-width: var(--column-width-4);
				width: 100%;
				min-height: 100px;
				padding: var(--gap-horizontal-75);
				position: relative;
				background: white;
				border: 2px solid var(--color-gray-dark);
				border-radius: 3px;
				box-shadow: none;
				&:has(> .fiviRadioButton input:checked) {
					background-color: var(--color-gray-normal);
				}
				& .fiviCheckBox {
					flex-direction: row;
					justify-content: flex-start;
					width: 100vw;
					max-width: 100%;
					& > label {
						width: fit-content;
						order: 0;
						font-size: var(--font-size-label);
						font-weight: 600;
					}
					& > .DefaultTooltipClass {
						position: relative;
						order: 1;
					}
					& > input {
						order: 2;
						margin-left: auto;
					}
				}
				& .fiviProductMoreInfo {
					width: 100vw;
					max-width: 100%;
					margin: 0;
				}
				& .fiviProductAdditionalOptions {
					width: 100vw;
					max-width: 100%;
					display: flex;
					flex-direction: column;
					gap: var(--gap-vertical) var(--gap-horizontal-50);
					&:before {
						content: "";
						display: block;
						height: 2px;
						width: calc(100% + var(--gap-horizontal-150));
						margin-left: calc(var(--gap-horizontal-75) * -1);
						background-color: var(--color-gray-dark);
					}
					& > .fiviTextBox,
					& > .fiviNumericTextBox {
						width: 100vw;
						max-width: 100%;
					}
					& .fiviProdServGroup {
						display: flex;
						flex-direction: column;
						gap: var(--gap-vertical);
						width: 100vw;
						max-width: 100%;
						& .fiviProductServiceDisplay {
							display: flex;
							flex-direction: column;
							gap: var(--gap-vertical-50);
							width: 100vw;
							max-width: 100%;
							& .fiviCheckBox {
								& > label {
									font-size: calc(var(--font-size-label) - 2px);
									font-weight: 500;
								}
							}
						}
					}
				}
				& .fiviProductServiceMoreInfo {
					padding-left: 0 !important;
				}
				& .fiviProductAddAnotherContainer {
					display: flex;
					align-items: center;
					justify-content: center;
					width: 100vw;
					max-width: 100%;
					order: 2;
				}
			}
		}
		& .fiviProductServicesFilterBar {
			display: flex;
			align-items: flex-start;
			justify-content: flex-start;
			gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
			flex-wrap: wrap;
			width: 100%;
		}
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.fiviProductServices {
		& > .product-services-default-mode-container {
			& .fiviProdGroup {
				& .fiviProdServ {
					max-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: var(--column-width-10);
	width: 100%;
	display: flex;
	flex-direction: column-reverse;
	gap: var(--gap-vertical-75);
}

.fiviDocumentList > span:not(:has(> table)) {
}

.V3SummaryControl .fiviDocumentList {
	max-width: var(--column-width-12);
}

.fiviDocumentList > input:first-of-type {
	align-self: center;
}

.fiviDocumentList span.fiviBtnContainer {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: var(--gap-vertical);
}

.fiviDocumentList table {
	/* display: block; */
	width: 100%;
	margin: 0;
	border: 1px solid var(--color-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 var(--column-spacer);
	border: none;
	border-radius: 5px;
	border-bottom: 1px solid var(--color-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: var(--column-width-3);
	width: 100%;
	padding: var(--gap-horizontal-50) 0 !important;
	background-color: transparent !important;
}

.V3MessagesHeaderClass th {
	max-width: var(--column-width-3) !important;
	width: 100% !important;
	border: none !important;
}

.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: var(--column-width-4);
	width: 100%;
	background-color: transparent !important;
}

.fiviDocumentList table td:last-of-type span:has(> .fiviFileUpload) {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-50);
	align-items: center;

	& p {
		font-size: calc(var(--font-size) - 2px);
		text-align: left;
	}
}

.fiviDocumentList table td:last-of-type > div[id*="UploadProgressBar_"] {
	max-width: var(--fiviInput-width);
	min-width: var(--column-width-2);
	width: fit-content;
	display: flex;
	align-items: center;
	gap: var(--gap-horizontal-25);
	margin-top: var(--gap-vertical-25);
}

.fiviDocumentList table td:last-of-type > div,
.fiviDocumentList table td:last-of-type > div > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-vertical-50);
}

.fiviDocumentList .DefaultTooltipClass {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--column-spacer);
	height: 100%;
	margin: 0 !important;
	position: absolute;
	top: 0;
	right: var(--gap-horizontal-25);
}

.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: var(--column-width-6) !important;
}

.fiviDocumentList .ng-modal-dialog-content {
	padding: var(--column-spacer);
}

.fiviDocumentList .ModalContent .fiviEmailTextBox {
	max-width: 100%;
}

.fiviDocumentList .ModalContent > div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-50);
}

.fiviDocumentList .ModalContent br {
	display: none;
}

.fiviDocumentList .ModalContent > div > .modal-header {
	padding: 0;
	& > .fiviBtnContainer {
		margin: 0;
		& > button {
			font-size: var(--font-size-h1);
			color: var(--color-black-dark);
			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;
	gap: var(--gap-horizontal-50);
}

.fiviDocumentList .ModalContent > div .text-muted {
	display: flex;
	flex-direction: column;
	font-size: var(--font-size);
	color: var(--font-color);
	line-height: var(--font-lineheight);
	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: var(--font-size-h2) !important;
	color: var(--font-color-h2) !important;
	line-height: var(--font-lineheight-h2) !important;
	font-weight: var(--font-weight-h2);
	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: calc(var(--column-spacer) / 2);
		gap: var(--gap-vertical-75);
	}

	.fiviDocumentList table > tbody > tr > td {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: var(--font-size-h3);
		max-width: 100%;
		padding: 0 !important;
		width: 100%;
		gap: var(--gap-vertical-25);
	}

	.fiviDocumentList table > tbody > tr > td::before {
		font-size: var(--font-size-h2);
		line-height: var(--font-lineheight-h4);
		color: var(--font-color-h4);
		font-weight: 600;
		font-family: var(--font-family-h4);
		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: var(--gap-vertical-25) 0 !important;
	}

	.fiviDocumentList > input:first-of-type {
		display: none !important;
	}
}

/*
	fiVISION_DisclosuresList
*/

div:has(> .DisclosuresHeaderClass) {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	gap: var(--gap-vertical);
}

.DisclosuresHeaderClass {
	display: none;
}

.fiviDisclosureList {
	display: flex;
	flex-direction: column;
	width: 100vw;
	max-width: 100%;
	gap: var(--gap-vertical-50);
	& > .DisclosureItem {
		padding-left: var(--gap-horizontal);
		& .fa.fa-square {
			outline: 1.5px solid var(--color-primary-dark);
			border-radius: 2px;
			color: white;
		}
		& .fa.fa-check {
			color: var(--color-primary-dark);
			outline: 1.5px solid var(--color-primary-dark);
			border-radius: 2px;
		}
	}
	& .DisclosureLinkV3 {
		color: var(--color-primary-dark);
		text-decoration: underline;
		font-size: calc(var(--font-size) + 2px);
		background-color: transparent;
		border: none;
	}
}

.fiviDisclosuresModal {
	position: fixed;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 0;
	background-color: color-mix(in srgb, var(--color-black-dark) 50%, transparent);
	display: flex;
	align-items: center;
	flex-direction: column;
	padding-top: 15vh;
	z-index: 99;
	& > div {
		width: 100vw;
		max-width: var(--column-width-12);
		background-color: var(--color-white-normal);
		padding-left: var(--column-spacer);
		padding-right: var(--column-spacer);
		border-left: solid 1px var(--color-gray-dark);
		border-right: solid 1px var(--color-gray-dark);
		&:first-of-type {
			padding-top: var(--column-spacer);
			padding-bottom: var(--column-spacer);
			border-left: solid 1px var(--color-gray-dark);
			border-right: solid 1px var(--color-gray-dark);
			border-top: solid 1px var(--color-gray-dark);
			border-top-left-radius: 5px;
			border-top-right-radius: 5px;
			font-size: var(--font-size-h2);
			color: var(--font-color-h2);
			line-height: var(--font-lineheight-h2);
			font-weight: var(--font-weight-h2);
		}
		&.fiviDisclosureModalButtonWrapper {
			padding-top: var(--column-spacer);
			padding-bottom: var(--column-spacer);
			display: flex;
			flex-direction: row-reverse;
			align-items: center;
			justify-content: space-between;
			border-left: solid 1px var(--color-gray-dark);
			border-right: solid 1px var(--color-gray-dark);
			border-bottom: solid 1px var(--color-gray-dark);
			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;
		}
	}
}

/*
	fiVISION__IDAuthenticationQuestions
*/

.fiviIDAuthentication {
	width: 100vw;
	max-width: 100%;
	padding-bottom: calc(var(--gap-vertical) * 3.5);
	& > div {
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-150);
		width: 100vw;
		max-width: 100%;
	}
	& .fiviIDAuthQuestionContainerClass {
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-50);
		& > .fiviLabelContainer > label {
			font-size: calc(var(--font-size) + 2px);
			line-height: calc(var(--font-lineheight) + 2px);
			padding-bottom: var(--gap-vertical-50);
		}
	}
	& .fiviIDAuthAnswerContainer {
		padding-left: var(--gap-horizontal-50);
	}
	& .fiviIDAuthSubmitAnswerContainer {
		display: flex;
		justify-content: flex-end;
		padding-top: var(--gap-vertical-200);
		border-top: solid 1px var(--color-gray-dark);
	}
}

/*
	fiVISION_PleaseWait
*/

.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_ProductFundingV2
*/

.fiviProductFunding {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical);
	width: 100vw;
	max-width: 100%;
}

.fiviProductFundingItem,
.fiviFundingAmount {
	width: 100%;
	border: 1px solid var(--color-primary-normal);
	border-radius: 5px;
	position: relative;
	/* padding: var(--gap-vertical-50); */
	margin: 0;
	/* min-height: calc(var(--input-height) + var(--gap-vertical)); */
}

.fiviFundingInput,
.fiviFundingAmount {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: var(--gap-horizontal);
	margin: 0;
	align-items: center;
	& input {
		margin: 0;
		text-align: right;
		&::placeholder {
			color: var(--color-gray-dark) !important;
		}
	}
	& > label {
		border-right: 1px solid var(--color-primary-normal);
		display: flex;
		flex-direction: column;
		gap: calc(var(--gap-vertical-25) / 2);
		font-size: 20px;
		font-weight: 500;
	}
}

.fiviProductFundingItem > .fiviFundingInput > label:first-child::after {
	content: "funding optional";
	color: var(--color-primary-normal);
	font-size: 12px;
	padding: 0 4px;
	font-weight: bold;
	border-radius: var(--border-radius);
	position: relative;
	bottom: calc(var(--gap-vertical) * 0);
	font-style: italic;
}

.fiviProductFundingItem > .fiviFundingInput:has(.funding-required) > label:first-child:after {
	content: "* funding required";
	color: red;
}

.fiviFundingAmount {
	justify-content: space-between;
	padding-right: var(--gap-vertical-50);
	& > span {
		font-weight: 500;
		font-size: 20px;
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.fiviFundingInput {
		flex-direction: column;
		& > label {
			border-right: 0;
			text-align: center;
		}
	}
}

/*
	fiVISION_ProgressBar
*/

.progress-container {
	flex-grow: 1;
	&:has(> div[style="display: none;"]) {
		display: none;
	}
}

.layout:has(.hide-all-progress-bars) {
	& .progress-container {
		display: none;
	}
}

.journey-bar > table {
	margin-bottom: 0;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	width: 100%;
}

.journey-bar > table > tr {
	display: flex;
	gap: var(--gap-horizontal-50);
}

.journey-bar > table > tr > td {
	border-top: none;
	padding: 0;
}

.journey-bar-icons {
	display: none;
}

.journey-bar-group {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	min-width: var(--column-width);
	gap: var(--gap-vertical-25);
}

.journey-bar-group > span {
	opacity: 20%;
	padding: 0 var(--gap-horizontal-25);
	font-size: calc(var(--font-size) - 2px);
	font-weight: 500;
}

.journey-bar-group:after {
	content: " ";
	width: 100%;
	height: 10px;
	border-radius: 5px;
}

.journey-bar-group.previous-group:after {
	background-color: color-mix(in srgb, var(--color-primary-normal) 50%, transparent);
}

.journey-bar-group.current-group:after {
	background-color: var(--color-primary-normal);
}

.journey-bar-group.current-group > span {
	opacity: 100%;
}

.journey-bar-group.future-group:after {
	background-color: color-mix(in srgb, var(--color-primary-normal) 10%, transparent);
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.journey-bar > table {
		justify-content: flex-start;
	}

	.journey-bar-group > span {
		display: none;
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.progress-container {
		width: 100%;
		flex-grow: unset;
		/* justify-content: center; */
	}

	.journey-bar > table {
		justify-content: center;
	}

	.journey-bar > table > tr {
		width: 100%;
		justify-content: center;
	}

	.journey-bar > tbody > tr {
		width: 100%;
	}

	.journey-bar-group {
		min-width: calc(calc(100% / 5) - var(--gap-horizontal-50));
	}
}

/*
    fiVISION_HMDAQuestions
*/

.fiviHMDAQuestions {
	display: flex;
	width: 100vw;
	max-width: 100%;
	flex-wrap: wrap;
	gap: var(--gap-horizontal-150) var(--gap-horizontal);
	& br {
		display: none;
	}
	& > .fiviHMDAEthnicity,
	& > .fiviHMDARace,
	& > .fiviHMDAGender {
		display: flex;
		flex-direction: column;
		gap: var(--gap-horizontal-50);
		width: 100vw;
		max-width: var(--column-width-4);
		min-width: var(--column-width-3);
		& > .fiviLabelContainer {
			& > label {
				font-size: 18px;
				font-weight: 600;
				letter-spacing: 1;
				text-decoration: underline;
			}
		}
		& > div {
			display: flex;
			flex-direction: column;
			gap: var(--gap-horizontal-25);
		}
	}
	& > .fiviHMDARace {
		order: -1;
	}
}

/*
	fiVISION_IndividualHyperlinkList
*/

.fiviIndividualHyperlinkList {
	width: 100vw;
	max-width: 100%;
	& > ul {
		margin: 0;
		padding-left: var(--gap-vertical);
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-25);
		& > li {
			margin: 0;
		}
	}
	& button {
		border: none;
		padding: 0;
		background-color: transparent;
		font-size: 16px;
		color: var(--color-primary-normal);
		font-weight: bold;
		text-decoration: underline;
		&:hover {
			color: var(--color-primary-light);
		}
	}
}

/*
	fiVISION_ACHFundingAccountVerification
*/

.fiviPlaid,
.fiviFinicityFundingAccountVerificationContainer {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100vw;
	max-width: 100%;
}

/*
	fiVISION_CreditCardV2
*/

.fiviParentControl.fiviCreditCard {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
}

.fiviCCNameAddress,
.fiviCCInfo {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fiviInput-vertical-spacing) 0;
	width: 100vw;
	max-width: 100%;
	justify-content: center;
	& > .fiviControl.fiviInput {
		max-width: 100%;
	}
	& > .fiviAddressControl {
		max-width: 100%;
		& .fiviTextBox {
			max-width: 100%;
		}
	}
}

.fiviCCNameAddress .form-control::placeholder {
	color: transparent;
}

.fiviCCNameAddress > span:nth-of-type(2) {
	display: none;
}

.fiviCCInfo > span:first-of-type input::placeholder {
	color: transparent;
}

.fiviCCInfo > span:not(:first-of-type) {
	max-width: calc(100% / 3) !important;
	& .fivisionpopover {
		display: none !important;
	}
}

.fiviCCInfo > span:nth-of-type(2) {
	& > label.DefaultLabelClass {
		display: none !important;
	}
	& > select.form-control {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-right: none;
		color: var(--font-color) !important;
		&:focus,
		&:active {
			border-right: 2px solid var(--color-primary-normal);
		}
	}
	&:before {
		content: "Card Expiration & CVV";
		text-transform: uppercase;
		display: flex;
		align-items: center;
		position: absolute;
		height: var(--input-focusLabel-fontSize);
		font-size: var(--input-focusLabel-fontSize);
		line-height: var(--font-size-label);
		color: var(--font-color-label);
		top: 0 !important;
		left: 0;
		font-weight: 500;
		white-space: nowrap;
		text-wrap: nowrap;
	}
}

.fiviCCInfo > span:nth-of-type(3) {
	& > label.DefaultLabelClass {
		display: none !important;
	}
	& > select.form-control {
		border-radius: 0;
		color: var(--font-color) !important;
	}
}

.fiviCCInfo > span:nth-of-type(4) {
	& label.DefaultLabelClass {
		display: none !important;
	}
	& > input.form-control {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		border-left: none;
		color: var(--font-color) !important;
		&:focus,
		&:active {
			border-left: 2px solid var(--color-primary-normal);
		}
	}
	& .DefaultTooltipClass {
		display: none !important;
	}
}

@media all and (max-device-width: 725px), all and (max-width: 725px) {
	.fiviCCNameAddress,
	.fiviCCInfo {
		flex-wrap: wrap;
		& > .fiviControl.fiviInput {
			max-width: 100%;
		}
	}

	.fiviCCInfo > span:not(:first-of-type) {
		max-width: calc(100% / 3) !important;
	}

	.fiviCCInfo > span:first-of-type {
		margin-right: 0;
	}
}

/*
	fiVISION_OneTimePasscode
*/

.fiviOTP {
	width: 100vw;
	max-width: 100%;
	margin-top: calc(var(--gap-vertical-50) * -1);
	& > .loading {
		width: 100vw;
		max-width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	& .fiviOTPDestination,
	& .fiviOTPCode {
		display: flex;
		flex-direction: column;
        align-items: center;
		gap: var(--gap-vertical-75);
		width: 100vw;
		max-width: 100%;
		padding-bottom: calc(var(--gap-vertical) * 3.5);
	}
	& .fiviOTPDestination:has(select) {
		& > .fiviRadioButton {
			width: 100%;
			max-width: var(--column-width-3);
		}
		& > .fiviPanel:has(> .fiviDropDown) {
			margin-top: var(--gap-vertical-50);
			& label.DefaultLabelClass {
				display: none;
			}
			& select:has(option[value=""]:checked) {
				color: var(--font-color);
			}
		}
	}
	& .fiviOTPCode {
		padding-top: var(--gap-vertical-50);
		& .fiviLabelContainer > label {
			font-size: calc(var(--font-size) + 4px);
		}
	}
	& .fiviOTPDestination > div:has(> .fiviBtnContainer),
	& .fiviOTPButtonContainer {
		gap: var(--gap-horizontal);
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		padding: var(--gap-vertical) var(--gap-horizontal);
		padding-top: var(--gap-vertical-200);
		border-top: solid 1px var(--color-gray-dark);
		align-items: center;
		width: 100vw;
		max-width: 100%;
	}
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
	.fiviOTP {
		.fiviOTPDestination,
		.fiviOTPCode {
			padding-bottom: calc(var(--gap-vertical) * 7);
		}
		.fiviOTPDestination > div:has(> .fiviBtnContainer),
		.fiviOTPButtonContainer {
			flex-direction: column-reverse;
			align-items: center;
			justify-content: center;
			gap: var(--gap-vertical-75);
			& .button-link {
				text-align: center;
			}
		}
		.fiviPanel {
			width: 100%;
			max-width: 100%;
		}
	}
}

/*
    fivision_AccountSelection
*/

.fiviAccountSelectionCheckboxList {
	width: 100vw;
	max-width: 100%;
	& .fiviSelectAccountsContainer {
		width: 100vw;
		max-width: 100%;
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-150);
	}
}

/*
    fiVISION_BeneficialOwnership
*/

.fiviBenficialOwnership {
	width: 100vw;
	max-width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gap-vertical-150);
	overflow-x: auto;
	margin: 0 10px;
	& > .fiviTable {
		border: 1px solid var(--color-gray-dark);
		border-radius: 5px;
		padding-top: var(--column-spacer);
	}
	& .fiviTableHead th {
		border-bottom: 1px solid var(--color-gray-dark);
		padding: 0 calc(var(--column-spacer) / 2) var(--column-spacer) calc(var(--column-spacer) / 2);
	}
	& .fiviTableBody td {
		padding: calc(var(--column-spacer) / 2);
	}
	& .fiviTableHead th:first-of-type,
	& .fiviTableBody td:first-of-type {
		padding-left: var(--column-spacer);
	}
	& .fiviTableHead th:last-of-type,
	& .fiviTableBody td:last-of-type {
		padding-right: var(--column-spacer);
	}
	& td {
		min-width: var(--column-width-2);
	}
	& td:has(> .fiviTextBox) {
		width: 100vw;
		max-width: var(--column-width-2);
	}
	& td:has(> .fiviDropDown) {
		width: 100vw;
		max-width: var(--column-width-4);
	}
	& tr:not(:last-of-type) > td {
		border-bottom: 1px solid var(--color-gray-dark);
	}
	& .fiviTextBox,
	& .fiviDropDown {
		max-width: 100%;
		margin: 0 auto;
		display: block;
		& .form-control {
			margin-top: 0;
			text-align: center;
		}
		& .fivisionpopover {
			max-width: 100%;
		}
	}
	& .fiviRadioButton {
		display: block;
		margin: 0 auto;
	}
	& .fiviBtnContainer {
		align-self: flex-end;
	}
}

/*
    fiVISION_ExistingAccountOwnerList
*/

.fiviExistingAccountOwnerListContainer {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal-200);
	& > div {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: var(--gap-horizontal-75);
	}
	& .fiviLabelContainer:has(.section-header) {
		width: 100%;
		margin-bottom: var(--gap-horizontal-50);
	}
	& .h4 {
		text-decoration: underline;
		margin-top: var(--gap-horizontal-75);
	}
}

.fiviExistingAccountOwnerProductsListClass {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal-75);
	margin-left: var(--gap-horizontal-50);
	& > .fiviExistingAccountOwnerApplicantNameClass {
		display: flex;
		gap: var(--gap-horizontal-50);
		align-items: center;
		& label.DefaultCBControlClassV3 {
			font-size: 16px;
			font-weight: 600;
		}
	}
	& div:has(> .product-selection) {
		display: flex;
		flex-direction: column;
		gap: var(--gap-horizontal-50);
		width: 100%;
		margin-left: var(--gap-horizontal-50);
		& > .product-selection > .fiviCheckBox {
			width: 100%;
			max-width: 100%;
			justify-content: flex-start;
			& input {
				width: fit-content;
			}
			& label {
				font-size: 16px;
			}
		}
	}
}

/*
	6.35 Status Center 
	6.35.1 Global Overrides
*/
.status-center-page {
	.btn-primary,
	.btn-default {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		max-width: var(--fiviInput-width);
		min-width: var(--column-width-2);
		width: fit-content;
		height: var(--gap-vertical-150);
		line-height: calc(var(--gap-vertical-150) - 4px);
		margin: 0;
		padding: 0 10px;
		color: var(--color-secondary-normal);
		font-size: 14px;
		font-weight: 600;
		background-color: transparent;
		border: 2px solid var(--color-secondary-normal);
		border-radius: 5px;
		box-shadow: none;
		text-transform: lowercase;
		text-decoration: none;
		text-align: center;
		&:hover:not(:disabled),
		&:active:not(:disabled),
		&:focus:not(:disabled) {
			background-color: transparent;
			color: var(--color-primary-normal);
			border-color: var(--color-primary-normal);
			font-weight: 600;
			box-shadow: none;
			text-decoration: none;
		}
		&:disabled {
			opacity: 0.5;
		}
	}
}

.V3StatusCenterLogin > #pnlEnterPassword,
.V3StatusCenterLogin > #pnlShowCreatePass,
.V3StatusCenterLogin > #pnlShowMFACode,
.V3StatusCenterLogin > #pnlShowMFADropdown,
.V3SummaryControl #pnlShowMFADropdown,
.V3SummaryControl #pnlShowMFACode,
.V3SummaryControl .fiviVerifyTrialDeposits,
.V3SummaryControl .fiviCheckOrder,
.fiviStatusCenterEmail,
.fiviVerifyTrialDepositsInputContainer {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
	width: 100vw;
	max-width: 100%;
}

.V3StatusCenterLogin > #pnlEnterPassword .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowCreatePass .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowMFACode .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowMFADropdown .DefaultLabelClassV3,
.V3SummaryControl #pnlShowMFACode .DefaultLabelClassV3,
.V3SummaryControl #pnlShowMFADropdown .DefaultLabelClassV3,
.V3SummaryControl .fiviVerifyTrialDeposits .DefaultLabelClassV3,
.fiviStatusCenterEmail .DefaultLabelClassV3 {
	display: flex;
	align-items: center;
	height: var(--input-height);
	position: absolute;
	left: var(--gap-horizontal-50);
	top: var(--input-marginTop-forLabelFocusSpace);
	font-size: var(--font-size-label);
	font-weight: var(--font-weight-label);
	line-height: var(--font-size-label);
	color: var(--font-color-label);
	font-family: var(--font-family-label);
	transition: all 0.2s ease-in-out;
	pointer-events: none;
}

.V3StatusCenterLogin > #pnlEnterPassword .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowCreatePass .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowMFACode .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowMFADropdown .LabelClassFocus,
.V3SummaryControl #pnlShowMFACode .LabelClassFocus,
.V3SummaryControl #pnlShowMFADropdown .LabelClassFocus,
.V3SummaryControl .fiviVerifyTrialDeposits .LabelClassFocus,
.fiviStatusCenterEmail .LabelClassFocus {
	height: var(--input-focusLabel-fontSize);
	font-size: var(--input-focusLabel-fontSize);
	top: 0 !important; /* global.css conflict */
	left: 0;
	font-weight: 500;
}

.V3StatusCenterLogin > #pnlEnterPassword .fivisionpopover,
.V3StatusCenterLogin > #pnlShowCreatePass .fivisionpopover,
.V3StatusCenterLogin > #pnlShowMFACode .fivisionpopover,
.V3SummaryControl #pnlShowMFACode .fivisionpopover,
.V3SummaryControl .fiviVerifyTrialDeposits .fivisionpopover,
.fiviStatusCenterEmail .fivisionpopover {
	position: relative !important;
	top: unset;
	bottom: unset !important;
	box-shadow: none;
	border: none;
	background-color: transparent;
	width: 100vw;
	max-width: var(--fiviInput-width);
	left: 0;
	margin: 0;
	/* margin-top: var(--gap-vertical-25); */
	text-align: left;
}

.V3StatusCenterLogin > #pnlShowMFADropdown select.DefaultFormControlClassV3,
.V3SummaryControl #pnlShowMFADropdown select.DefaultFormControlClassV3 {
	padding: 0px var(--gap-horizontal-50) !important;
	font-size: var(--font-size-input) !important;
	max-width: var(--fiviInput-width);
}

.V3StatusCenterLogin > #pnlEnterPassword .fiviControl,
.V3StatusCenterLogin > #pnlShowCreatePass .fiviControl,
.V3StatusCenterLogin > #pnlShowMFACode .fiviControl,
.V3StatusCenterLogin > #pnlShowMFADropdown .fiviControl,
.V3SummaryControl #pnlShowMFACode .fiviControl,
.V3SummaryControl #pnlShowMFADropdown .fiviControl,
.V3SummaryControl .fiviVerifyTrialDeposits .fiviControl,
.V3SummaryControl .fiviCheckOrder .fiviControl,
.fiviStatusCenterEmail .fiviControl {
	padding: 0;
	display: flex;
	& .fiviStaticLabel {
		position: absolute;
		top: -5px;
		font-weight: 500;
	}
}

.fiviCheckOrder {
	& button.DefaultNextButton {
		min-width: fit-content !important;
	}
}

.fiviCheckOrderOptions {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-75);
	& > div:has(select) {
		display: block !important;
	}
}

/*
	6.35.2 Status Center Login
*/

.fiviStatusCenterEmail {
	width: 100vw;
	max-width: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

main:has(.V3StatusCenterLogin) {
	justify-content: center;
}

.V3StatusCenterLogin {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--gap-vertical-150);
	max-width: var(--column-width-12);
	width: 100%;
	line-height: var(--font-lineheight);
	font-size: calc(var(--font-size) + 2px);
}

.V3StatusCenterLogin div,
.V3StatusCenterLogin > div > span {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--gap-vertical);
}

.V3StatusCenterLogin > div span:has(> .btn-link) {
	display: block;
}

.V3StatusCenterLogin br {
	display: none;
}

.V3StatusCenterLogin > #pnlShowMFACode .fiviCheckBox {
	display: flex;
}

.V3StatusCenterLogin > #pnlEnterPassword,
.V3StatusCenterLogin > #pnlShowCreatePass,
.V3StatusCenterLogin > #pnlShowMFACode,
.V3StatusCenterLogin > #pnlShowMFADropdown {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gap-vertical);
	max-width: var(--column-width-12);
	width: 100%;
	margin: 0;
}

.V3StatusCenterLogin .fiviControl.fiviTextBox {
	display: inline-flex !important;
	padding: 0 !important;
}

#pnlPleaseWait:has(+ .V3StatusCenterLogin) {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0.66;
	background-color: black;
	display: flex;
	& > .loader {
		position: absolute;
		top: 20%;
		left: calc(50% - 50px);
	}
}

/*
	6.35.3 Status Center Summary
*/

.V3SummaryControl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--gap-vertical-150);
	max-width: var(--column-width-12);
	width: 100%;
	line-height: var(--font-lineheight);
}

.V3SummaryControl span:has(> button.btn-link) {
	/* we need to add some structure to spans that have buttons. */

	display: inline-flex;
	align-items: center;
}

.V3SummaryControl br {
	display: none;
}

@media all and (max-device-width: 769px), all and (max-width: 769px) {
	.V3SummaryControl {
		gap: var(--gap-vertical);
	}
}

/*
	6.35.3.1 SC Summary Header
*/

.V3SummaryControl > header {
	display: block;
	box-shadow: none;
	padding: 0;
	background-color: transparent;
	border-bottom: none;
}

.V3SummaryHeader {
	background-image: none;
	background-color: transparent;
	border: none;
	box-shadow: none;
}

.V3SummaryHeader:before,
.V3SummaryHeader:after {
	display: none;
}

.V3SummaryHeader > #navbar-header {
	display: none !important;
}

/*
	6.35.3.2 SC Summary Icons/Navigation
*/

.V3SummaryHeader > #topNav {
	display: block !important;
	width: 100%;
	padding: 0;
}

.V3SummaryHeader > #topNav > ul {
	display: flex;
	width: 100%;
	justify-content: center;
	gap: var(--gap-horizontal) var(--gap-vertical);
}

.V3SummaryHeader > #topNav:before,
.V3SummaryHeader > #topNav:after,
.V3SummaryHeader > #topNav > ul:before,
.V3SummaryHeader > #topNav > ul:after {
	display: none;
}

.V3SummaryHeader > #topNav > ul > .nav-item {
	margin: 0;
	padding: var(--gap-vertical-75);
	min-width: 100px;
}

.V3SummaryHeader > #topNav > ul > .nav-item.active {
	border: 1px solid var(--color-secondary-normal);
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.V3SummaryHeader > #topNav > ul > .nav-item > a {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25);
	padding: 0;
	margin: 0;
	font-size: calc(var(--font-size) + 2px);
	font-weight: 500;
	color: var(--color-primary-normal) !important;
	fill: var(--color-primary-normal) !important;
}

.V3SummaryHeader > #topNav > ul > .nav-item.active > a {
	background-image: none;
	background-color: transparent;
	box-shadow: none;
	color: var(--color-secondary-normal) !important;
	fill: var(--color-secondary-normal) !important;
}

.V3SummaryHeader > #topNav > ul > .nav-item .badge {
	right: var(--gap-vertical-25);
	left: unset;
	background-color: var(--color-secondary-normal);
	z-index: 2;
}

.V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
	right: var(--gap-vertical-75);
}

@media all and (max-device-width: 992px), all and (max-width: 992px) {
	.V3SummaryHeader > #topNav > ul > .nav-item {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		gap: var(--gap-horizontal-25);
	}

	.V3SummaryHeader > #topNav > ul > .nav-item .badge,
	.V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
		position: relative;
		width: fit-content;
		height: fit-content;
		right: unset;
	}

	.V3SummaryHeader > #topNav > ul > .nav-item > a {
		flex-direction: row;
	}

	.V3SummaryHeader > #topNav > ul > .nav-item > a > svg {
		margin: 0 0 0 0;
	}
}

@media all and (max-device-width: 769px), all and (max-width: 769px) {
	.V3SummaryHeader > #topNav {
		border: none;
	}

	.V3SummaryHeader > #topNav > ul {
		flex-wrap: wrap;
		margin: 0;
		gap: var(--gap-vertical-25);
		border: none;
		justify-content: space-between;
	}

	.V3SummaryHeader > #topNav > ul > .nav-item {
		width: calc(50% - var(--gap-vertical-25));
		justify-content: center;
	}
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
	.V3SummaryHeader > #topNav > ul > .nav-item {
		justify-content: center;
		padding: var(--gap-vertical-50);
	}

	.V3SummaryHeader > #topNav > ul > .nav-item > a {
		flex-direction: column;
		justify-content: center;
	}

	.V3SummaryHeader > #topNav > ul > .nav-item .badge,
	.V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
		position: absolute;
		right: var(--gap-vertical-25);
		top: var(--gap-vertical-50);
		left: unset;
		background-color: var(--color-secondary-normal);
		z-index: 2;
	}
}

/*
	6.35.4 SC Status Center Content
*/

.V3SummaryControl > article {
	margin: 0;
}

.V3SummaryControl .container-fluid {
	padding: 0;
}

.V3SummaryControl .container-fluid:before,
.V3SummaryControl .container-fluid:after {
	display: none;
}

.V3SummaryControl .container-fluid > div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-75);
}

.V3SummaryControl .headline-container {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
	padding: 0;
	background: transparent;
	margin: 0;
	text-align: left;
}

.V3SummaryControl .headline-container > h1 {
	font-size: 32px;
	text-transform: capitalize;
	font-weight: 500;
	text-align: center;
}

.V3SummaryControl .headline-container table.V3StatusCenterTableClass + div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
}

table.V3StatusCenterTableClass {
	margin-bottom: 0px;
}

.V3SummaryControl table.V3StatusCenterTableClass td {
	line-height: 34px;
}

span:has(> table.V3StatusCenterTableClass) {
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
}

.fiviAdditionalMFAScreenContainer > #pnlControls {
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
}

/*
	6.35.4.1 Status Center Content Home
*/

.V3SummaryControl .container-fluid > div > .task {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: var(--gap-horizontal-50);
	margin: 0;
	border: 1px solid var(--color-secondary-normal);
	border-radius: 5px;
	border-width: 2px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.V3SummaryControl .container-fluid > div > .task > .task-icon {
	fill: var(--color-primary-normal);
}

.V3SummaryControl .container-fluid > div > .task > .task-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gap-horizontal-50);
	margin: 0;
}

.V3SummaryControl .container-fluid > div > .task .task-text {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-25);
}

.V3SummaryControl .container-fluid > div > .task .task-title {
	color: var(--color-primary-normal);
	font-size: 16px;
	text-transform: capitalize;
	margin: 0;
}

.V3SummaryControl .container-fluid > div > .task .task-description {
	font-size: calc(var(--font-size) + 2px);
	color: var(--font-color);
}

/*
	6.35.4.2 Status Center Content Messages
*/

.V3SummaryControl header:has(#nav-messages.active) + article .headline-container,
.V3SummaryControl header:has(#nav-messages.active) + article .headline-container > span {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-150);
	align-items: flex-start;
	width: 100vw;
	max-width: 100%;
}

.V3SummaryControl header:has(#nav-messages.active) + article .headline-container > span div:has(.btn-primary) {
	/* text-align: center; */
	width: 100vw;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--gap-horizontal);
}

.V3SummaryControl .fiviSCSendMessage > div,
.fiviSCSendMessage {
	display: flex;
	flex-direction: column;
	gap: var(--gap-vertical-75);
	width: 100vw;
	max-width: 100%;
	& > .btn-link {
		text-align: left;
	}
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
	.V3SummaryControl .container-fluid > div > .task > .task-icon {
		display: none;
	}
}

/*
    9. Page Specific
*/

/*
    9.1 Default Page
*/

main > .layout-container:has(.page-Default-Content) {
	background-color: unset;
	outline: none;
}

.page-Default-Content {
	& .h1 {
		font-weight: 300;
	}
	& .lets-get-started-container {
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical-75);
		max-width: var(--column-width-6);
		width: 100%;
		height: auto;
		min-height: calc(480px + var(--gap-vertical));
		padding: var(--gap-vertical) var(--gap-horizontal);
		background: var(--color-white-normal);
		border: 1px solid var(--color-gray-dark);
		& > h2 {
			display: flex;
			align-items: center;
			gap: var(--gap-horizontal-50);
			& .DefaultTooltipClass {
				position: relative;
				display: none;
			}
		}
	}
	&.workflow-ocm .lets-get-started-container {
		min-height: auto;
		& .thumbnail-call-to-action {
			margin-top: var(--gap-horizontal-75);
		}
	}
	& .what-you-need li,
	& .what-you-need-popover li {
		font-size: 13px;
	}
	& .default-thumbnail-container {
		display: flex;
		flex-direction: column;
		gap: var(--gap-vertical);
		height: auto;
		min-height: calc(480px + var(--gap-vertical));
		justify-content: space-between;
		& > .thumbnail {
			display: flex;
			flex-direction: column;
			align-items: center;
			text-align: left;
			gap: var(--gap-vertical-75);
			max-width: var(--column-width-5);
			width: 100%;
			min-height: 230px;
			margin: 0;
			padding: var(--gap-vertical) var(--gap-horizontal);
			border: 1px solid var(--color-gray-dark);
			background-color: var(--color-gray-light);
			border-radius: 0px;
			transition: none;
			box-shadow: none;
			& > .h3 {
				text-align: left;
			}
		}
	}
	& .thumbnail-call-to-action {
		width: 100%;
		margin-top: auto;
		display: flex;
		align-items: center;
		height: 24px;
		& .fiviBtnContainer:after,
		& .arrow-right:after {
			font-family: FontAwesome;
			content: "\f061";
			font-size: 16px;
			font-weight: 400;
			color: var(--color-primary-normal);
			padding-left: var(--gap-vertical-25);
			display: inline-flex;
			align-items: center;
			justify-content: flex-end;
			height: 100%;
			line-height: 16px;
		}
		&:hover {
			& .fiviBtnContainer:after,
			& .thumbnail-call-to-action:hover .arrow-right:after {
				color: var(--color-primary-dark);
			}
		}
	}
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
	.page-Default-Content {
		& .lets-get-started-container {
			max-width: var(--column-width-5);
			height: fit-content;
			min-height: auto;
		}
		& .default-thumbnail-container {
			min-height: fit-content;
			justify-content: flex-start;
			& .thumbnail {
				max-width: var(--column-width-5);
				min-height: unset;
				& .thumbnail-call-to-action {
					margin-top: 0;
				}
			}
		}
		& .what-you-need,
		& .what-you-need-popover {
			font-size: calc(var(--font-size) - 2px);
		}
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.page-Default-Content {
		& .lets-get-started-container {
			max-width: 100%;
			height: fit-content;
		}
		& .lets-get-started-container > #IndividualHandler01 {
			align-items: flex-start;
		}
		&.workflow-ocm .lets-get-started-container {
			width: auto;
			max-width: var(--column-width-5);
		}
		& .default-thumbnail-container {
			max-width: 100%;
			width: 100%;
			flex-direction: row;
			flex-wrap: nowrap;
			& .thumbnail {
				max-width: 100%;
				min-height: fit-content;
			}
		}
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.page-Default-Content {
		& .default-thumbnail-container {
			flex-wrap: wrap;
		}
		& .thumbnail-call-to-action,
		& .thumbnail-call-to-action > #IndividualHandler01 {
			flex-direction: row;
			justify-content: flex-end;
		}
		& .what-you-need,
		& .what-you-need-popover {
			font-size: var(--font-size);
		}
		& .what-you-need-header,
		& .what-you-need {
			display: none;
		}
		& .lets-get-started-container {
			& > h2 {
				& .DefaultTooltipClass {
					display: inline;
				}
			}
		}
	}
}

@media all and (max-device-width: 525px), all and (max-width: 525px) {
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.page-Default-Content {
		& .thumbnail {
			max-width: var(--column-width-4);
		}
		& .lets-get-started-container {
			align-items: center;
		}

		& .lets-get-started-container > #IndividualHandler01 {
			align-items: center;
		}
	}
}

/*
	9.4 Funding Method
*/

.funding-method-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: var(--column-width-12);
	gap: var(--gap-vertical) var(--gap-horizontal);
	& > .fiviPanel {
		width: 100%;
		max-width: var(--column-width-3);
		& .fiviRadioButton {
			& input {
				display: none;
				& + label {
					display: flex;
					align-items: center;
					justify-content: center;
					width: var(--column-width-3);
					height: var(--input-height);
					border: 2px solid var(--color-gray-dark);
					border-radius: 2px;
					padding: 0 var(--column-spacer);
					text-align: center;
					cursor: pointer;
					&:hover {
						color: var(--color-primary-normal);
						border-color: var(--color-primary-normal);
					}
				}
				&:checked + label {
					color: var(--color-primary-dark);
					border-color: var(--color-primary-dark);
					background-color: var(--color-gray-light);
				}
			}
		}
	}
}

.pnlSelectFundingMethodDetails {
	width: 100vw;
	max-width: 100%;
}

#pnlSelectFundingMethodDetails .fiviPanel {
	width: 100%;
}

.funding-detail {
	padding: var(--column-spacer);
	outline: 2px solid var(--color-gray-dark);
	gap: var(--gap-vertical-75);
	width: 100%;
	max-width: calc(var(--fiviInput-width) + calc(var(--column-spacer) * 2));
	margin: 0 auto;
}

.funding-detail .section-header,
.funding-detail .page-text-small,
.funding-detail .page-text,
.funding-detail .page-text-large {
	text-align: center;
}

.funding-detail .section-header:before {
	content: "";
	display: inline;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray-dark);
}

.funding-detail .section-header:after {
	flex-shrink: unset;
}

.funding-detail .fiviInput,
.funding-detail .fiviTwoInput {
	width: 100%;
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.funding-method-container {
		flex-direction: column;
		align-items: center;
		& > .fiviPanel {
			width: 100vw;
			max-width: 100%;
			& .fiviRadioButton {
				& input {
					& + label {
						width: 100vw;
						max-width: 100%;
					}
				}
			}
		}
	}

	.funding-method-container > .fiviPanel > .fiviMultiInput > .rb-as-button {
		max-width: 100%;
	}

	.funding-method-container .fiviCheckBox > label {
		width: 100%;
	}
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
	.funding-method-container > .fiviPanel {
		width: 100%;
		max-width: 100%;
	}
}

/*
	9.5 eSign Agreement // business type
*/

.page-eSignAgreement,
.page-BusinessType {
	& #lnkESignAgreement,
	& .fiviCheckBox > label {
		font-size: calc(var(--font-size) + 2px);
	}
	& .business-type-container {
		display: flex;
		flex-direction: column;
		gap: var(--gap-horizontal-150);
		& > div {
			& > .h3 {
				margin-bottom: var(--gap-horizontal-50);
			}
			& .fiviControl.fiviRadioButton {
				width: 100vw;
				max-width: var(--fiviInput-width);
			}
			gap: var(--gap-horizontal-50);
		}
	}
}

/* business-type-container */

/*
	9.6 Disclosure
*/

.page-Disclosures .page-text.disclosure-click-text {
	font-weight: 600;
	color: red;
}

.page-Disclosures .CheckboxDisabledMessage {
	display: none;
}

/*
    10. ControlID Specific
*/

#tbCamera {
	display: none;
	max-width: var(--fiviInput-width);
	width: 100%;
}

#tbCamera #lblLicenseScan {
	display: block;
	left: 0;
	transform: none;
	margin: 0 auto;
}

#pnlDocuments {
	width: 100%;
}

.pnlAddIndividualLink {
	width: 100%;
}

.add-another-list-container {
	width: 100%;
	display: flex;
	justify-content: space-between;
	& > .fivi-input-width {
		justify-content: center;
		align-items: center;
	}
}

.existing-list-container {
	gap: var(--gap-horizontal-75);
	justify-content: flex-start;
	align-items: flex-start;
	& .fiviLinkButton {
		color: var(--color-primary-normal);
		text-decoration: underline;
		&:hover,
		&:active,
		&:hover {
			color: var(--color-primary-dark);
		}
	}
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
	.add-another-list-container {
		& > .fivi-input-width {
			max-width: var(--column-width-3);
		}
	}
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
	.add-another-list-container {
		flex-direction: column;
		gap: var(--column-spacer);
		& .vertical-divider {
			display: none;
		}
		& > .fivi-input-width {
			max-width: 100%;
			text-align: center;
			& > .h3,
			& li {
				display: flex;
				align-items: center;
				justify-content: center;
			}
		}
	}
}

@media all and (max-device-width: 834px), all and (max-width: 834px) {
	#tbCamera {
		display: block;
		max-width: var(--column-width-full);
		width: fit-content !important;
	}
}

/*
    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
*/

.fiviViewFormHeader {
	max-width: var(--column-width-12);
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	& > .fiviSCDropDown {
		width: 100vw;
		max-width: calc(var(--fiviInput-width) * 0.5);
		flex-direction: column;
		margin: 10px 0;
		& > label {
			font-size: 16px !important;
			font-weight: 500;
		}
		& > .form-control {
			margin-top: 5px;
		}
	}
}

.fiviViewFormHeader + div > .layout {
	--column-width-10: 100%;
	--column-width-11: 100%;
	--column-width-12: 100%;
	--fiviInput-width: var(--column-width-4);
	--fiviInput-width-partial-main: var(--column-width-2);
	--fiviInput-width-partial-alt: var(--column-width-2);
	--fiviInput-width-half: calc(calc(var(--fiviInput-width) - var(--column-spacer)) / 2);
	& > header,
	& > footer,
	& .progress-container {
		display: none;
	}
	& > main {
		max-width: var(--column-width-9);
		& > .layout-container {
			margin: 0;
		}
	}
}
