/*
        Table of Contents

    1. Variables
        1.1 Mobile Variables
    2. General Elements & Classes
        2.1 General Elements
        2.2 iCheck
        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. Inputs and Labels
		7.1 Labels
		7.2 Inputs
		7.3 Fivi Input Containers
		7.4 Fivi Checkbox/Radio Buttons
    7.5 Validator
		7.6 Tool Tips
		7.7 Seperators
		7.8 Loader
	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_ProductFundingV2
		8.16 fiVISION_ProveIndividualLookup
		8.17 fiVISION_ACH
		8.18 fiVISION_CreditCardV2
		8.19 fiVISION_ApplicantWithdraw
		8.20 fiVISION_ProgressBar
		8.21 fiVISON_IndividualHandler
        8.22 fiVISION_EmailTextBoxV2
        8.23 fiVISION_CollateralHandler
        8.24 fiVISION_IDAuthentication
        8.25 fiVISION_PlaidFundingAccountVerification
        8.26 fiVISION_WorkflowSurvey
		8.27 fiVISION_MoneyTextBoxV2
		8.28 fiVISION_TruStage (V3)
	9. Page Specific
		9.1 Default Page
        9.2 Applicant Prove
        9.3 Select Accounts
        9.4 Disclosures
        9.5 Funding
        9.6 Pending/Approved/Denied
        9.7 Decline Disclosures
	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: 452px), all and (max-width: 452px) {

    }

*/

/*
    1. Variables
*/

:root {
  /*colors*/
  /*gray scale*/
  --color-white-light: #f9fafb;
  --color-white-normal: #f3f4f6;
  --color-white-dark: #e5e7eb;
  --color-gray-light: #8d93b2;
  --color-gray-normal: #696f8c;
  --color-gray-dark: #4e4c55;
  --color-black-light: #33374d;
  --color-black-normal: #101325;
  --color-black-dark: #0b0e1e;

  /*client colors*/
  --color-primary-light: #f2f2f2;
  --color-primary-background: #fff;
  --color-primary-normal: #e31b23;
  --color-primary-dark: #1d1b1b;
  --color-secondary-light: #3c7ccd;
  --color-secondary-normal: #21253d;
  --color-link-hover: #b40d14;

  /*font family*/
  --font-family-pri: "Manrope", sans-serif;
  --font-family-alt: "Lato", sans-serif;

  /*fonts*/
  /*default font*/
  --font-size: 16px;
  --font-lineheight: 20px;
  --font-color: var(--color-black-white);
  --font-color-light: var(--color-gray-normal);
  --font-weight: 400;
  --font-family: var(--font-family-pri);

  /*input font*/
  --font-size-input: var(--font-size);
  --font-lineheight-input: var(--font-lineheight);
  --font-color-input: var(--color-black-light);
  --font-weight-input: var(--font-weight);
  --font-family-input: var(--font-family);

  /*label font*/
  --font-size-label: var(--font-size);
  --font-lineheight-label: var(--font-lineheight);
  --font-color-label: var(--color-black-light);
  --font-color-label-focus: var(--font-color);
  --font-weight-label: 500;
  --font-family-label: var(--font-family-alt);

  /*title font*/
  --font-size-title: 32px;
  --font-lineheight-title: 34px;
  --font-color-title: var(--color-gray-dark);
  --font-weight-title: 500;
  --font-family-title: var(--font-family-pri);

  /*h1 font*/
  --font-size-h1: calc(var(--font-size) + 6px);
  --font-lineheight-h1: calc(var(--font-size-h1) + 3px);
  --font-color-h1: var(--font-color-light);
  --font-weight-h1: 500;
  --font-family-h1: var(--font-family-pri);

  /*h2 font*/
  --font-size-h2: calc(var(--font-size) + 4px);
  --font-lineheight-h2: calc(var(--font-size-h2) + 3px);
  --font-color-h2: var(--font-color-h1);
  --font-weight-h2: var(--font-weight-h1);
  --font-family-h2: var(--font-family-input);

  /*h3 font*/
  --font-size-h3: calc(var(--font-size) + 2px);
  --font-lineheight-h3: calc(var(--font-size-h3) + 3px);
  --font-color-h3: var(--font-color-light);
  --font-weight-h3: 600;
  --font-family-h3: var(--font-family);

  /*h4 font*/
  --font-size-h4: 16px;
  --font-lineheight-h4: 18px;
  --font-color-h4: var(--font-color-h3);
  --font-weight-h4: 500;
  --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);

  /*border properties*/
  --border-radius: var(--gap-vertical) var(--gap-horizontal);
  --border-color: var(--color-gray-light);
  --border-color-focus: var(--color-primary-normal);

  /*color properties*/
  --background-input-color: var(--color-white-light);
  --background-color: var(--color-white-normal);
  --background-color-page: var(--color-white-light);
  --background-color-alt: var(--color-white-normal);

  /*input and label structure*/
  --fiviInput-width: var(--column-width-4);
  --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-2);
  --fiviInput-width-partial-alt: var(--column-width-2);

  --input-height: 50px;
  --input-focusLabel-fontSize: calc(var(--font-size-label) - 2px);
  --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-75);
  --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: 1106px), all and (max-width: 1106px) {
  /*
        @1056px+48px+2px = 1106px
        -12 columns -> 7 columns 
        -fiviInput-width goes to 5 columns
        -should accomidate 2 inputs per row
    */
  :root {
    --column-width-11: 100%;
    --column-width-12: 100%;
    --column-width-10: 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: 988px), all and (max-width: 988px) {
  :root {
    --fiviInput-width: var(--column-width-4);
    --fiviInput-width-partial-main: var(--column-width-2);
    --fiviInput-width-partial-alt: var(--column-width-2);
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  /*
        @786px+48px+2px = 836px
        -9 columns -> 7 columns 
        -fiviInput-width goes to 3 columns
        -should accomidate 2 inputs per row
    */
  :root {
    --font-size: 14px;
    --column-width-8: 100%;
    --column-width-9: 100%;
  }
}

@media all and (max-device-width: 808px), all and (max-width: 808px) {
  :root {
    --fiviInput-width: var(--column-width-3);
    --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 -> 5 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-3);
    --fiviInput-width-partial-main: var(--column-width-3);
    --fiviInput-width-partial-alt: var(--column-width-3);
    --fiviInput-width-half: var(--column-width-2);
  }
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  /*
        @606px+48+2px = 656px
        -7 columns -> 5 columns
        -fiviInput-width goes to 4 columns
        -accomidate 1 input, with an exception or two, inputs go 1 per row
    */
  :root {
    --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: 540px), all and (max-width: 540px) {
  /*
        @606px+48+2px = 656px
        -7 columns -> 5 columns
        -fiviInput-width goes to 4 columns
        -accomidate 1 input, with an exception or two, inputs go 1 per row
    */
  :root {
    --column-width-3: 100%;
    --column-width-4: 100%;
    --column-width-5: 100%;
    --fiviInput-width: 100%;
    --fiviInput-width: var(--column-width-4);
    --fiviInput-width-half: calc(50% - calc(var(--column-spacer) / 2));
    --fiviInput-width-partial-main: var(--fiviInput-width-half);
    --fiviInput-width-partial-alt: var(--fiviInput-width-half);
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  /*
        @426px+24px+2px = 452px
        - any column width > 2 goes to 100%
    */
  :root {
    --column-width-3: 100%;
    --column-width-4: 100%;
    --column-width-5: 100%;
    --fiviInput-width: 100%;
    --fiviInput-width-half: calc(50% - calc(var(--column-spacer) / 2));
  }
}

/*
    2. General Elements & Classes
*/

/*
    2.1 General Elements
*/
* {
  box-sizing: border-box;
}

/* Glia chat - text display */
.salemove legend {
  display: block;
}

html,
body {
  font-size: var(--font-size);
  line-height: var(--font-size);
  color: var(--color-primary-dark);
  font-weight: var(--font-weight);
  font-family: var(--font-family);
  margin: 0;
  padding: 0;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

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(--color-primary-dark);
  font-weight: var(--font-weight-h1);
  font-family: var(--font-family-h1);
  text-align: left;
  line-height: 150%;
}

h2,
.h2 {
  font-size: var(--font-size-h2);
  line-height: var(--font-lineheight-h2);
  color: var(--color-primary-dark);
  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(--color-primary-normal);
  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(--color-primary-dark);
  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: underline;

  &:hover {
    text-decoration: none;
  }
}

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);
}

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;
}

.glyph {
  font-family: Arial, Helvetica, sans-serif;
}

/*
    2.3 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-no-wrap {
  flex-wrap: nowrap;
}

.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-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
*/

.title-text {
  font-size: var(--font-size-title);
  line-height: var(--font-lineheight-title);
  color: var(--font-color-title);
  font-weight: var(--font-weight-title);
  font-family: var(--font-family-title);
  text-align: left;
}

.page-text {
  font-size: var(--font-size);
  line-height: var(--font-lineheight);
  font-weight: var(--font-weight);
  color: var(--font-color);
  width: 100%;
}

.page-text-small {
  font-size: calc(var(--font-size) - 4px);
  width: 100%;
}

.page-text-large {
  font-size: calc(var(--font-size) + 2px);
  line-height: calc(var(--font-lineheight) + 3px);
  width: 100%;
}

.page-text,
.page-text-small,
.page-text-large {
  & > b,
  & > strong {
    font-weight: 500;
  }
}

.header-container .page-text-large {
  color: var(--color-gray-light);
  font-size: calc(var(--font-size) + 6px);
  font-weight: 500;
  letter-spacing: 1px;
}

.no-wrap {
  white-space: nowrap;
  text-wrap: nowrap;
  width: fit-content;
}

.spacer-vertical {
  width: 100%;
}

.indentLeft {
  margin-left: var(--gap-horizontal);
}

.loader-container {
  display: block;
  background-color: transparent;
}

.loader-container .loader {
  position: relative;
  top: 0;
  left: 0;
  border-top-color: var(--color-primary-normal);
  margin: var(--gap-vertical-50) var(--gap-horizontal-50);
}

.alert-container-box {
  background: var(--color-white-dark);
  border-radius: var(--border-radius);
  font-size: var(--font-size-h4);
  align-items: center;
  text-align: center;
  padding: var(--gap-vertical) var(--gap-horizontal);
}

.vertical-divider {
  max-height: 100%;
  border-left: 0.5px solid var(--border-color);
  position: relative;
  flex-grow: 1;
  flex-basis: 0;
}

.horizontal-divider {
  height: 1px;
  width: 100%;
  border-top: 1px solid var(--border-color);
}

.mobile-visible-only {
  display: none;
}

.fiviNewLine {
  display: none !important;
}

.fiviHide {
  display: none !important;
}

.fiviTransparent {
  color: transparent;
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .page-text-small {
    font-size: calc(var(--font-size) - 2px);
  }

  .mobile-visible-only {
    display: flex;
  }
}

/*
    3. Page Structure
*/

/*
    3.1 Page Structure
*/

.layout {
  background-color: var(--color-primary-background);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
}

header,
main,
footer {
  width: 100%;
  display: flex;
  margin: 0;
  text-align: left;
  flex-direction: column;
}

header {
  background-color: var(--color-primary-background);
  box-shadow: 0.25rem 0.5625rem transparent;
}

header .layout-container {
  margin: 0 !important;
}

main {
  position: relative;
  margin-bottom: auto;
  align-items: flex-start;
  padding: var(--gap-vertical-200) 0;
  flex: 1;
  flex-direction: row;
  max-width: var(--column-width-12);
}

footer {
  background-color: var(--color-primary-light);
  position: relative;
  padding: 3rem 0rem;
  color: var(--color-primary-dark);
}

footer ul {
  margin: 0;

  .dropdown-menu {
    padding: 0;
  }
}

header > .layout-container,
main > .layout-container,
footer > .layout-container {
  max-width: var(--column-width-12);
  width: 100%;
  margin: 0 auto;
  min-height: 62px;
  padding: var(--gap-vertical) var(--gap-horizontal);
}

.fiviSessionTimeout {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: var(--column-width-9);
  width: 100vw;
}

.fiviSessionTimeout div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  header,
  footer {
    padding: 0;
  }

  main {
    padding: var(--gap-vertical) var(--gap-horizontal-50);
  }

  header > .layout-container {
    min-height: 50px;
    justify-content: center;
  }

  .main-container {
    flex-direction: column;
    margin-right: 0em !important;
  }

  footer ul {
    padding: 0;
  }
}

/*
    3.2 Header Styling
*/

.header-logo {
  width: 300px;
}

.header-contact {
  min-width: 0;
  justify-content: flex-end;
  flex: 1;
}

.header-contact-info {
  min-width: 0;
  flex-shrink: 1;
  width: unset;
}

.header-contact-info.page-text {
  color: var(--color-white-light);
  font-size: calc(var(--font-size) - 2px);
}

.header-info-bar {
  width: 100%;
  background-color: var(--color-secondary-normal);
  padding: var(--gap-vertical-25) var(--gap-horizontal-25);
}

.header-info-bar > .flex-row {
  max-width: var(--column-width-12);
  margin: 0 auto;
}

.header-info-bar .page-text {
  flex: 0 1 auto;
  width: fit-content;
  color: var(--color-white-normal);
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  header .layout-container {
    flex-direction: column;
  }

  header .layout-container > a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header-contact {
    justify-content: center;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .header-logo {
    width: 200px;
  }
}

/*
    3.3 Main Styling
*/

main:has(.hide-all-progress-bars) {
  justify-content: center;
}

main > .layout-container {
  position: relative;
  display: flex;
  align-self: stretch;
  padding: 0;
  flex-grow: 1;
  flex-basis: 0;
  flex-direction: column;
  justify-content: stretch;
  gap: var(--gap-vertical);
  padding-bottom: var(--gap-vertical);
  border: 1px solid var(--color-primary-dark);
  background-color: white;
  margin: 0 var(--gap-horizontal);
  border-radius: 5px;

  &:has(.hide-all-progress-bars) {
    max-width: var(--column-width-9);
  }
}

main > .layout-container > div:not(.progress-container-main) {
  /*
        this is span that start the fivision_PageContent
    */
  display: flex;
  width: 100%;
  flex-direction: column;
  align-self: stretch;
  justify-content: stretch;
  flex-basis: 0;
  flex-grow: 1;
}

main > .layout-container > div:has(> .hide-all-progress-bars) {
  padding-top: var(--gap-vertical);
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  main > .layout-container {
    min-width: 0;
  }

  main > .layout-container > span {
    max-width: var(--column-width-12);
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  main > .layout-container {
    margin: 0;
  }
}

/*
    3.4 Footer Styling
*/

footer > .layout-container {
  font-size: var(--font-size);
}

footer .h1,
footer .h2,
footer .h3,
footer .h4 {
  color: var(--color-white-normal);
  font-weight: 500;
}

footer .page-text {
  color: var(--color-primary-dark);
}

footer a {
  color: var(--color-primary-dark);
}

footer a:hover {
  color: var(--color-link-hover);
}

footer > .layout-container > div {
  max-width: var(--column-width-4);
  width: 100%;
}

footer > .layout-container > .h2 {
  /* max-width: 100%; */
}

footer > .layout-container > .h2 {
  font-family: var(--font-family-alt);
}

footer > .layout-container > .h2:after {
  content: "";
  display: block;
  width: var(--column-width-2);
  height: 2px;
  background-color: var(--color-primary-normal);
  align-self: flex-start;
  margin-top: var(--gap-vertical-50);
}

.institution-copywrite,
.institution-links {
  display: flex;
  flex-wrap: wrap;
}

.institution-info > .flex-row,
.routing-links > .flex-row {
  gap: 5px;
}

.institution-eho-ncua-logos {
  width: 100%;
}

.ncua-eho,
.adj-nav,
.copyright {
  padding: 1em 3em;
}

.ncua-eho {
  display: flex;
  gap: 2rem;
}

#eho,
#ncua {
  filter: invert(90%) sepia(0%) saturate(878%) hue-rotate(314deg) brightness(100%) contrast(88%);
}

#eho {
  width: 80px;
}

#ncua {
  width: 250px;
}

.apps {
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;

  img {
    width: 169px;
    height: 50px;
    object-fit: cover;
  }
}

.institution-insured-text {
  font-size: 14px;
  font-style: italic;
  text-align: center;
}

.category-item {
  font-size: 1.4375rem;
  line-height: 2.125rem;
  font-weight: 700;
  margin-bottom: 1em;
  /* text-transform: uppercase;  */
}

.dropdown-menu {
  margin-top: 2em;
  max-width: 160px;
}

.main-container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2em;
  margin-right: 5em;
  max-width: 2500px;
}

.footer-menu {
  flex: 0 0 58%;
}

/* .main-container > div,
.main-container > nav {
	margin: 0em 5em
} */

.menu-internal {
  margin: 1em 0em;
}

footer ul {
  list-style-type: none;
}

.footer-menu > ul {
  display: flex;
  padding: 0;
  flex-grow: 2;
  justify-content: space-between;

  > li {
    padding: 0em 2em;
  }
}

.footer-menu button.button-primary {
  padding: 0.75rem 2rem;
  margin: 1rem 1rem;
}

.social-media ul {
  display: flex;
  justify-content: space-between;
  min-width: 175px;
}

.social-media-link img {
  width: 30px;
  height: 30px;
}

.adj-nav ul {
  display: flex;
  justify-content: flex-end;
  gap: 1em;

  img {
    width: 15px;
    margin-right: 3px;
    object-fit: cover;
  }

  a {
    text-decoration: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px;
  }

  a:hover {
    text-decoration: underline;
  }
}

footer nav a {
  font-size: 1rem;
  font-weight: 700;
}

footer nav a:hover {
  text-decoration: none;
}

footer > .footer-application-number {
  opacity: 0.25;
  padding-bottom: var(--gap-horizontal-50);
}

.menu-group > .dropdown-menu:first-of-type {
  margin-bottom: 2em;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  footer > .layout-container > .institution-info {
    max-width: var(--column-width-3);
    width: 100%;
  }

  footer > .layout-container > .routing-links {
    max-width: var(--column-width-4);
    width: 100%;
  }

  footer > .layout-container > .euo-ncua {
    max-width: var(--column-width-2);
    width: 100%;
  }

  .img-eho {
    width: 40px;
  }

  .img-ncua {
    height: 40px;
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  footer > .layout-container.flex-row.flex-row.flex-space-between {
    justify-content: flex-start;
  }

  footer > .layout-container > .institution-info {
    max-width: var(--column-width-3);
    width: 100%;
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  footer > .layout-container.flex-row.flex-row.flex-space-between {
    flex-direction: column;
  }

  footer > .layout-container > .institution-info,
  footer > .layout-container > .routing-links,
  footer > .layout-container > .euo-ncua {
    max-width: var(--column-width-4);
    width: 100%;
  }

  .ecu-ncua-container.flex-row.flex-align-horizontal-center {
    justify-content: flex-start;
  }

  .euo-ncua center {
    text-align: left;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .ecu-ncua-container.flex-row,
  .routing-links .flex-row,
  .institution-info .flex-row {
    flex-direction: row;
  }

  .footer-menu > ul {
    flex-direction: column;
  }

  .social-media ul {
    justify-content: space-evenly;
  }

  .apps,
  .footer-menu > ul {
    align-items: center;
  }

  footer {
    text-align: center;
    padding-top: 2rem;
  }

  .apps {
    margin-bottom: 2em;
  }

  .adj-nav ul {
    /* flex-direction: column; */
  }

  .ncua-eho {
    flex-direction: column;
    align-items: center;
  }
}

/*
    4. Page General Containers
*/

.page-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: stretch;
  gap: var(--gap-vertical-150);
  max-width: var(--column-width-9);
  width: 100vw;
  flex-grow: 1;
  flex-basis: 0;
  align-self: stretch;
}

.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%;
  padding: 0 var(--gap-horizontal);
}

.section-container,
.fiviPanel.section-container {
  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%;
  padding: 0 var(--gap-horizontal);
  flex-grow: 1;
}

.error-container {
  height: fit-content;
}

.section-header:after {
  content: "";
  display: block;
  width: var(--column-width-2);
  height: 2px;
  background-color: var(--color-primary-normal);
  align-self: flex-start;
  margin-top: var(--gap-vertical-25);
}

.page-navigation-container {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  gap: var(--gap-horizontal);
  /* position: absolute; */
  bottom: 0;
  left: 0;
  padding: var(--gap-vertical) var(--gap-horizontal) 0 var(--gap-horizontal);
  border-top: 0.5px solid var(--color-primary-dark);
  margin-top: auto;
}

.navigation-forward-container,
.navigation-other-container {
  display: flex;
  flex-direction: column;
  /* gap: var(--gap-vertical-25); */
  gap: var(--gap-vertical-50);
  align-items: flex-start;
}

.navigation-forward-container {
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
}

.navigation-forward-container .button-link {
  text-align: center;
}

.fivi-input-width {
  max-width: var(--fiviInput-width);
}

.fivi-two-input-container {
  max-width: var(--fiviInput-width);
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .page-container {
    max-width: var(--column-width-10);
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .header-container,
  .section-container {
    min-width: 0;
  }

  .navigation-other-container .button-link {
    text-align: center;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .page-navigation-container {
    flex-direction: column;
    align-items: center;
  }

  .page-ApplicantEligibility .section-container span {
  }

  .page-container {
    flex-wrap: nowrap; /* Global CSS Confligt */
  }
}

/*
    5.1 Button Containers
*/

.add-another-list-container {
  display: flex;
  max-width: 100%;
  width: 100%;
  gap: var(--gap-horizontal-25);
  justify-content: space-between;
  & > .vertical-divider {
    display: none;
  }
}

.add-another-list-container > div:has(> .fiviIndividualButton) {
  justify-content: center;
  align-items: center;
}

.add-another-individual-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: var(--fiviInput-width);
}

.fiviLinkButton,
.fiviIndividualIncomeRemoveButtonContainer button {
  padding: var(--gap-vertical-25) var(--gap-horizontal-150) !important;
  background-color: var(--color-primary-normal);
  border: 2px solid var(--color-primary-normal) !important;
  border-radius: 35px;
  color: white;
  text-wrap: nowrap;
  font-size: inherit;
}

.fiviLinkButton:hover,
.fiviIndividualIncomeRemoveButtonContainer button:hover {
  background-color: white;
  border: 2px solid var(--color-primary-normal);
  color: var(--color-primary-normal);
  text-decoration: none !important;
}

@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);
  }
}

@media (max-device-width: 836px), (max-width: 836px) {
  .add-another-list-container {
    & > .vertical-divider {
      height: 100%;
      width: auto;
      border-top: 0.5px solid var(--border-color);
    }
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .add-another-list-container {
    flex-direction: column;
    gap: var(--gap-horizontal-200);
    & > .vertical-divider {
      display: none;
    }
  }

  .add-another-list-container > div {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    align-items: center;
    & > * {
      text-align: center;
    }
    & .fiviIndividualHyperlinkList > ul {
      align-items: center;
    }
  }
}

/*
    6. Accordions
*/

#accordion {
  display: flex;
  flex-direction: column;
  max-width: var(--column-width-12);
  width: 100%;
  gap: var(--gap-vertical);
}

.product-service-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-primary-light);
  border-radius: 5px;
  width: 100%;
  /* padding: var(--gap-vertical) var(--gap-horizontal); */
  gap: var(--gap-vertical);
  background-color: var(--color-primary-light);
}

.product-service-heading {
  display: flex;
  justify-content: flex-start;
  gap: var(--gap-horizontal-25);
  padding: var(--gap-vertical) var(--gap-horizontal) 0 var(--gap-horizontal);
  align-items: center;
  width: 100vw;
  max-width: 100%;
  font-size: var(--font-size-h3);
  line-height: var(--font-size-h3);
  cursor: pointer;
  transition: padding-left 0.35s ease-in-out;
}

.product-service-container > .page-text {
  padding: 0 var(--gap-horizontal);
}

.product-service-heading:not(.force-accordion-expand):before {
  content: "\2B9E";
  transition: transform 0.35s ease-in-out;
  font-family: Arial, Helvetica, sans-serif;
}

.product-service-content {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-75);
  border: none;
  border-radius: 5px;
  height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 var(--gap-horizontal);
  transition: all 0.35s ease-in-out;
}

.product-service-container:has(> .force-accordion-expand) > .product-service-content {
  height: auto;
  opacity: 1;
}

.product-service-container-expanded {
  outline: none;
  & > .product-service-heading:before {
    transform: rotate(90deg);
  }
  & > .product-service-content {
    opacity: 1;
    padding-bottom: var(--gap-vertical);
  }
}

/*
    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
*/

/*
    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: var(--gap-vertical-50) 0;
}

.fiviMultiSeperator::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  max-width: calc(var(--fiviInput-width) * 2 + var(--column-spacer));
  background-color: var(--border-color);
}

.divider {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 1px;
}

.divider::before {
  content: "";
  display: block;
  width: var(--column-width-3);
  height: 1px;
  background-color: var(--color-gray-dark);
}

/*
    7.8 Loader
*/

.section-container > .loader {
  position: relative;
  left: unset;
  right: unset;
  top: unset;
  margin: 0 auto;
}

/*
	7.9 Popover
*/

.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: 0;
  margin-top: var(--gap-vertical-25);
}

/*
    8. fiVISION Controls
*/

/*
    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 {
}

.fiviBtnContainer .fiviBtnLabel {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
}

.button-primary {
  min-width: var(--column-width-2);
  width: fit-content !important;
  margin: 0;
  padding: var(--gap-vertical-25) var(--gap-horizontal-200);
  background-color: var(--color-primary-normal);
  color: white;
  border: 2px solid var(--color-primary-normal);
  border-radius: 35px;
  font-size: 15px;
  line-height: 18px;
  font-weight: 500;
  box-shadow: none;
  transition-duration: 500ms;
  transition-property: border-radius, color, background-color;
  text-decoration: none;

  &:visited {
    color: white;
  }
  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    /* border-radius: var(--gap-horizontal);
		text-decoration: none;
		color: white; */

    cursor: pointer;
    box-shadow: 0 0.1875rem 0.625rem 0 rgba(227, 27, 35, 0.75);
    transition: all 0.2s;
    transform: scale(1.01);
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-other {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: var(--fiviInput-width);
  min-width: var(--fiviInput-width-half);
  width: fit-content !important;
  margin: 0;
  padding: var(--gap-vertical-50) var(--gap-horizontal-150);
  background-color: var(--color-primary-normal);
  color: var(--color-primary-background);
  border: 2px solid var(--color-primary-normal);
  border-radius: 35px;
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
  box-shadow: none;
  transition-duration: 500ms;
  transition-property: color, background-color;
  height: var(--input-height);
  cursor: pointer;
  text-shadow: none;

  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    background-color: var(--color-primary-background);
    color: var(--color-primary-normal);
    box-shadow: none;
    text-decoration: none;
    text-shadow: none;
    border: 2px solid var(--color-primary-normal);
    outline: none;
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-link,
.button-link-alt {
  min-width: var(--column-width-2);
  text-align: left;
  background-color: transparent;
  border: 2px solid transparent;
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
  height: 34px;
  color: var(--color-primary-normal);
  text-decoration: underline;
  width: fit-content !important;
  cursor: pointer;
  transition-duration: 500ms;
  transition-property: color, background-color;
  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    text-decoration: none;
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-primary + .fiviBtnLabel,
.button-other + .fiviBtnLabel,
.button-link + .fiviBtnLabel,
.button-link-alt + .fiviBtnLabel {
  cursor: none;
  opacity: 0.5;
}

.fiviControlActionsContainer,
.fiviBtnContainer {
  button {
    border: none;
  }
}

.back-button {
  border: 2px solid var(--color-primary-normal) !important;
  border-radius: 35px;
  width: fit-content !important;
  text-align: center;
  padding: var(--gap-vertical-25) var(--gap-horizontal-200);
  background-color: inherit;
  color: var(--color-primary-normal);
  font-weight: 500;
  &:hover {
    background-color: var(--color-primary-normal);
    color: white;
  }
}

/*
	fiVISION_IndividualCommandButtonV2
*/

.fiviIndividualButton > label {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
}

/*
	fiVISION_CheckBox
*/

.fiviControl.fiviCheckBox,
.fiviCheckBox {
  display: flex;
  position: relative;
  gap: var(--gap-horizontal-50);
  align-items: center;
  width: 100%;
  max-width: fit-content;
  padding: 0;
  margin: 0;
}

input.DefaultCBControlClassV3 {
  display: none;
}

label.DefaultCBLabelClass {
  display: flex;
  height: auto;
  min-height: var(--column-spacer);
  align-items: center;
  gap: var(--gap-horizontal-50);
  font-weight: 500;
  font-size: var(--font-size-label);
  line-height: var(--font-lineheight-input);
  cursor: pointer;
  &:before {
    content: " ";
    margin: 0;
    min-width: calc(var(--column-spacer) * 2);
    border-radius: 40px;
    height: var(--column-spacer);
    position: relative;
    cursor: pointer;
    background-color: #cfcfcf;
    transition-duration: 500ms;
    max-width: calc(var(--column-spacer) * 2);
  }
  &:after {
    content: "";
    position: absolute;
    background-color: var(--color-primary-light);
    cursor: pointer;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 0.5px solid var(--color-primary-light);
    transition-duration: 500ms;
    left: 4px;
  }
}

input.DefaultCBControlClassV3:checked + label.DefaultCBLabelClass:before {
  background-color: #8cc63f;
}

input.DefaultCBControlClassV3:checked + label.DefaultCBLabelClass:after {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-light);
  left: var(--column-spacer);
}

input.DefaultCBControlClassV3:disabled + label.DefaultCBLabelClass {
  cursor: not-allowed;
  &:before {
    cursor: not-allowed;
  }
  &:after {
    cursor: not-allowed;
  }
}

label.checkbox-label {
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
}

/*
	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 {
  display: none;
}

input.DefaultRBControlClassV3 + label {
  display: flex;
  height: var(--column-spacer);
  align-items: center;
  gap: var(--gap-horizontal-50);
  font-weight: 500;
  font-size: var(--font-size-label);
  line-height: var(--font-lineheight-input);
  cursor: pointer;

  &:before {
    content: " ";
    margin-left: 0;
    min-width: 15px;
    border-radius: 40px;
    height: calc(var(--column-spacer) - 4px);
    position: relative;
    cursor: pointer;
    background-color: #cfcfcf;
    transition-duration: 500ms;
    max-width: 15px;
    display: block;
    padding: 4px 25px 0px 8px;
  }
  &:after {
    content: "";
    position: absolute;
    background-color: var(--color-primary-light);
    cursor: pointer;
    left: 4px;
    /* width: var(--column-spacer);
		height: var(--column-spacer); */
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 0.5px solid var(--color-primary-light);
    transition-duration: 500ms;
  }
}

.page-ApplicantEligibility input.DefaultRBControlClassV3 + label {
  height: inherit;
}

input.DefaultRBControlClassV3:checked + label:before,
input.DefaultRBControlClassV3:checked + label:before {
  background-color: #8cc63f;
}

input.DefaultRBControlClassV3:checked + label:after {
  background-color: var(--color-primary-background);
  border-color: var(--color-primary-background);
  left: var(--column-spacer);
}

input.DefaultRBControlClassV3:disabled + label {
  cursor: not-allowed;
  &:before {
    cursor: not-allowed;
    content: url("/_assets/layoutcontent/20054/oar/lock-closed.svg");
  }
  &:after {
    cursor: not-allowed;
  }
}

/*
	fiVISION_TextBoxV2
*/

.fiviControl.fiviTextBox {
  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.fiviTextBox {
  max-width: var(--fiviInput-width-half);
}

input.form-control,
select.form-control {
  display: flex;
  align-items: center;
  width: 100% !important;
  height: var(--input-height);
  padding: 0px 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: 1px solid var(--border-color) !important;
  border-radius: 8px;
  background-color: white !important;

  &:focus,
  &:active,
  &:hover {
    border: 2px solid var(--border-color-focus) !important;
    box-shadow: none;
    color: var(--font-color-label-focus);
  }
  &:disabled {
    cursor: not-allowed;
    background-color: #eee !important;
  }
}

.fiviControl.fiviTextBox .fiviLabelContainer {
  display: flex;
  position: absolute;
  height: 100%;
  width: 100%;
  pointer-events: none;
}

.fiviControl.fiviTextBox 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.2s ease-in-out;
  pointer-events: none;
}

.fiviControl.fiviTextBox label.FocusLabelClass {
  height: var(--input-focusLabel-fontSize);
  font-size: var(--input-focusLabel-fontSize);
  top: 0 !important; /* global.css conflict */
  left: 0;
  font-weight: 500;
  text-wrap: nowrap;
}

.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-light) !important;
    border-radius: 8px;
    background-color: var(--background-input-color) !important;
    cursor: not-allowed;
    pointer-events: all;
  }
  & .fiviValueLabel {
    cursor: not-allowed;
    pointer-events: all;
  }
}

.fiviControl.fiviTextBox .fiviWriteOnlyEditButton {
  position: absolute;
  top: -2px;
  right: 0px;
  font-size: calc(var(--font-size) - 2px);
  font-weight: 600;
  color: var(--color-secondary-dark);
  text-transform: uppercase;
  border: 0.5px solid var(--color-secondary-dark);
  border-radius: 5px;
  background-color: transparent;
  &:active,
  &:hover,
  &:focus {
    text-decoration: underline;
    border-color: transparent;
  }
}

.fiviControl.fiviTextBox > .fiviCheckBox {
  position: absolute;
  right: 10px;
  top: calc(var(--input-marginTop-forLabelFocusSpace) + 14px);
  & > label {
    font-size: calc(var(--font-size-label) - 2px);
    line-height: var(--font-lineheight);
    &:after {
      display: none;
    }
    &:before {
      content: "SHOW";
      text-align: center;
      background-color: transparent;
      color: var(--color-primary-dark);
      font-weight: 600;
      letter-spacing: 0.75;
    }
    &:hover:before {
      color: var(--color-link-hover);
      text-decoration: underline;
    }
  }
  & input:checked + label:before {
    content: "HIDE";
    background-color: transparent;
  }
}

.fiviControl.fiviTextBox:has(> span[style="display: none;"].fiviBtnContainer:has(button.fiviWriteOnlyEditButton)) > .fiviCheckBox {
  display: flex;
}

.fiviControl.fiviTextBox:has(input:disabled) {
  & > .fiviLabelContainer > label {
    height: var(--input-focusLabel-fontSize);
    font-size: var(--input-focusLabel-fontSize);
    top: 0 !important;
    left: 0;
    font-weight: 500;
  }
  & > .fiviCheckBox {
    display: none;
  }
}

.fiviControl.fiviTextBox .DefaultTooltipClass {
  right: var(--gap-horizontal-25);
  top: calc(var(--input-marginTop-forLabelFocusSpace) + 14px);
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fivi-two-input-container .fiviControl.fiviTextBox {
    max-width: var(--fiviInput-width);
  }
}

/*
	textbox as camera
*/

.fiviTextBox:has(label.MobileScanButton) {
  width: fit-content !important;
}

.fiviTextBox label.MobileScanButton {
  min-height: var(--gap-vertical-200);
  height: 100%;
}

/*
	fiVISION_DropDownV2
*/

.fiviControl.fiviDropDown {
  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);
  color: var(--font-color-input);
  font-weight: 500;
  top: 0 !important; /* global.css conflict */
  left: 0;
  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 !important;
  &:active,
  &:focus,
  &:hover {
    color: var(--font-color) !important;
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fivi-two-input-container .fiviControl.fiviDropDown {
    max-width: var(--fiviInput-width);
  }
}

/*
	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: 656px), all and (max-width: 656px) {
  .fivi-two-input-container .fiviControl.fiviDropDown {
    max-width: var(--fiviInput-width);
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fivi-two-input-container .fiviMoneyTextBox > .fiviTextBox {
    max-width: var(--fiviInput-width);
  }
}

/* 
	fiVISION_TruStage (V3)
*/

.TruStageProductPanel {
  padding: var(--gap-horizontal);
  font-size: var(--font-size);
  line-height: var(--font-lineheight);
  font-weight: var(--font-weight);
  color: var(--font-color);
  width: 100%;
}

.TruStageOfferPanel {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal-25);
}

.TruStageProductName {
  font-size: calc(var(--font-size-label) + 4px);
  font-weight: 400;
  height: auto;
}

.TruStageInsuranceProductName {
  font-size: calc(var(--font-size-label) + 2px);
  font-weight: 400;
}

.TruStageLoanProductAnswerClass {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
}

/*
	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;
}

.fiviDateTextBox:has(.fiviValueLabelContainer) {
}

/*
	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);
    color: var(--font-color-input);
    top: 0 !important; /* global.css conflict */
    left: 0;
    font-weight: 500;
    /* text-transform: uppercase; */
  }
  & > .fiviLabelContainer {
    position: absolute;
    height: 100%;
    width: 100%;
  }
}

.fiviYearMonthInputContainer {
  display: flex;
  gap: var(--column-spacer);
  width: 100vw;
  max-width: var(--fiviInput-width);
}

.fiviYearMonthInputContainer .fiviInput {
  width: 100vw;
  max-width: var(--fiviInput-width-half);
  & > .fiviTextBox {
    max-width: 100%;
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fiviYearMonthInputContainer,
  .fiviYearMonth {
    max-width: 100%;
  }

  .fiviYearMonthInputContainer .fiviInput {
    max-width: var(--fiviInput-width);
  }
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviYearMonthInputContainer,
  .fiviYearMonth {
    max-width: var(--fiviInput-width);
  }

  .fiviYearMonthInputContainer .fiviInput {
    max-width: var(--fiviInput-width-half);
  }
}

/*
	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: 808px), all and (max-width: 808px) {
  /*applicant determined*/
  .fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
    max-width: 100%;
    & > .fiviTextBox {
      max-width: var(--fiviInput-width);
    }
  }
}

@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: 628px), all and (max-width: 628px) {
  /*applicant determined*/
  .fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
    max-width: var(--fiviInput-width);
    & > .fiviTextBox {
      max-width: var(--fiviInput-width-half);
    }
  }
}

@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
*/

.error-container,
.fiviErrorSummary {
  display: none;
}

.fiviErrorSummary:has(div) {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
  width: 100vw;
  max-width: 100%;
}

.error-container:has(> .fiviErrorSummary > div) {
  display: block;
  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(--gap-vertical-75);
  width: 100%;
}

.address-container .fiviTextBox {
  padding-bottom: 22px;
  & > .fiviPopover {
    position: absolute !important;
    bottom: 0 !important;
  }
}

.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(--gap-horizontal-50));
  position: absolute;
  top: calc(var(--font-lineheight) * -0.1);
  right: 0;
  & > label {
    text-wrap: nowrap;
    white-space: nowrap;
  }
}

.fiviAddressControl .fiviCheckbox label {
  font-size: calc(var(--font-size-label) - 2px);
  line-height: var(--font-lineheight);
}

.fiviAddressValidation {
  margin-top: calc(var(--gap-vertical-50) * -1);
}

@media all and (max-device-width: 810px), all and (max-width: 810px) {
  .fiviAddressControl .fiviCheckbox {
    right: calc(var(--gap-horizontal) * -2);
    max-width: calc(calc(var(--fiviInput-width) / 2) + var(--gap-horizontal));
    & > label {
      text-wrap: wrap;
      white-space: wrap;
    }
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fiviAddressControl .fiviCheckbox {
    max-width: calc(calc(var(--fiviInput-width) / 2) + var(--gap-horizontal-50));
    right: calc(var(--gap-horizontal) * -1);
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviAddressControl .fiviCheckbox {
    top: 0;
    right: unset;
    position: relative;
    max-width: 100%;
  }
}

/*
	fiVISION_ProveIndividualLookup
*/

.fiviProve,
.fiviProve > div:not(.prove-direction-buttons) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap-vertical);
  width: 100%;
}

.fiviProve input::placeholder {
  color: transparent;
}

.fiviProve .fiviPhoneControl,
.fiviProve .fiviControl {
  max-width: 100%;
}

.prove-direction-buttons {
  gap: var(--gap-horizontal);
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  margin-top: var(--gap-vertical);
  align-items: center;
  border-top: 0.5px solid var(--border-color);
  padding: var(--gap-vertical) var(--gap-horizontal);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
  max-width: 100%;
}

.existing-user-img-container {
  display: flex;
  justify-content: center;
  align-items: center;

  img {
    max-width: 75%;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .prove-direction-buttons {
    flex-direction: column;
    & .button-link {
      text-align: center;
    }
  }

  .prove-existing > .fiviControl {
    justify-content: center;
  }

  .prove-existing {
    margin-bottom: 4em !important;
  }
}

/*
	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: 656px), all and (max-width: 656px) {
  .fiviIdType > .fiviDateTextBox {
    max-width: var(--fiviInput-width);
    & > .fiviTextBox {
      max-width: 100%;
    }
  }
}

/*
	fiVISION_EmploymentHistory
*/

.fiviEmploymentHistory {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical) var(--fiviInput-horizontal-spacing);
  width: 100vw;
  max-width: 100%;
}

.fiviEmpHistLblContainer label {
  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%;
  /* margin-top: -12px; */
  & > .fiviMultiInput {
    display: flex;
    gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
    flex-wrap: wrap;
    width: 100vw;
    max-width: 100%;
    & > div {
      max-width: 100%;
    }
  }
}

.fiviEmpHistIncomeContainer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-vertical) var(--fiviInput-horizontal-spacing);
}

.fiviEmploymentHistory .fiviRemoveBtn {
  order: 2;
}

.fiviEmploymentHistory .fiviRemoveBtn:not(:has(> button)) {
  display: none;
}

.fiviEmploymentHistory .fiviRemoveBtn > button:before {
  content: "Remove Prior Employer";
}

.fiviEmpHistBtnContainer,
.fiviEmploymentHistory .fiviRemoveBtn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100vw;
  max-width: 100%;
}

.fiviEmploymentHistory .fiviRemoveBtn {
  justify-content: flex-start;
  order: 2;
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviEmpHistBtnContainer,
  .fiviEmploymentHistory .fiviRemoveBtn {
    justify-content: center;
    max-width: var(--fiviInput-width);
  }
}

/*
	fiVISION_IndividualIncome
*/

.fiviIndividualIncome {
  display: flex;
  flex-direction: column;
  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: 100%;
  & > .fiviMoneyTextBox,
  & > .fiviControl.fiviDropDown {
    max-width: var(--fiviInput-width);
    & > .fiviTextBox {
      max-width: 100%;
    }
  }
}

.fiviIndividualIncome > .fiviBtnContainer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100vw;
  max-width: 100%;
  margin-top: var(--gap-vertical-25);
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviIndividualIncome > .fiviBtnContainer {
    justify-content: center;
    max-width: var(--fiviInput-width);
  }
}

/*
	fiVISION_IndividualDetails
*/

.fiviIndividualDetails {
  width: 100vw;
  max-width: 100%;
}

.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: 500;
  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: 500;
}

.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;
  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;
  & > li > b {
    font-weight: 500;
  }
}

.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;
}

/*
	fiVISION_ProductsAndServicesV2
*/

.fiviProductServices {
  padding-bottom: var(--gap-vertical);
}

.certificate-deposit-products .fiviProductServices {
  padding-bottom: 0;
}

.fiviProductServices,
.product-services-default-mode-container {
  display: flex !important; /* global.css conflict */
  flex-direction: column !important; /* global.css conflict */
  gap: var(--gap-horizontal);
  width: 100vw;
  max-width: 100%;
  height: 100%;
}

.fiviProdGroup,
.fiviServGroup {
  display: flex;
  flex-direction: column;
  max-width: var(--column-width-12);
  width: 100%;
}

.fiviProductServices > div div {
  padding: 0 !important; /* global.css conflict */
}

.fiviProductServices .fiviProdServ:not(.fiviProductServicesFilterBar) {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: var(--gap-vertical-50);
  max-width: 100%;
  width: 100vw;
  /* min-height: 100px; */
  padding: 0 !important; /* global.css conflict */
  position: relative;
  background: white;
  border-radius: 3px;
  box-shadow: none;
  background-color: transparent;
}

.fiviProductServices .fiviProdServ:not(:last-child),
.product-service-content[productgroup="certificate"] .fiviProductServices .fiviProdServ:last-child {
  padding-bottom: var(--gap-vertical) !important;
  /* border-bottom: 1px solid var(--color-primary-dark); */
}

.fiviProductServices .fiviProdServ > .fiviRadioButton .fiviCheckBox,
.fiviProductServiceDisplay > .fiviRadioButton .fiviCheckBox {
  flex-direction: row;
  justify-content: flex-start;
  width: 100vw;
  max-width: 100%;
  & > label {
    width: fit-content;
    height: auto;
    order: 0;
  }
  & > .DefaultTooltipClass {
    position: relative;
    order: 1;
  }
  & > input {
    order: 2;
    margin-left: auto;
  }
}

.fiviProductServices .fiviProdServ > .fiviRadioButton .fiviCheckBox {
  & > label {
    font-size: calc(var(--font-size-label) + 4px);
    font-weight: 400;
    height: auto;
  }
}

.fiviProductServiceDisplay > .fiviRadioButton .fiviCheckBox {
  & > label {
    font-size: calc(var(--font-size-label) + 2px);
    font-weight: 400;
  }
}

.fiviProductAdditionalOptions {
  display: flex;
  flex-wrap: wrap;
  width: 100vw;
  max-width: 100%;
  & > .fiviTextBox,
  & > .fiviNumericTextBox {
    width: 100vw;
    max-width: var(--fiviInput-width);
  }
}

.fiviProductMoreInfo {
  display: none;
  width: 100vw;
  max-width: 100%;
  margin: 0;
  line-height: var(--font-lineheight);
}

.fiviProductMoreInfo:has(> span > a),
.fiviProductMoreInfo:has(> span > div > *) {
  display: flex;
}

.fiviProductServices div.fiviProductAdditionalOptions {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical) var(--gap-horizontal-50);
}

.fiviProductServices > div div.fiviProdServGroup {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  width: 100vw;
  max-width: 100%;
  padding: var(--gap-vertical-50) var(--gap-vertical) var(--gap-vertical-50) var(--gap-vertical) !important;
}

.fiviProductServiceDisplay {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
  width: 100vw;
  max-width: 100%;
}

.fiviProductServiceMoreInfo {
  display: none;
}

.fiviProductServiceMoreInfo:has(> span > a),
.fiviProductServiceMoreInfo:has(> span > div > *) {
  display: flex;
}

.fiviProdServ.fiviProductServicesFilterBar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  border-bottom: none;
  padding-bottom: var(--gap-vertical) !important;
  & input.form-control,
  & select.form-control {
    background-color: white !important;
  }
  & .fiviCheckbox {
    padding-top: var(--input-marginTop-forLabelFocusSpace);
    justify-self: flex-end;
  }
  & > .fiviControl {
    width: 100vw;
    max-width: var(--fiviInput-width);
  }
}

.fiviProductServices > div div.fiviProductAddAnotherContainer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100vw;
  max-width: 100%;
  order: 2;
  padding-top: var(--gap-vertical-50) !important;
}

/*
	fiVISION_IndividualHyperlinkList
*/

.fiviIndividualHyperlinkList {
  width: 100vw;
  max-width: 100%;
  & > ul {
    margin: 0;
    padding-left: var(--gap-vertical-50);
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-25);
    & > li {
      margin: 0;
      display: flex;
      gap: var(--gap-horizontal-25);
    }
  }
  & button {
    border: none;
    padding: 0;
    &:hover {
      text-decoration: underline;
    }
  }
}

/*
	fiVISION_ProgressBar
*/

.progress-container-header {
  display: block;
  width: 100%;
  position: relative;
  width: 100%;
}

.fiviProgressBar img {
  display: none;
}

main:has(.hide-all-progress-bars) {
  & .progress-container-header,
  & .progress-container,
  & .progress-container-main {
    display: none;
  }
}

/*
	controlid="pbJourneyBarHeader"
*/

.fiviProgressBar:has(> #pbJourneyBarHeader) {
  display: none;
}

@media (max-device-width: 1106px), (max-width: 1106px) {
  .fiviProgressBar:has(> #pbJourneyBarHeader) {
    display: flex;
  }
}

#pbJourneyBarHeader {
  width: 100vw;
  max-width: 100%;
}

#pbJourneyBarHeader table {
  display: flex;
  justify-content: stretch;
  align-items: flex-start;
  width: 100vw;
  max-width: 100%;
  padding: var(--gap-vertical-25) var(--gap-horizontal) var(--gap-vertical-75) var(--gap-horizontal);
  margin-bottom: 0;
}

#pbJourneyBarHeader tr {
  display: flex;
  width: 100%;
}

#pbJourneyBarHeader tr > td.journey-bar-group {
  display: none;
  width: 100%;
  align-items: center;
  padding: 0;
  border-top: none;
  & > span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  & .hidden-xs.hidden-sm {
    font-size: 22px;
    font-weight: var(--font-weight-h1);
    color: var(--color-primary-normal);
    width: 100%;
    display: flex !important;
    align-items: center;
    order: -1;
  }
  & > span:before {
    content: "1";
    display: block;
    font-size: 20px;
    font-weight: 800;
    font-family: var(--font-family-alt);
    color: var(--color-primary-normal);
  }
  & > span:after {
    content: "/5";
    display: block;
    font-size: 20px;
    font-family: var(--font-family-alt);
    color: #8d93b2;
    width: 21px;
  }
  &:after {
    content: "";
    display: block;
    border: 2px solid #8d93b280;
    border-radius: 50%;
    position: absolute;
    right: calc(var(--gap-horizontal) + -7px);
    width: 40px;
    height: 40px;
  }
}

#pbJourneyBarHeader tr > td.journey-bar-group.current-group {
  display: flex;
}

#pbJourneyBarHeader tr > td:nth-of-type(1) > span:before {
  content: "1";
}

#pbJourneyBarHeader tr > td:nth-of-type(2) > span:before {
  content: "2";
}

#pbJourneyBarHeader tr > td:nth-of-type(3) > span:before {
  content: "3";
}

#pbJourneyBarHeader tr > td:nth-of-type(4) > span:before {
  content: "4";
}

#pbJourneyBarHeader tr > td:nth-of-type(5) > span:before {
  content: "5";
}

/*
	controlid="progBar"
*/

.fiviProgressBar:has(> #progBar) {
  width: 100vw;
  max-width: 100%;
  display: flex;
  border-bottom: 2px solid var(--color-primary-light);
  background-color: transparent;
}

#progBar {
  width: 100vw;
  max-width: 100%;
  & > .progress-bar-text {
    display: none;
  }
  & > .progress-bar-outer {
    display: none;
    background-color: transparent;
  }
}

#progBar .progress-bar-inner {
  height: 3px;
  background-color: var(--color-primary-normal);
}

@media (max-device-width: 1106px), (max-width: 1106px) {
  #progBar > .progress-bar-outer {
    display: block;
  }
}

/*
	controlid="pbJourneyBar"
*/

.progress-container {
  display: flex;
  align-self: stretch;
  width: 100%;
}

@media (max-device-width: 1106px), (max-width: 1106px) {
  .progress-container {
    display: none;
  }
}

.fiviProgressBar:has(> #pbJourneyBar) {
  /* width: 100vw; */
  /* max-width: 100%; */
}

#pbJourneyBar {
  display: flex;
  background-color: var(--color-secondary-normal);
  width: var(--column-width-3);
  & > table {
    margin-bottom: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    width: 100%;
    padding: calc(var(--gap-horizontal-150) - 5px);
    background-color: var(--color-primary-background);
    align-self: stretch;
  }
  & tr {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-200);
  }
}

#pbJourneyBar tr > td {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--gap-vertical-25);
  min-width: var(--column-width);
}

#pbJourneyBar tr > td > span {
  /* font-size: calc(var(--font-size) - 2px); */
  font-size: var(--font-size);
  color: var(--color-primary-dark);
}

#pbJourneyBar tr > td:before {
  display: block;
  content: "";
  position: relative;
  font-size: calc(var(--font-size) - 2px);
  color: var(--color-primary-dark);
}

#pbJourneyBar tr > td:after {
  display: block;
  content: "";
  width: 100%;
  font-size: calc(var(--font-size) - 2px);
  color: var(--color-primary-dark);
}

#pbJourneyBar tr > td.current-group > span,
#pbJourneyBar tr > td.current-group:before {
  color: var(--color-primary-normal);
  font-weight: 700;
}

#pbJourneyBar tr > td.current-group:after {
  color: var(--color-primary-dark);
}

#pbJourneyBar tr > td:nth-of-type(1):before {
  content: "1.";
}

#pbJourneyBar tr > td:nth-of-type(1):after {
  content: "Share some info to get us started.";
}

#pbJourneyBar tr > td:nth-of-type(2):before {
  content: "2.";
}

#pbJourneyBar tr > td:nth-of-type(2):after {
  content: "Review and select your choices.";
}

#pbJourneyBar tr > td:nth-of-type(3):before {
  content: "3.";
}

#pbJourneyBar tr > td:nth-of-type(3):after {
  content: "Add a bit more info to support your selection.";
}

#pbJourneyBar tr > td:nth-of-type(4):before {
  content: "4.";
}

#pbJourneyBar tr > td:nth-of-type(4):after {
  content: "Align your account with verification.";
}

#pbJourneyBar tr > td:nth-of-type(5):before {
  content: "5.";
}

#pbJourneyBar tr > td:nth-of-type(5):after {
  content: "Choose where your money will go.";
}

/*
	controlid="pbJourneyBarMain"
*/

.progress-container-main {
  width: 100%;
}

.progress-container-main > .fiviProgressBar:has(> #pbJourneyBarMain) {
  display: flex;
  width: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

@media (max-device-width: 1106px), (max-width: 1106px) {
  .progress-container-main > .fiviProgressBar:has(> #pbJourneyBarMain) {
    display: none;
  }
}

#pbJourneyBarMain {
  width: 100%;
}

#pbJourneyBarMain table {
  display: flex;
  justify-content: stretch;
  align-items: flex-start;
  width: 100%;
  padding: var(--gap-vertical) var(--gap-horizontal);
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-primary-dark);
}

#pbJourneyBarMain tr {
  display: flex;
  width: 100%;
}

#pbJourneyBarMain tr > td.journey-bar-group {
  display: none;
  width: 100%;
  align-items: center;
  padding: 0;
  border-top: none;
  & > span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;

    & > span {
      font-size: calc(var(--font-size-h1) + 2px);
      font-weight: var(--font-weight-h1);
      color: var(--color-primary-normal);
      order: -1;
      width: 100%;
      display: flex !important;
      align-items: center;
    }
  }
  & .hidden-xs.hidden-sm {
    font-size: 22px;
    font-weight: var(--font-weight-h1);
    color: var(--color-primary-normal);
    width: 100%;
    display: flex !important;
    align-items: center;
    order: -1;
  }
  & > span:before {
    content: "1";
    display: block;
    font-size: 20px;
    font-weight: 600;
    font-family: var(--font-family-alt);
    color: var(--color-primary-normal);
  }
  & > span:after {
    content: "/5";
    display: block;
    font-size: 20px;
    font-family: var(--font-family-alt);
    color: #8d93b2;
    width: 21px;
  }
  &:after {
    content: "";
    display: block;
    border: 3px solid var(--color-black-light);
    border-radius: 50%;
    position: absolute;
    right: calc(var(--gap-horizontal) + -5px);
    width: 40px;
    height: 40px;
  }
}

#pbJourneyBarMain tr > td.journey-bar-group.current-group {
  display: flex;
}

#pbJourneyBarMain tr > td:nth-of-type(1) > span:before {
  content: "1";
}

#pbJourneyBarMain tr > td:nth-of-type(2) > span:before {
  content: "2";
}

#pbJourneyBarMain tr > td:nth-of-type(3) > span:before {
  content: "3";
}

#pbJourneyBarMain tr > td:nth-of-type(4) > span:before {
  content: "4";
}

#pbJourneyBarMain tr > td:nth-of-type(5) > span:before {
  content: "5";
}

/*
	fiVISION_DocumentListV2
*/

.fiviDocumentList,
.page-RequiredDocuments .fiviDocumentList > span {
  max-width: var(--column-width-10);
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  gap: var(--gap-vertical-75);
}

.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) 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 {
  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);
}

.fiviDocumentList .ng-modal-dialog {
  left: 0;
  width: var(--column-width-6) !important;
}

.fiviDocumentList .ng-modal-dialog-content {
  padding: var(--column-spacer);
}

.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;
}

.fiviDocumentList .ModalContent > div > .modal-header .close {
  font-size: var(--font-size-h1);
  color: var(--color-black-dark);
  opacity: 1;
}

.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 {
  font-size: var(--font-size);
  color: var(--font-color);
  line-height: var(--font-lineheight);
}

.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);
  }
  & .DisclosureLinkV3 {
    color: var(--color-primary-normal);
    text-decoration: none;
    font-size: calc(var(--font-size) + 2px);
  }
}

.fiviDisclosuresModal {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  padding: var(--gap-vertical);
  box-shadow: none;
  & > div:first-of-type {
    font-size: var(--font-size-h2);
    color: var(--font-color-h2);
    font-weight: var(--font-weight-h2);
  }
  & > .fiviDisclosureModalButtonWrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}

.page-Disclosures .fiviControl {
  display: flex;
  flex-direction: column;
}

div:has(> .fiviDisclosuresModal[style=""]):after {
  position: fixed;
  content: "";
  display: block;
  background-color: black;
  opacity: 0.25;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 999;
}

/*
	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(--border-color);
  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;
  }
  & > label {
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-vertical-25) / 2);
  }
}

.fiviProductFundingItem > .fiviFundingInput > label::after {
  content: "funding optional";
  color: var(--color-primary-light);
  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 > label:has(+ .funding-required):after {
  content: "* funding required";
  color: var(--color-primary-dark);
}

.fiviFundingAmount {
  justify-content: space-between;
  padding-right: var(--gap-vertical);
  & > span {
    font-weight: 500;
  }
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviFundingInput {
    flex-direction: column;
    & > label {
      border-right: 0;
      text-align: center;
    }
  }
}

/*
	fiVISION_ACHFundingAccountVerification
*/

.fiviPlaid {
  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) var(--fiviInput-horizontal-spacing);
  width: 100vw;
  max-width: 100%;
  justify-content: center;
  & > .fiviControl.fiviInput {
    max-width: calc(50% - var(--fiviInput-horizontal-spacing));
  }
}

.fiviCCNameAddress *::placeholder {
  color: transparent;
}

.fiviCCNameAddress > span:nth-of-type(2) {
  display: none;
}

.fiviCCInfo {
  column-gap: 0;
  & > span:first-of-type {
    margin-right: var(--fiviInput-horizontal-spacing);
  }
}

.fiviCCInfo > span:first-of-type input::placeholder {
  color: transparent;
}

.fiviCCInfo > span:not(:first-of-type) {
  max-width: calc(calc(50% - var(--fiviInput-horizontal-spacing)) / 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;
  }
  &:before {
    content: "Card Expiration & CVV";
    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;
  }
  & .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;
  gap: var(--gap-vertical);
  width: 100vw;
  max-width: 100%;
  padding-bottom: calc(var(--gap-vertical) * 3.5);
}

.fiviOTPCode {
  padding-top: var(--gap-vertical-50);
}

.fiviOTPCode > .fiviLabelContainer > label {
  font-size: calc(var(--font-size) + 4px);
}

.fiviOTPButtonContainer {
  gap: var(--gap-horizontal);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: var(--gap-vertical);
  align-items: center;
  border-top: 0.5px solid var(--border-color);
  padding: var(--gap-vertical) var(--gap-horizontal);
  width: 100vw;
  max-width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviOTPDestination,
  .fiviOTPCode {
    padding-bottom: calc(var(--gap-vertical) * 7);
  }

  .fiviOTPButtonContainer {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: var(--gap-vertical-75);
    & .button-link {
      text-align: center;
    }
  }
}

.fiviIDAuthentication {
  width: 100vw;
  max-width: 100%;
  padding-bottom: calc(var(--gap-vertical) * 3.5);
}

.fiviIDAuthentication > 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);
    padding-bottom: var(--gap-vertical-50);
  }
}

.fiviIDAuthAnswerContainer {
  padding-left: var(--gap-horizontal-50);
}

.fiviIDAuthSubmitAnswerContainer {
  gap: var(--gap-horizontal);
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: var(--gap-vertical);
  align-items: center;
  border-top: 0.5px solid var(--border-color);
  padding: var(--gap-vertical) var(--gap-horizontal);
  width: 100vw;
  max-width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

/*
	6.34 fiVISION_PleaseWait
*/

.fiviPleaseWait > .overlay {
  background-color: black;
  opacity: 0.75;
}

.fiviPleaseWait > .loaderMessage {
  width: 100vw;
  max-width: 100%;
  text-align: center;
  left: 0;
  color: white;
  font-size: calc(var(--font-size) + 12px);
  line-height: calc(var(--font-lineheight) + 12px);
}

/*
    fiVISION_ACH
*/

.fiviACH {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  flex-wrap: wrap;
  width: 100%;
  & > .fiviTextBox,
  & > .fiviABATextBoxContainer {
    max-width: calc(var(--fiviInput-width) - calc(var(--gap-vertical) / 2));
    width: 100%;
    & > .fiviTextBox {
      max-width: 100%;
      width: 100vw;
    }
  }
  & > .fiviACHAccountTypeRBContainer {
    max-width: 100%;
    width: 100vw;
    display: flex;
    height: var(--input-height);
    gap: var(--gap-horizontal);
    align-items: cetner;
  }
}

.fiviFinicityFundingAccountVerificationContainer {
  display: flex;
  justify-content: center;
}

/*
    fiVISION_WithdrawApplication
*/

.fiviApplicantWithdrawContainer {
  width: 100vw;
  max-width: var(--fiviInput-width);
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
}

.fiviApplicantWithdrawContainer > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
}

/*
	6.35 Status Center 
	6.35.1 Global Overrides
*/

.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;
}

/*
	6.35.2 Status Center Login
*/

.fiviStatusCenterEmail {
  width: 100vw;
  max-width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

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;
  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
*/

.default-thumbnail-container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  width: 100%;
}

.page-Default-Content.page-container {
  margin-top: var(--gap-vertical);
  gap: var(--gap-vertical-200);
}

.page-Default-Content .header-container {
  gap: var(--gap-vertical);
}

.page-Default-Content .thumbnail {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 35px;
  border: 1px solid var(--color-primary-normal);
  box-shadow: none;
  position: relative;
  color: var(--color-primary-light);
  background-color: var(--color-primary-normal);
}

.page-Default-Content .button-link {
  font-weight: 600 !important;
}

.page-Default-Content .thumbnail:hover,
.page-Default-Content .thumbnail:active,
.page-Default-Content .thumbnail:focus {
  /* background-color: var(--color-white-dark); */
  cursor: pointer;
  box-shadow: 0 0.1875rem 0.625rem 0 rgba(227, 27, 35, 0.75);
  transition: all 0.2s;
  transform: scale(1.01);
  /* color: var(--color-primary-dark); */
}

.page-Default-Content button:hover,
.page-Default-Content input:hover {
  color: white !important;
}

.page-Default-Content .thumbnail button,
.page-Default-Content .thumbnail > input,
.page-Default-Content .thumbnail .fiviIndividualButton:not(:has(button)) {
  display: block;
  font-weight: 500;
  height: 100%;
  min-height: 18px;
  width: 100% !important;
  padding: var(--gap-vertical) calc(var(--gap-horizontal) * 2.5);
  margin: 0;
  text-align: left;
  text-decoration: none;
  color: inherit;
  width: 100% !important;
  &:hover {
    text-decoration: none;
  }
}

.page-Default-Content .thumbnail > .fa {
  width: 50px;
}

.page-Default-Content .thumbnail .fiviIndividualButton {
  width: 100%;
}

.page-Default-Content .thumbnail > span {
  width: 100%;
}

.thumbnail-img {
  position: absolute;
  pointer-events: none;
  left: var(--gap-horizontal-25);
  padding: 5px;
  border-radius: 5px;
  color: var(--color-primary-light);
  font-size: 30px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.thumbnail-img svg {
  color: var(--color-primary-normal);
  stroke: black;
  fill: black;
}

.thumbnail .glyph {
  position: absolute;
  pointer-events: none;
  right: var(--gap-horizontal-50);
  font-size: 22px;
  font-weight: 700;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .lets-get-started-container {
    max-width: var(--column-width-5);
  }

  .what-you-need {
    font-size: calc(var(--font-size) - 2px);
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .default-thumbnail-container {
    max-width: 100%;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .page-Default-Content .thumbnail {
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .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;
  }

  .lets-get-started-container > .h2 {
    text-align: center;
    justify-content: center;
  }

  .lets-get-started-container > h2 {
    flex-direction: column;
    gap: var(--gap-vertical-25);
  }
}

/*
	9.2 Applicant Prove
*/

.prove-start-container,
.fiviPanel.prove-start-container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  flex-grow: 1;
  flex-basis: 0;
  padding-bottom: calc(var(--gap-vertical) * 3.5);
  & > .fiviHeaderPanelClass {
    flex-grow: inherit;
    flex-basis: inherit;
    align-self: inherit;
  }
}

.prove-start-container .fiviMultiInput {
  position: unset;
}

.prove-or-existing {
  padding: 0 var(--gap-horizontal);
  align-items: stretch;
  justify-content: space-between;
  min-width: 0;
  flex-grow: 1;
  flex-basis: 0;
  align-self: stretch;
}

.prove-new {
  flex-grow: 3;
  flex-basis: 0;
  min-width: 0;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  gap: var(--gap-vertical-150);
  & > .section-container {
    flex-grow: 0;
  }
}

.prove-new .prove-user-img-container {
  width: 60px;
  height: 60px;
  border: 4px solid var(--color-primary-normal);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-primary-normal);
  color: white;
  & > .fa {
    font-size: 50px;
    padding-top: 15px;
  }
}

.prove-new .prove-user-img-container > img {
  width: 50px;
  height: 50px;
}

.prove-new .fiviInput {
  /* max-width: 100%; */
  width: 100%;
}

.prove-new .fiviErrorSummary > div {
  text-align: left;
}

.prove-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: stretch;
  gap: var(--gap-vertical-25);
  align-self: stretch;
}

.prove-existing {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 var(--gap-horizontal);
  flex-basis: 0;
  flex-grow: 2;
}

.prove-existing > span {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: row;
}

.prove-disclosure {
}

#proveWorking,
.loading {
  display: block;
  background-color: transparent;
  width: fit-content;
}

#proveWorking .loader,
.loading .loader {
  position: relative;
  top: 0;
  left: 0;
  border-top-color: var(--color-primary-normal);
  margin: var(--gap-vertical-50) var(--gap-horizontal-50);
}

.prove-check-phone-image-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;

  img {
    max-width: 50%;
  }
}

#proveIndividualErrorMessage {
  color: red;
}

.pnlCamera {
  display: none;
}

#tcpaLearnMore,
#proxyLearnMore {
  cursor: pointer;
}

#tcpaContainer,
#proxyContainer {
  overflow: hidden;
  transition: all 0.5s ease-in-out;
}

@media (max-device-width: 836px), (max-width: 836px) {
  .pnlCamera {
    display: flex;
  }

  .prove-start-container .fiviInput,
  .prove-start-container .button-other {
    max-width: 100%;
  }

  .prove-or-existing {
    padding: 0;
    flex-direction: column;
    gap: var(--gap-vertical);
    flex-wrap: nowrap;
  }

  .prove-divider {
    justify-content: center;
    flex-direction: row;
    text-align: center;
    gap: var(--gap-horizontal);
    padding: 0 var(--gap-horizontal);
  }

  .prove-divider .page-text {
    width: fit-content;
  }

  .prove-existing .button-other {
    width: 100% !important;
  }

  .prove-new,
  .prove-divider,
  .prove-existing,
  .prove-disclosure {
    width: 100%;
  }

  .prove-disclosure {
    margin: 0;
  }

  .vertical-divider {
    height: 1px;
    width: 100%;
    border-top: 0.5px solid var(--border-color);
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .prove-start-container,
  .fiviPanel.prove-start-container {
    padding-bottom: calc(var(--gap-vertical) * 4);
  }
}

/* 
    9.3 Select Accounts
*/

.page-SelectAccount .fiviPanel {
  width: 100%;
}

/* 
    9.4 Disclosures
*/

.accept-disclosures-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-vertical) var(--gap-horizontal);
  border: 1px solid var(--color-primary-dark);
  border-radius: 5px;
  padding: var(--gap-horizontal-50);
  width: 100%;
}

.accept-disclosures-container .page-text {
  padding-left: calc(var(--gap-vertical-200) * 1.25);
}

.bw-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-align: center;
  gap: var(--gap-horizontal);
  width: 100%;
}

.bw-divider .page-text {
  width: fit-content;
}

.pnlBackupWithholding,
.fiviPanel.pnlBackupWithholding {
  background-color: var(--background-color-alt);
  padding: var(--gap-vertical) var(--gap-horizontal);
  border: 1px solid var(--border-color);
  border-radius: 5px;
  width: 100vw;
  max-width: 100%;
}

.pnlBackupWithholding .fiviRadioButton {
  max-width: 100%;
  & > .fiviRadioButtonContainer {
    max-width: 100%;
    justify-content: center;
  }
  & .DefaultLabelClass:before,
  & .DefaultLabelClass:after {
    display: none;
  }
  & .DefaultLabelClass {
    max-width: 100%;
    padding: var(--gap-vertical-75) var(--gap-horizontal-200);
    border: 1px solid var(--color-primary-normal);
    background-color: white;
    color: var(--color-primary-normal);
    text-align: center;
    justify-content: center;
    height: 100%;
    border-radius: 5px;
  }
  & .DefaultLabelClass:hover,
  & .DefaultLabelClass:active,
  & .DefaultLabelClass:focus,
  & input:checked + .DefaultLabelClass {
    background-color: var(--color-primary-normal);
    color: white;
  }
}

/*
	9.5 Funding
*/

.fund-now-selector-container,
.funding-method-container,
.fiviPanel.funding-method {
  display: flex;
  width: 100vw;
  max-width: 100%;
  justify-content: center;
}

.fund-now-selector-container .fiviCheckBox,
.funding-method-container .fiviRadioButton {
  max-width: fit-content;
  & > .fiviRadioButtonContainer {
    max-width: 100%;
    justify-content: center;
  }
  & .DefaultLabelClass:before,
  & .DefaultLabelClass:after,
  & .DefaultCBLabelClass:before,
  & .DefaultCBLabelClass:after {
    display: none;
  }
  & .DefaultLabelClass,
  & .DefaultCBLabelClass {
    max-width: fit-content;
    min-width: calc(var(--column-width-3) * 0.9);
    padding: var(--gap-vertical-75) var(--gap-horizontal-150);
    border: 1px solid var(--color-primary-normal);
    background-color: white;
    color: var(--color-primary-normal);
    text-align: center;
    justify-content: center;
    height: 100%;
    border-radius: 5px;
  }
  & .DefaultLabelClass:hover,
  & .DefaultLabelClass:active,
  & .DefaultLabelClass:focus,
  & input:checked + .DefaultLabelClass,
  & .DefaultCBLabelClass:hover,
  & .DefaultCBLabelClass:active,
  & .DefaultCBLabelClass:focus,
  & input:checked + .DefaultCBLabelClass {
    background-color: var(--color-primary-normal);
    color: white;
  }
}

.funding-method-detail {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  border: 1px solid var(--color-primary-light);
  border-radius: 5px;
  background-color: var(--color-primary-light);
  padding: var(--gap-vertical);
  width: 100%;
}

.page-Funding ol {
  margin-top: 0;
}

@media all and (max-device-width: 540px), all and (max-width: 540px) {
  .funding-method {
    width: 100vw;
    max-width: 100%;
  }

  .funding-method-container .fiviRadioButton .DefaultLabelClass,
  .funding-method-container .fiviRadioButton {
    max-width: 100%;
  }
}

/*
    9.6 Pending/Approved/Denied
*/

.page-Approved .header-container,
.page-Pending .header-container,
.page-Denied .header-container {
  flex-direction: row;
}

.page-Approved .header-container .flex-column,
.page-Pending .header-container .flex-column,
.page-Denied .header-container .flex-column {
  flex: 1;
}

.application-info-container {
  text-align: right;
}

.app-status-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  padding: var(--gap-vertical);
  background-color: var(--background-color-alt);
}

.app-status-img .fa {
  color: var(--color-primary-normal);
  font-size: 35px;
}

.app-status-container .page-text {
  letter-spacing: 0;
  font-weight: 400;
}

.app-status-container .flex-row .page-text {
  flex: 1;
}

.app-status-container .fiviPanel {
  width: 100%;
}

.app-status-account-container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  width: 100%;
}

.app-status-account-container .fiviProdServiceSelected {
  background-color: var(--background-color-page);
  padding: var(--gap-vertical);
  border-radius: 5px;
  border: 1px solid var(--border-color);
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .page-Approved .header-container,
  .page-Pending .header-container,
  .page-Denied .header-container {
    flex-direction: column-reverse;
  }

  .application-info-container {
    width: 100%;
  }
}

/*
    9.7 Decline Disclosures
*/

.page-DeclineDisclosures .h1 {
  text-align: center;
}

/*
    11. Classic Admin Console
*/

#Content {
  width: 100% !important;
}

.AdminContent {
  width: 100%;
}

.AdminContent > table > tbody > tr > td:nth-child(2) > table > tbody > tr {
  display: flex;
}

.AdminContent > table > tbody > tr > td:nth-child(2) > table > tbody > tr > td {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
}

.AdminContent > table > tbody > tr > td:nth-child(2) > table > tbody > tr > td:last-of-type .form-control {
  max-width: 200px;
  margin-top: 0;
}

.AdminContent > table > tbody > tr > td:nth-child(2) > table > tbody > tr > td input[type="checkbox"] {
  appearance: auto;
  position: static;
  width: inherit;
  height: inherit;
  margin: 0;
}

.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-9);
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  & > .fiviSCDropDown {
    width: 100vw;
    max-width: var(--fiviInput-width);
    flex-direction: column;
    margin: 10px 0;
    & > label {
      font-size: 16px !important;
      font-weight: 500;
    }
    & > .form-control {
      margin-top: 5px;
    }
  }
}

.fiviViewFormHeader + div > .layout {
  & > header,
  & > footer,
  & .progress-container {
    display: none;
  }
  & > main {
    max-width: var(--column-width-9);
    & > .layout-container {
      margin: 0;
    }
  }
}

#showTimeout {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

/* Tooltips */
.fivi-popover {
  padding: 10px !important;
  max-width: 300px;
  border: 2px solid color-mix(in srgb, var(--color-black-normal) 66%, transparent);
  border-radius: 5px;
  font-size: calc(var(--font-size) + 2px);
  line-height: var(--font-lineheight);
  font-weight: 400;
  color: var(--font-color);
  width: fit-content;
  background-color: color-mix(in srgb, var(--color-black-normal) 15%, white);
  opacity: 0;
  &::backdrop {
    background-color: transparent;
  }
}

@media (pointer: coarse), (hover: none), (max-device-width: 875px), (max-width: 875px) {
  .fivi-popover {
    max-width: 90vw;
    opacity: 1;
    &::backdrop {
      background-color: black;
      opacity: 0.75;
      pointer-events: none;
    }
  }
}
