/*
    Table of Contents

    1. Variables
		1.1 Mobile Variables
    2. General Elements & Classes
		2.1 General Elements
		2.3 Flex Helper Classes
		2.4 Column Helper Classes
		2.5 General Helper Classes
    3. Page Structure
		3.1 Page Structure
		3.2 Header Styling
		3.3 Main Styling
		3.4 Footer Styling
    4. Page General Containers
	5. Buttons
		5.1 Button Containers
	6. Accordions
	7. Ancillary Components
		7.3 Fivi Input Containers
		7.4 Fivi Checkbox/Radio Buttons
		7.5 Validator
		7.6 Tool Tips
		7.7 Seperators
		7.8 Loader
		7.9 Popover
	8. fiVISION Controls
		8.1 fiVISION_ErrorSummary
		8.2 fiVISION_Panel
		8.3 fiVISION_ProductsAndServicesV2
		8.4 fiVISION_AddressTextBoxV2
		8.5 fiVISION_PhoneTextBoxV2
		8.6 fiVISION_IDTypeV2
		8.7 fiVISION_HousingDurationHistory
		8.8 fiVISION_EmploymentHistory
		8.9 fiVISION_IndividualIncome
		8.10 fiVISION_IndividualDetails
		8.11 fiVISION_ProductsAndServicesSelected
		8.12 fiVISION_ProductRelationships
		8.13 fiVISION_DocumentListV2
		8.14 fiVISION_DisclosuresList
		8.15 fiVISION_IDAuthenticationQuestions
		8.16 fiVISION_ProductFundingV2
		8.17 fiVISION_ACH
		8.18 fiVISION_CreditCardV2
		8.19 fiVISION_ApplicantWithdraw
		8.20 fiVISION_ProgressBar
		8.21 fiVISON_IndividualHandler
		8.22 Status Center Login
		8.23 Status Center Summary
		8.24 v3TextBox
		8.25 fiVISION_FinicityFundingAccountVerification
		8.26 fiVISION_OneTimePasscode
		8.27 fiVISION_WorkflowSurvey
		8.28 fiVISION_LinkHistory
		8.29 fiVISION_Label
	9. Page Specific
		9.1 Default Page
		9.2 Status Center - Default
		9.3 Status Center - Status Center
		9.4 Funding Method
		9.5 eSign Agreement
	10. ControlID Specific
	11. Admin Console

    Mobile Reference Media Queries for stepping down
    Assumes column width 66px and column spacer 24px
    
    @media all and (max-device-width: 1106px), all and (max-width: 1106px) {
    
    }

    @media all and (max-device-width: 836px), all and (max-width: 836px) {

    }

    @media all and (max-device-width: 656px), all and (max-width: 656px) {

    }

    @media all and (max-device-width: 475px), all and (max-width: 475px) {

    }

*/

/*
    1. Variables
*/

:root {
  /*colors*/
  /*gray scale*/
  --color-white-light: #fff;
  --color-white-normal: #fff;
  --color-white-dark: #fff;
  --color-gray-light: #f8f8f8;
  --color-gray-normal: #f6f9fc;
  --color-gray-dark: #d6d5d4;
  --color-black-light: #0b0731;
  --color-black-normal: #000;
  --color-black-dark: #000;

  /*client colors*/
  --color-primary-light: #f6f9fc;
  --color-primary-normal: #6186f6;
  --color-primary-dark: #435dac;
  --color-secondary-light: #0d0734;
  --color-secondary-normal: #0d0734;
  --color-secondary-dark: #0d0734;
  --color-tertiary-light: #d4dffd;
  --color-tertiary-normal: #d4dffd;
  --color-tertiary-dark: #d4dffd;
  --color-quaternary-light: #0d0734;
  --color-quaternary-normal: #0d0734;
  --color-quaternary-dark: #0d0734;

  /*font family*/
  --font-family-pri: "Montserrat", sans-serif;
  --font-family-alt: "Lato", sans-serif;

  /*fonts*/
  /*default font*/
  --font-size: 14px;
  --font-lineheight: 20px;
  --font-color: var(--color-black-light);
  --font-weight: 500;
  --font-family: var(--font-family-pri);

  /*input font*/
  --font-size-input: 20px;
  --font-lineheight-input: 22px;
  --font-color-input: var(--font-color);
  --font-weight-input: var(--font-weight);
  --font-family-input: var(--font-family);

  /*label font*/
  --font-size-label: 20px;
  --font-lineheight-label: var(--font-lineheight);
  --font-color-label: var(--font-color);
  --font-weight-label: 300;
  --font-family-label: var(--font-family-alt);

  /*h1 font*/
  --font-size-h1: 32px;
  --font-lineheight-h1: 42px;
  --font-color-h1: var(--color-black-light);
  --font-weight-h1: 500;
  --font-family-h1: var(--font-family-alt);

  /*h2 font*/
  --font-size-h2: 24px;
  --font-lineheight-h2: 26px;
  --font-color-h2: var(--font-color-h1);
  --font-weight-h2: 600;
  --font-family-h2: var(--font-family-input);

  /*h3 font*/
  --font-size-h3: 18px;
  --font-lineheight-h3: 22px;
  --font-color-h3: var(--color-secondary-dark);
  --font-weight-h3: 600;
  --font-family-h3: var(--font-family);

  /*h4 font*/
  --font-size-h4: 16px;
  --font-lineheight-h4: 150%;
  --font-color-h4: var(--font-color-h1);
  --font-weight-h4: 600;
  --font-family-h4: var(--font-family);

  /*page structure*/
  --column-width: 66px;
  --column-spacer: 24px;
  --column-width-half: calc(var(--column-width) / 2); /*33px*/
  --column-width-2: calc(
    calc(var(--column-width) * 2) + var(--column-spacer)
  ); /*156px*/
  --column-width-3: calc(
    calc(var(--column-width) * 3) + calc(var(--column-spacer) * 2)
  ); /*246px*/
  --column-width-4: calc(
    calc(var(--column-width) * 4) + calc(var(--column-spacer) * 3)
  ); /*336px*/
  --column-width-5: calc(
    calc(var(--column-width) * 5) + calc(var(--column-spacer) * 4)
  ); /*426px*/
  --column-width-6: calc(
    calc(var(--column-width) * 6) + calc(var(--column-spacer) * 5)
  ); /*516px*/
  --column-width-7: calc(
    calc(var(--column-width) * 7) + calc(var(--column-spacer) * 6)
  ); /*606px*/
  --column-width-8: calc(
    calc(var(--column-width) * 8) + calc(var(--column-spacer) * 7)
  ); /*696px*/
  --column-width-9: calc(
    calc(var(--column-width) * 9) + calc(var(--column-spacer) * 8)
  ); /*786px*/
  --column-width-10: calc(
    calc(var(--column-width) * 10) + calc(var(--column-spacer) * 9)
  ); /*876px*/
  --column-width-11: calc(
    calc(var(--column-width) * 11) + calc(var(--column-spacer) * 10)
  ); /*966px*/
  --column-width-12: calc(
    calc(var(--column-width) * 12) + calc(var(--column-spacer) * 11)
  ); /*1056px*/
  --column-width-full: 100%;

  /*flex properties*/
  --gap-vertical: var(--column-spacer);
  --gap-vertical-25: calc(var(--gap-vertical) * 0.25);
  --gap-vertical-50: calc(var(--gap-vertical) * 0.5);
  --gap-vertical-75: calc(var(--gap-vertical) * 0.75);
  --gap-vertical-150: calc(var(--gap-vertical) * 1.5);
  --gap-vertical-200: calc(var(--gap-vertical) * 2);

  --gap-horizontal: var(--column-spacer);
  --gap-horizontal-25: calc(var(--gap-horizontal) * 0.25);
  --gap-horizontal-50: calc(var(--gap-horizontal) * 0.5);
  --gap-horizontal-75: calc(var(--gap-horizontal) * 0.75);
  --gap-horizontal-150: calc(var(--gap-horizontal) * 1.5);
  --gap-horizontal-200: calc(var(--gap-horizontal) * 2);

  /*input and label structure*/
  --fiviInput-width: var(--column-width-6);
  --fiviInput-width-half: calc(
    calc(var(--fiviInput-width) - var(--column-spacer)) / 2
  );
  --fiviInput-width-double: calc(
    calc(var(--fiviInput-width) * 2) + var(--column-spacer)
  );

  /*the below two should add to the above, sometimes 3+2 or 2+2 or 2+1, main is always >= alt*/
  --fiviInput-width-partial-main: var(--column-width-3);
  --fiviInput-width-partial-alt: var(--column-width-3);

  --input-height: 60px;
  --input-focusLabel-fontSize: 12px;
  --input-focusLabel-offset: calc(var(--input-height) + var(--gap-vertical-25));
  --input-marginTop-forLabelFocusSpace: calc(
    var(--input-focusLabel-fontSize) + var(--gap-vertical-25)
  );

  /* how much space between each input */
  --fiviInput-vertical-spacing: var(--gap-vertical-150);
  --fiviInput-horizontal-spacing: var(--gap-horizontal);
}

/*
    1.1 Mobile Variables

    We are going to do a step down approach.  We need to account for the 
    head/main/foot left/right padding of column width (*2 as there are left and right).
    add a couple pixels for good measure.
*/
@media all and (max-device-width: 1120px), all and (max-width: 1120px) {
  /*
        @1056px+96px+2px = 1106px
        -12 columns -> 8 columns 
        -fiviInput-width goes to 4 columns
        -should accomidate 2 inputs per row
    */
  :root {
    --font-size-input: 18px;
    --font-size-label: 18px;
    --font-lineheight-label: var(--font-lineheight);
    --column-width-11: 100%;
    --column-width-12: 100%;
    --column-width-10: 100%;
    --fiviInput-width: var(--column-width-4);
    --fiviInput-width-partial-main: var(--column-width-2);
    --fiviInput-width-partial-alt: var(--column-width-2);
    --fiviInput-width-half: var(--column-width-2);
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  /*
        @786px+48px+2px = 836px
        -9 columns -> 6 columns 
        -fiviInput-width goes to 3 columns
        -should accomidate 2 inputs per row
    */
  :root {
    --font-size: 14px;
    --font-size-h1: 30px;
    --font-lineheight-h1: 32px;
    --font-size-h2: 22px;
    --font-lineheight-h2: 24px;
    --font-size-h3: 18px;
    --font-lineheight-h3: 20px;
    --column-width-8: 100%;
    --column-width-9: 100%;
    --fiviInput-width: var(--column-width-6);
    --fiviInput-width-partial-main: var(--column-width-3);
    --fiviInput-width-partial-alt: var(--column-width-3);
    --fiviInput-width-half: calc(
      calc(var(--fiviInput-width) - var(--column-spacer)) / 2
    );
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  /*
        @606px+48+2px = 656px
        -7 columns -> 4 columns
        -fiviInput-width goes to 4 columns
        -accomidate 1 input, with an exception or two, inputs go 1 per row
    */
  :root {
    --column-width-6: 100%;
    --column-width-7: 100%;
    --fiviInput-width: var(--column-width-5);
    --fiviInput-width-partial-main: var(--column-width-3);
    --fiviInput-width-partial-alt: var(--column-width-2);
    --fiviInput-width-half: calc(
      calc(var(--fiviInput-width) - var(--column-spacer)) / 2
    );
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  /*
        @426px+24px+2px = 475px
        - any column width > 2 goes to 100%
    */
  :root {
    --column-width-3: 100%;
    --column-width-4: 100%;
    --column-width-5: 100%;
    --fiviInput-width-half: calc(50% - calc(var(--column-spacer) / 2));
  }
}

/*
    2. General Elements & Classes
*/

/*
    2.1 General Elements
*/

* {
  box-sizing: border-box;
}

html,
body {
  font-size: var(--font-size);
  line-height: var(--font-size);
  color: var(--font-color);
  font-weight: var(--font-weight);
  font-family: var(--font-family);
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4,
p,
label,
input,
select,
textarea,
form {
  margin: 0;
  margin-block: 0;
  padding: 0;
  padding-block: 0;
  width: 100%;
}

b {
  font-weight: 600;
}

h1,
.h1 {
  font-size: var(--font-size-h1);
  line-height: var(--font-lineheight-h1);
  color: var(--font-color-h1);
  font-weight: var(--font-weight-h1);
  font-family: var(--font-family-h1);
  text-align: center;
}

h2,
.h2 {
  font-size: var(--font-size-h2);
  line-height: var(--font-lineheight-h2);
  color: var(--font-color-h2);
  font-weight: var(--font-weight-h2);
  font-family: var(--font-family-h2);
  text-align: left;
}

h3,
.h3 {
  font-size: var(--font-size-h3);
  line-height: var(--font-lineheight-h3);
  color: var(--font-color-h3);
  font-weight: var(--font-weight-h3);
  font-family: var(--font-family-h3);
  text-align: left;
}

h4,
.h4 {
  font-size: var(--font-size-h4);
  line-height: var(--font-lineheight-h4);
  color: var(--font-color-h4);
  font-weight: var(--font-weight-h4);
  font-family: var(--font-family-h4);
  text-align: left;
}

legend {
  display: none;
}

a {
  color: var(--color-primary-normal);
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: var(--color-primary-normal);
}

a:hover {
  text-decoration: underline;
  color: var(--color-primary-dark);
}

ul,
ol {
  margin-bottom: 0;
  line-height: calc(var(--font-size) * 1.25);
  padding-left: var(--gap-horizontal);
}

ul > li:not(:last-of-type),
ol > li:not(:last-of-type) {
  margin-bottom: var(--gap-vertical-25);
}

.hidden {
  display: none;
}

label {
  font-weight: var(--font-weight-label);
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  --webkit-appearance: button;
  cursor: pointer;
}

fieldset {
  margin: 0;
  min-inline-size: unset;
  margin-inline: 0;
  border: none;
  padding-block: unset;
  padding-inline: unset;
}

:focus-visible {
  outline: none;
}

/*
    2.2 Flex Helper Classes
*/

.flex-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  flex-wrap: wrap;
  width: 100%;
}

.flex-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  width: 100%;
}

.flex-row.flex-align-vertical-center {
  align-items: center;
}

.flex-column.flex-align-vertical-center {
  justify-content: center;
}

.flex-row.flex-align-horizontal-center {
  justify-content: center;
}

.flex-column.flex-align-horizontal-center {
  align-items: center;
}

.flex-row.flex-space-between {
  justify-content: space-between;
}

.flex-column.flex-space-between {
  align-items: space-between;
}

.flex-column.flex-align-vertical-center {
  align-items: center;
}

.flex-row.flex-align-horizontal-end {
  justify-content: flex-end;
}

.flex-column.flex-align-horizontal-end {
  align-items: flex-end;
}

.flex-row.flex-align-vertical-end {
  align-items: flex-end;
}

.flex-column.flex-align-vertical-end {
  justify-content: flex-end;
}

.flex-gap-25 {
  gap: var(--gap-vertical-25) var(--gap-horizontal) !important;
}

.flex-gap-50 {
  gap: var(--gap-vertical-50) var(--gap-horizontal) !important;
}

.flex-gap-75 {
  gap: var(--gap-vertical-75) var(--gap-horizontal) !important;
}

.flex-gap-100 {
  gap: var(--gap-vertical) var(--gap-horizontal) !important;
}

.flex-gap-150 {
  gap: var(--gap-vertical-150) var(--gap-horizontal) !important;
}

.flex-gap-200 {
  gap: var(--gap-vertical-200) var(--gap-horizontal) !important;
}

/*
    2.4 Column Helper Classes
*/

.column-width-fiviInput {
  max-width: var(--fiviInput-width);
  width: 100vw;
}

.column-width-1 {
  max-width: var(--column-width);
  width: 100vw;
}

.column-width-2 {
  max-width: var(--column-width-2);
  width: 100vw;
}

.column-width-3 {
  max-width: var(--column-width-3);
  width: 100vw;
}

.column-width-4 {
  max-width: var(--column-width-4);
  width: 100vw;
}

.column-width-5 {
  max-width: var(--column-width-5);
  width: 100vw;
}

.column-width-6 {
  max-width: var(--column-width-6);
  width: 100vw;
}

.column-width-7 {
  max-width: var(--column-width-7);
  width: 100vw;
}

.column-width-8 {
  max-width: var(--column-width-8);
  width: 100vw;
}

.column-width-9 {
  max-width: var(--column-width-9);
  width: 100vw;
}

.column-width-10 {
  max-width: var(--column-width-10);
  width: 100vw;
}

.column-width-11 {
  max-width: var(--column-width-11);
  width: 100vw;
}

.column-width-12 {
  max-width: var(--column-width-12);
  width: 100vw;
}

.column-width-full {
  max-width: 100%;
  width: 100vw;
}

/*
    2.5 General Helper Classes
*/

.page-text {
  font-size: calc(var(--font-size) + 2px);
  line-height: var(--font-lineheight);
  font-weight: 400;
  color: var(--font-color);
  width: 100%;
}

.page-text-small {
  font-size: calc(var(--font-size) - 2px);
  line-height: var(--font-lineheight);
  font-weight: var(--font-weight);
  color: var(--font-color);
  width: 100%;
}

.page-text-large {
  font-size: calc(var(--font-size) + 2px);
  line-height: var(--font-lineheight);
  font-weight: var(--font-weight);
  color: var(--font-color);
  width: 100%;
}

.no-wrap {
  white-space: nowrap;
  text-wrap: nowrap;
  width: fit-content;
}

.spacer-vertical {
  width: 100%;
}

.fiviHide {
  display: none !important;
}

.fiviTransparent {
  color: transparent;
}

.fiviNewLine {
  display: none !important;
}

.mobile-visible-only {
  display: none;
}

.external-label {
  font-size: var(--font-size-label);
  font-weight: 500;
  font-family: var(--font-family-label);
  line-height: 150%;
  color: var(--font-color-label);
  width: 100vw;
  max-width: 100%;
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .mobile-visible-only {
    display: flex;
  }
}

/*
    3. Page Structure
*/

/*
    3.1 Page Structure
*/

.layout {
  background-color: var(--color-gray-normal);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
}

header,
main,
footer {
  width: 100%;
  display: flex;
  flex: initial;
  margin: 0;
  padding: var(--gap-vertical) var(--gap-horizontal);
  text-align: left;
}

header {
  box-shadow: none;
  background-color: var(--color-white-dark);
}

main {
  flex-grow: 1;
  margin-bottom: auto;
  align-items: flex-start;
  height: 100%;
  flex-direction: column;
  padding: 0;
}

footer {
  background-color: var(--color-quaternary-normal);
}

header > .layout-container,
main > .layout-container,
footer > .layout-container {
  max-width: var(--column-width-12);
  width: 100%;
  margin: 0 auto;
  min-height: 62px;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .layout {
    gap: 0;
  }

  header,
  main,
  footer {
    padding: var(--gap-vertical-50) var(--gap-horizontal-50);
  }

  header > .layout-container {
    min-height: 50px;
    flex-direction: column;
    justify-content: center;
  }
}

/*
    3.3 Main Styling
*/

main > .layout-container {
  flex-grow: 1;
  height: 100%;
  padding: var(--gap-vertical-150) var(--column-spacer);
  max-width: calc(var(--column-width-12) + calc(var(--column-spacer) * 2));
  background-color: var(--color-white-normal);
  outline: 1px solid var(--color-gray-dark);
}

main > .layout-container > span {
  /*
        this is span that start the fivision_PageContent
    */
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  main > .layout-container {
    padding: var(--gap-vertical-150) calc(var(--column-spacer) / 2);
    max-width: calc(var(--column-width-8) + var(--column-spacer));
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  main > .layout-container {
    max-width: calc(var(--column-width-6) + var(--column-spacer));
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  main > .layout-container {
    max-width: calc(var(--column-width-5) + var(--column-spacer));
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
}

/*
    4. Page General Containers
*/

.page-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--gap-vertical-150);
  width: 100%;
}

.header-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--gap-vertical-50);
  max-width: var(--column-width-12);
  width: 100%;
  text-align: center;
}

.section-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: var(--gap-vertical-150);
  max-width: var(--column-width-12);
  width: 100%;
}

.section-header {
  display: flex;
  align-items: center;
  gap: var(--gap-vertical-50);
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  text-wrap: nowrap;
  white-space: nowrap;
}

.section-header:after {
  content: "";
  display: inline;
  width: 100%;
  height: 1px;
  background-color: var(--color-gray-dark);
  flex-shrink: 5;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .section-header {
    text-wrap: wrap;
    white-space: wrap;
  }
}

.page-navigation-container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  width: var(--column-width-12);
  max-width: 100%;
  margin-top: var(--gap-vertical-200);
}

.page-navigation-container .button-link {
  text-transform: none;
}

.navigation-forward-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--gap-horizontal);
}

.navigation-other-container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
}

.fivi-input-width {
  max-width: var(--fiviInput-width);
}

.fivi-two-input-container {
  max-width: var(--fiviInput-width);
}

.fivi-input-separate-label {
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: 100%;
  & .fiviControl.fiviTextBox .fiviLabelContainer {
    display: none;
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .page-navigation-container {
    flex-direction: column;
    align-items: center;
    gap: var(--gap-vertical);
  }

  .navigation-forward-container {
    flex-direction: column-reverse;
  }

  .navigation-other-container {
    align-items: center;
    gap: var(--gap-vertical);
  }

  .navigation-other-container .button-link {
    text-align: center;
  }
}

/*
    5.1 Button Containers
*/

.add-another-individual-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .add-another-individual-container {
    width: var(--fiviInput-width-double);
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .add-another-individual-container {
    width: var(--fiviInput-width);
  }
}

/*
    6. Accordions
*/

#accordion {
  display: flex;
  flex-direction: column;
  max-width: var(--column-width-12);
  width: 100%;
  gap: var(--gap-vertical);
}

.product-service-container {
  outline: none;
  padding: 0 0 0 0;
  border: none;
  border-radius: 2px;
  background-color: transparent;
  box-shadow: none;
  margin: 0;
  outline: 2px solid var(--color-gray-dark);
  &:hover {
    background-color: var(--color-gray-light);
  }
  & > .product-service-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100vw;
    max-width: 100%;
    height: var(--input-height);
    padding: 0 var(--column-spacer);
    font-size: var(--font-size-h3);
    line-height: var(--font-size-h3);
    cursor: pointer;
    transition: all 1s ease-out;
    &:after {
      font-family: FontAwesome;
      content: "\f061";
      transition: transform 0.5s ease-in-out;
      font-weight: 400;
      color: var(--color-primary-normal);
    }
  }
  & > .product-service-content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-75);
    border: none;
    border-radius: 5px;
    max-height: 0;
    height: auto;
    overflow: hidden;
    opacity: 0;
    transition-property: max-height, opacity;
    transition-duration: 0.5s;
    transition-timing-function: ease-out;
  }
  &:has(.product-service-content.expanded) {
    outline: none;
    & > .product-service-heading {
      padding-left: 0;
    }
    & > .product-service-heading:after {
      transform: rotate(90deg);
    }
    & > .product-service-content {
      opacity: 1;
      max-height: 5000px;
      transition-property: max-height, opacity;
      transition-duration: 0.75s;
      transition-timing-function: ease-in;
      height: 100% !important;
    }
    &:hover {
      background-color: transparent;
    }
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .page-SelectAccount {
    & .product-services-container {
      & > .product-service-container {
        & > .product-service-heading {
          padding: 0 calc(var(--column-spacer) * 0.5);
        }
      }
      & > .product-service-container-expanded {
        & > .product-service-heading {
          padding-left: 0;
        }
      }
    }
  }
}

/*
    7. Inputs and Labels
*/

/*
    7.5 Validator
*/

.CtlValidator {
  position: absolute;
  line-height: var(--input-height);
  bottom: -3px;
  left: 3.5px;
  z-index: 5;
}

/*
    7.6 Tool Tips
*/

.DefaultTooltipClass {
  position: absolute;
  width: fit-content;
  & > input[type="button"] {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    border: none;
    background-color: transparent;
    margin: 0;
    padding: 0;
  }
}

.tooltip-arrow {
  display: none;
}

.tooltip-inner {
  width: max-content;
  max-width: 300px !important;
  text-align: left;
}

/*
    7.7 Seperators
*/

.fiviMultiSeperator {
  width: 100%;
  height: 2px;
  /* margin: calc(var(--fiviInput-vertical-spacing) - 14px) 0 0 0; */
}

.fiviMultiSeperator::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  background-color: var(--color-gray-dark);
}

.divider {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 1px;
}

.horizontal-divider {
  display: block;
  width: 100%;
  border-top: solid 1px var(--color-primary-normal);
}

.vertical-divider {
  display: block;
  width: 0px;
  border-left: solid 1px var(--color-primary-normal);
  /* margin: var(--gap-horizontal) 0; */
}

.divider::before {
  content: "";
  display: block;
  width: var(--column-width-3);
  height: 1px;
  background-color: var(--color-gray-dark);
}

/*
    7.8 Loader
*/

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.loader {
  position: relative;
  z-index: 1;
  width: 150px;
  height: 150px;
  margin: 0 auto;
  border: 16px solid #d3d3d3;
  border-radius: 50%;
  border-top: 16px solid #2f80ed;
  width: 100px;
  height: 100px;
  animation: spin 2s linear infinite;
}

/*
	7.9 Popover
*/

.fivi-popover {
  padding: var(--column-spacer);
  max-width: 90vw;
  border: 1px solid var(--color-gray-dark);
  border-radius: 5px;
  &::backdrop {
    background-color: black;
    opacity: 0.5;
  }
}

.fivisionpopover > .arrow {
  display: none;
}

.fivisionpopover .popover-content {
  font-size: calc(var(--font-size) - 2px);
  font-weight: 500;
  color: red;
  padding: 0;
}

.fivisionpopover {
  position: relative !important;
  top: unset;
  bottom: unset !important;
  box-shadow: none;
  border: none;
  background-color: transparent;
  width: 100vw;
  max-width: var(--fiviInput-width);
  left: 0;
  margin-top: var(--gap-vertical-25);
}

/*
    8. fiVISION Controls
*/

/*
	global unsets
*/

.fiviControl:not(.fiviPanel) {
  padding: 0;
  width: auto;
  margin: 0;
}

/*
	fiVISION_Label
*/

.fiviLabelContainer {
  display: inline-flex;
  width: fit-content;
}

.fiviLabelContainer > label {
  font-weight: inherit;
}

.address-label .fiviLabelContainer {
	display: flex;
	flex-direction: column !important;
}

.address-label .fiviLabelContainer span br {
	display: none;
}

/*
	fiVISION_Panel
*/

.fiviHeaderPanelClass,
.fiviPanelExpandedHeaderClass {
  display: inherit;
  flex-direction: inherit;
  align-items: inherit;
  justify-content: inherit;
  gap: inherit;
  max-width: inherit;
  width: inherit;
  flex-wrap: inherit;
}

/*
	fiVISION_ButtonV2
*/

.fiviBtnContainer:has([style*="display: none;"]) {
  &:has(> .fiviBtnLabel:not([style*="display: none;"])) {
    display: flex !important;
  }
}

.fiviBtnContainer .fiviBtnLabel {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
}

.button-primary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: var(--column-width-2);
  width: fit-content;
  height: var(--gap-vertical-200);
  margin: 0;
  padding: 0 10px;
  color: white;
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
  background-color: var(--color-primary-normal);
  border: 2px solid var(--color-primary-normal);
  border-radius: 5px;
  text-transform: uppercase;
  text-decoration: none;
  &:visited {
    color: white;
  }
  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    background-color: transparent;
    color: var(--color-primary-normal);
    font-weight: 600;
    box-shadow: none;
    text-decoration: none;
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-other {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: var(--fiviInput-width);
  min-width: var(--column-width-2);
  width: fit-content;
  height: var(--gap-vertical-150);
  line-height: calc(var(--gap-vertical-150) - 4px);
  margin: 0;
  padding: 0 10px;
  color: var(--color-secondary-normal);
  font-size: 14px;
  font-weight: 600;
  background-color: transparent;
  border: 2px solid var(--color-secondary-normal);
  border-radius: 5px;
  box-shadow: none;
  text-transform: lowercase;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    background-color: transparent;
    color: var(--color-primary-normal);
    border-color: var(--color-primary-normal);
    font-weight: 600;
    box-shadow: none;
    text-decoration: none;
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-link,
.button-link-alt {
  /* min-width: var(--column-width-2); */
  text-align: left;
  background-color: transparent;
  border: none;
  font-size: 16px;
  line-height: 18px;
  font-weight: 600;
  color: var(--color-primary-normal);
  width: fit-content !important;
  padding: 0;
  &:hover:not(:disabled),
  &:active:not(:disabled),
  &:focus:not(:disabled) {
    text-decoration: underline;
    font-weight: 600;
    color: var(--color-primary-dark);
  }
  &:disabled {
    opacity: 0.5;
  }
}

.button-link-alt {
  text-transform: uppercase;
  font-weight: 600;
}

.button-primary + .fiviBtnLabel,
.button-other + .fiviBtnLabel,
.button-link + .fiviBtnLabel,
.button-link-alt + .fiviBtnLabel {
  cursor: none;
  opacity: 0.5;
}

/*
	fiVISION_IndividualCommandButtonV2
*/

.fiviIndividualButton > label {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
}

/*
	fiVISION_CheckBox
*/

.fiviControl.fiviCheckBox,
.fiviCheckBox {
  display: flex;
  gap: var(--gap-horizontal-50);
  align-items: center;
  width: 100%;
  max-width: fit-content;
  padding: 0;
  margin: 0;
}

input.DefaultCBControlClassV3 {
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-color: white;
  accent-color: var(--color-primary-normal);
  cursor: pointer;
  margin: 0;
  &:hover {
    accent-color: var(--color-primary-dark);
  }
}

label.DefaultCBLabelClass {
  font-weight: 500;
  font-size: calc(var(--font-size-label) - 2px);
  line-height: var(--font-lineheight-input);
}

/*
	fiVISION_RadioButton
*/

.fiviControl.fiviRadioButton {
  width: 100%;
  max-width: fit-content;
  padding: 0;
  margin: 0;
}

.fiviControl.fiviRadioButton > .fiviRadioButtonContainer,
.fiviControl.fiviRadioButton > .fiviCheckboxContainer {
  width: 100%;
  max-width: fit-content;
  padding: 0;
  margin: 0;
}

.fiviControl.fiviRadioButton > .fiviRadioButtonContainer {
  display: flex;
  gap: var(--gap-horizontal-50);
  align-items: center;
  width: 100%;
  max-width: fit-content;
  padding: 0;
  margin: 0;
}

input.DefaultRBControlClassV3 {
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-color: white;
  accent-color: var(--color-primary-normal);
  cursor: pointer;
  margin: 0;
  &:hover {
    accent-color: var(--color-primary-dark);
  }
}

input.DefaultRBControlClassV3 + label {
  position: relative;
  left: unset;
  top: unset;
  font-weight: 500;
  font-size: calc(var(--font-size-label) - 2px);
  line-height: var(--font-lineheight-input);
}

.rbPair-as-fiviInput {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal-75);
  width: 100vw !important;
  max-width: var(--fiviInput-width);
  height: calc(var(--input-height) + var(--input-marginTop-forLabelFocusSpace));
  & > .h4 {
    font-size: 16px;
  }
}

/*
	fiVISION_TextBoxV2
*/

.fiviControl.fiviTextBox,
.fiviControl.fiviInput:has(> .fiviControl.fiviTextBox),
.fiviNumericTextBox {
  display: inline-flex;
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
  position: relative;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  &:has(> .form-control[style="display: none;"]) {
    display: none;
  }
  & .DefaultTooltipClass {
    right: 5px;
    top: calc(var(--input-marginTop-forLabelFocusSpace) + 19px);
  }
}

.fivi-two-input-container .fiviControl.fiviTextBox {
  max-width: var(--fiviInput-width-half);
}

input.form-control,
textarea.form-control,
select.form-control {
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--input-height);
  padding: 0 var(--gap-horizontal-50);
  margin-top: var(--input-marginTop-forLabelFocusSpace);
  font-size: var(--font-size-input);
  font-weight: var(--font-weight-input);
  line-height: var(--font-lineheight-input);
  color: var(--font-color-input);
  font-family: var(--font-family-input);
  border: 2px solid var(--color-gray-dark);
  border-radius: 2px;
  background-color: white;
  &:focus,
  &:active {
    border-color: var(--color-primary-normal);
  }
  &:disabled {
    background-color: var(--color-gray-light);
  }
}

textarea.form-control {
  padding: var(--gap-horizontal-50);
}

.fiviControl.fiviTextBox,
.SingleLineEmailTextContainerClass.fiviTextBox {
  & .fiviLabelContainer {
    display: flex;
    position: absolute;
    height: 100%;
    width: 100%;
    pointer-events: none;
  }
  & label.DefaultLabelClass {
    display: flex;
    align-items: center;
    height: var(--input-height);
    position: absolute;
    left: var(--gap-horizontal-50);
    top: var(--input-marginTop-forLabelFocusSpace);
    font-size: var(--font-size-label);
    font-weight: var(--font-weight-label);
    line-height: var(--font-size-label);
    color: var(--font-color-label);
    font-family: var(--font-family-label);
    transition: all 0.25s;
    pointer-events: none;
  }
  & label.FocusLabelClass {
    height: var(--input-focusLabel-fontSize);
    font-size: var(--input-focusLabel-fontSize);
    top: 0 !important; /* global.css conflict */
    left: 0;
    font-weight: 600;
    text-transform: uppercase;
  }
  & .fiviWriteOnlyEditButton,
  & .fiviControlActionsContainer .fiviLinkButton {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: calc(var(--font-size) - 2px);
    font-weight: 600;
    color: var(--color-secondary-dark);
    text-transform: uppercase;
    border: none;
    border-radius: 5px;
    background-color: transparent;
    &:active,
    &:hover,
    &:focus {
      text-decoration: underline;
      border-color: transparent;
    }
  }
  & .autocomplete-items:has(> div) {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 5px 0px;
    border: 1px solid var(--color-gray-dark);
    border-top: none;
    position: absolute;
    left: 0;
    z-index: 2;
    background-color: white;
    & > div {
      font-size: calc(var(--font-size) + 2px);
      line-height: 1.5;
      font-weight: 300;
      padding: 0px 10px;
      cursor: pointer;
      &.autocomplete-active {
        background-color: var(--color-gray-dark);
      }
    }
  }
}

.fiviTextBox:has(> .fiviValueLabelContainer) {
  flex-direction: column;
  /* gap: var(--gap-vertical-25); */

  & > .fiviLabelContainer {
    position: relative;
    display: block;
    width: auto;
    height: auto;
  }
  & label.DefaultLabelClass {
    position: relative;
    width: auto;
    height: auto;
    top: 0;
    left: 0;
    font-size: var(--input-focusLabel-fontSize);
  }
  & > .fiviValueLabelContainer {
    display: flex;
    align-items: center;
    width: 100% !important;
    height: var(--input-height);
    padding: 0px var(--gap-horizontal-50);
    font-size: var(--font-size-input);
    font-weight: var(--font-weight-input);
    line-height: var(--font-lineheight-input);
    color: var(--font-color-input);
    font-family: var(--font-family-input);
    border: 1px solid var(--color-gray-dark) !important;
    border-radius: 8px;
    background-color: var(--color-gray-light) !important;
    cursor: not-allowed;
    pointer-events: all;
  }
  & .fiviValueLabel {
    cursor: not-allowed;
    pointer-events: all;
  }
}

/*
	textbox as camera
*/

.fiviTextBox:has(label.MobileScanButton) {
  width: fit-content !important;
}

.fiviTextBox label.MobileScanButton {
  min-height: var(--gap-vertical-200);
  height: 100%;
  cursor: pointer;
}

/*
	fiVISION_DropDownV2
*/

.fiviControl.fiviDropDown,
.fiviControl.fiviSCDropDown {
  display: inline-flex;
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
  position: relative;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

.fivi-two-input-container .fiviControl.fiviDropDown {
  max-width: var(--fiviInput-width-half);
}

.fiviControl.fiviDropDown:has(option[value=""]:checked)
  label.DefaultLabelClass {
  display: flex;
  align-items: center;
  height: var(--input-height);
  position: absolute;
  left: var(--gap-horizontal-50);
  top: var(--input-marginTop-forLabelFocusSpace) !important;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-label);
  line-height: var(--font-size-label);
  color: var(--font-color-label);
  font-family: var(--font-family-label);
  transition: top 0.25s ease-in-out, left 0.25s ease-in-out,
    font-size 0.25s ease-in-out, font-weight 0.25s ease-in-out;
  pointer-events: none;
  text-transform: none;
}

.fiviControl.fiviDropDown label.DefaultLabelClass,
.fiviControl.fiviDropDown:has(option[value=""]:checked)
  label.DefaultLabelClass:has(+ select:focus),
.fiviControl.fiviDropDown:has(option[value=""]:checked)
  label.DefaultLabelClass:has(+ select:active),
.fiviControl.fiviDropDown:has(option[value=""]:checked)
  label.DefaultLabelClass:has(+ select:hover) {
  position: absolute;
  height: var(--input-focusLabel-fontSize);
  font-size: var(--input-focusLabel-fontSize);
  font-family: var(--font-family-label);
  top: 0 !important; /* global.css conflict */
  left: 0;
  font-weight: 600;
  text-transform: uppercase;
  transition: top 0.25s ease-in-out, left 0.25s ease-in-out,
    font-size 0.25s ease-in-out, font-weight 0.25s ease-in-out;
}

.fiviControl.fiviDropDown select:has(option[value=""]:checked) {
  color: transparent;
  &:active,
  &:focus,
  &:hover {
    color: var(--font-color);
  }
}

/*
	fiVISION_MoneyTextBoxV2
*/

.fiviMoneyTextBox {
  display: inline-flex;
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
  position: relative;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

.fivi-two-input-container .fiviMoneyTextBox {
  max-width: var(--fiviInput-width-half);
}

.fiviMoneyTextBox input::placeholder {
  color: transparent;
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fivi-two-input-container .fiviMoneyTextBox > .fiviTextBox {
    max-width: var(--fiviInput-width);
  }
}

/*
	fiVISION_EmailTextBoxV2
*/

.fiviParentControl.fiviEmailTextBox {
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
}

/*
	fiVISION_DateTextBoxV2
*/

.fiviDateTextBox {
  display: inline-flex;
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
  position: relative;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

/*
	fiVISION_YearsMonthsDurationV2
*/

.fiviYearMonth {
  width: 100vw;
  max-width: var(--fiviInput-width);
  position: relative;
  & label.DefaultLabelClass {
    position: absolute;
    height: var(--input-focusLabel-fontSize);
    font-size: var(--input-focusLabel-fontSize);
    top: 0 !important; /* global.css conflict */
    left: 0;
    font-weight: 600;
    text-transform: uppercase;
  }
}

.fiviYearMonthInputContainer {
  display: flex;
  gap: var(--column-spacer);
  width: 100vw;
  max-width: var(--fiviInput-width);
}

.fiviYearMonthInputContainer .fiviInput.fiviNumericTextBox {
  width: 100vw;
  max-width: var(--fiviInput-width-half);
  & > .fiviTextBox {
    max-width: 100%;
  }
}

/*
	fiVISION_PhoneNumberTextBoxV2
*/

.fiviPhoneControl {
  display: flex;
  justify-content: flex-start;
  gap: var(--column-spacer);
  width: 100vw !important; /* global.css conflict */
  max-width: var(--fiviInput-width);
  margin: 0;
  padding: 0;
}

/*has preferred flag*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviRadioButton) {
  & > .fiviTextBox {
    max-width: var(--fiviInput-width-half);
  }
  & > .fiviRadioButton {
    max-width: var(--fiviInput-width-half);
    margin-top: var(--input-marginTop-forLabelFocusSpace);
    height: var(--input-height);
    display: flex;
    & label {
      font-weight: var(--font-weight-label);
    }
  }
}

/*applicant determined*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
  & > .fiviTextBox {
    max-width: var(--fiviInput-width-half);
  }
}

/*applicant determined & preferred flag*/
.fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox + .fiviRadioButton) {
  max-width: 100%;
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox + .fiviRadioButton) {
    flex-wrap: wrap;
    gap: calc(var(--column-spacer) * 0.75);
    & > .fiviTextBox:has(input) {
      max-width: 100%;
    }
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviPhoneControl {
    flex-wrap: wrap;
    gap: calc(var(--column-spacer) * 0.75);
  }

  /*has preferred flag*/
  .fiviPhoneControl:has(> .fiviTextBox + .fiviRadioButton) {
    & > .fiviTextBox {
      max-width: var(--fiviInput-width);
    }
    & > .fiviRadioButton {
      margin-top: 0;
      height: 100%;
    }
  }

  /*applicant determined*/
  .fiviPhoneControl:has(> .fiviTextBox + .fiviTextBox) {
    & > .fiviTextBox {
      max-width: var(--fiviInput-width);
    }
  }
}

/*
    fiVISION_ErrorSummary
*/

.fiviErrorSummary {
  display: none;
}

.fiviErrorSummary:has(div) {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
  width: 100vw;
  max-width: 100%;
}

.fiviErrorSummary > div {
  font-size: var(--font-size);
  line-height: var(--font-lineheight);
  font-weight: 500;
  color: red;
  margin-bottom: 0;
  list-style: none;
  text-align: center;
}

/*
	fiVISION_LinkHistory
*/

.fiviLinkHistory {
  display: flex;
  flex-direction: column;
  width: fit-content;
  padding: 0;
  margin: 0;
  gap: var(--gap-vertical-25);
}

.fiviLinkHistory > a {
  font-size: calc(var(--font-size) + 2px);
  cursor: pointer;
}

.fiviLinkHistory .fivisionpopover {
  position: relative !important;
  width: 100%;
  bottom: unset !important;
  text-align: center;
}

/*
	fiVISION_AddressTextBoxV2
*/

.address-container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--column-spacer);
  width: 100%;
  max-width: var(--fiviInput-width);
}

.fiviAddressControl {
  display: flex;
  flex-direction: column;
  gap: var(--column-spacer);
}

.fiviAddressInputs {
  display: flex;
  flex-direction: column;
  gap: var(--column-spacer);
  width: 100%;
  position: relative;
}

.fiviAddressValidation > label {
  font-size: calc(var(--font-size) - 2px);
  line-height: var(--font-lineheight);
  font-weight: 500;
  text-align: center;
}

.fiviAddressControl .fiviCheckbox {
  max-width: calc(calc(var(--fiviInput-width) / 2) - var(--column-spacer));
  position: absolute;
  top: 0;
  right: 0;
}

.fiviAddressControl .fiviCheckbox label {
  font-size: calc(var(--font-size-label) - 4px);
  line-height: var(--font-lineheight);
}

.fiviAddressControl .fiviBtnContainer {
  position: absolute;
  top: 0;
  right: 0px;
  font-size: calc(var(--font-size) - 2px);
  border: none;
  border-radius: 5px;
  background-color: transparent;
  & button {
    border: none;
    font-weight: 600;
    color: var(--color-secondary-dark);
    text-transform: uppercase;
    background-color: transparent;
    &:active,
    &:hover,
    &:focus {
      text-decoration: underline;
      border-color: transparent;
    }
  }
  &:active,
  &:hover,
  &:focus {
    text-decoration: underline;
    border-color: transparent;
    color: var(--color-primary-normal);
  }
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .fiviAddressControl .fiviCheckbox {
    top: calc(var(--font-lineheight) * -0.5);
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .fiviAddressControl .fiviCheckbox {
    top: 0;
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .fiviAddressControl .fiviCheckbox {
    top: calc(var(--font-lineheight) * -0.5);
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviAddressControl .fiviCheckbox {
    top: 0;
    position: relative;
    max-width: 100%;
  }
}

/*
	fiVISION_IDTypeV2
*/

.fiviIdType {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  width: 100vw;
  max-width: 100%;
}

.fiviIdType > .fiviDateTextBox {
  max-width: var(--fiviInput-width-half);
  & > .fiviTextBox {
    max-width: 100%;
  }
}

.fiviIdTypeState,
.fiviIdTypeCountry {
  width: 100vw;
  max-width: var(--fiviInput-width);
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviIdType > .fiviDateTextBox {
    max-width: var(--fiviInput-width);
    & > .fiviTextBox {
      max-width: 100%;
    }
  }
}

/*
	fiVISION_EmploymentHistory
*/

.fiviEmploymentHistory {
  display: flex;
  flex-direction: column;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  width: 100vw;
  max-width: 100%;
  margin-top: -12px;
}

.fiviEmpHistLblContainer {
  margin-bottom: -12px;
  & label {
    font-size: calc(var(--font-size) + 2px);
    line-height: var(--font-lineheight);
    font-weight: 400;
    color: var(--font-color);
    width: 100%;
  }
}

.fiviEmpHistInputContainer {
  display: flex;
  flex-direction: column;
  gap: var(--column-spacer);
  width: 100vw;
  max-width: 100%;
  & > .fiviMultiInput {
    display: flex;
    gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
    flex-wrap: wrap;
    width: 100vw;
    max-width: 100%;
  }
  & .fiviEmpHistIncomeContainer {
    display: flex;
    gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
    flex-wrap: wrap;
    width: 100vw;
    max-width: 100%;
    order: 2;
    & .fiviMoneyTextBox,
    & .fiviMoneyTextBox > .fiviTextBox,
    & .fiviNumericTextBox,
    & .fiviNumericTextBox > .fiviTextBox {
      width: 100vw;
      max-width: var(--fiviInput-width);
    }
    & .fiviDropDown {
      order: -1;
    }
  }
}

.fiviEmpHistLengthOfEmploymentContainer {
  & .fiviLabelContainer {
    position: absolute;
    width: 100%;
  }
}

.fiviEmploymentHistory .fiviRemoveBtn {
  order: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  font-size: 14px;
  line-height: 14px;
  font-weight: bold;
  color: var(--color-primary-normal);
  & > button {
    font-size: 14px;
    line-height: 14px;
    font-weight: bold;
    text-transform: uppercase;
  }
  &:before {
    content: "[";
  }
  &:after {
    content: "]";
  }
  &:hover {
    text-decoration: underline;
    & > button,
    &:after,
    &:before {
      color: var(--color-primary-dark);
    }
  }
}

.fiviEmploymentHistory .fiviRemoveBtn:not(:has(> button)) {
  display: none;
}

.fiviEmpHistBtnContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  max-width: 100%;
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .fiviEmpHistInputContainer {
    & .fiviEmpHistIncomeContainer {
      & .fiviMoneyTextBox,
      & .fiviMoneyTextBox > .fiviTextBox,
      & .fiviNumericTextBox,
      & .fiviNumericTextBox > .fiviTextBox {
        width: 100vw;
        max-width: var(--fiviInput-width);
      }
    }
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviEmpHistInputContainer {
    & > .fiviMultiInput {
      & > div {
        width: 100%;
      }
    }
  }
}

/*
	fiVISION_IndividualIncome
*/

.fiviIndividualIncome {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  width: 100vw;
  max-width: 100%;
}

.fiviIndividualIncome > div {
  display: flex;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
  flex-wrap: wrap;
  width: 100vw;
  max-width: fit-content;
  position: relative;
  & > .fiviDropDown {
    order: -1;
  }
  & > .fiviMoneyTextBox,
  & > .fiviControl.fiviDropDown,
  & > .fiviNumericTextBox,
  & > .fiviNumericTextBox > .fiviControl.fiviTextBox {
    max-width: var(--fiviInput-width-half);
    & > .fiviTextBox {
      max-width: 100%;
    }
  }
  & .fiviIndividualIncomeRemoveButtonContainer:not(:has(> button)) {
    display: none;
  }
  & .fiviIndividualIncomeRemoveButtonContainer:has(> button) {
    width: 100%;
    display: flex;
    gap: 2px;
    align-items: center;
    justify-content: flex-start;
    &:before {
      content: "[";
      font-size: 14px;
      line-height: 14px;
      font-weight: bold;
      color: var(--color-primary-normal);
    }
    &:after {
      content: "]";
      font-size: 14px;
      line-height: 14px;
      font-weight: bold;
      color: var(--color-primary-normal);
    }
    & > button {
      border: none;
      background-color: transparent;
      text-transform: uppercase;
      font-size: 14px;
      line-height: 14px;
      padding: 2px 0 0 0;
      display: flex;
      align-items: center;
      font-weight: bold;
      color: var(--color-primary-normal);
    }
    &:hover {
      text-decoration: underline;
      & > button,
      &:after,
      &:before {
        color: var(--color-primary-dark);
      }
    }
  }
}

.fiviIndividualIncome > .fiviBtnContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  max-width: 100%;
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .fiviIndividualIncome > div {
    max-width: 100%;
    & > .fiviMoneyTextBox,
    & > .fiviControl.fiviDropDown,
    & > .fiviNumericTextBox,
    & > .fiviNumericTextBox > .fiviControl.fiviTextBox {
      max-width: var(--fiviInput-width);
      & > .fiviTextBox {
        max-width: 100%;
      }
    }
  }
}

/*
	fiVISION_IndividualDetails
*/

.fiviIndividualDetails {
  width: 100vw;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
  & > .fiviIndDetailTitle {
    display: none;
  }
}

.fiviIndividualDetails > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
  width: 100vw;
  max-width: 100%;
}

.fiviIndividualDetails br {
  display: none;
}

/*name*/
.fiviIndividualDetails > div > span:first-of-type > label {
  font-size: calc(var(--font-size) + 2px);
  font-weight: 600;
  margin-bottom: var(--gap-vertical-25);
  margin-left: 0;
}

.fiviIndividualDetails > div > div:has(> label) {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
}

.fiviIndividualDetails > div > div > label {
  font-weight: 600;
}

.fiviIndividualDetails > div > div:has(> label) > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
  margin-left: var(--gap-horizontal-25);
  font-weight: 400;
}

/*
	fiVISION_ProductsAndServicesSelected
*/

.fiviProductsAndServicesSelected {
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: 100%;
  gap: var(--gap-vertical-25);
  font-size: calc(var(--font-size) + 2px);
  font-weight: 600;
}

.fiviProductsAndServicesSelected > div > ul {
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25) 1px;
  flex-wrap: wrap;
  font-weight: 400;
  font-size: calc(var(--font-size) + 2px);
  margin: 0 0 var(--gap-vertical-25) 0;
}

.fiviProductsAndServicesSelected > div > i {
  display: block;
  font-size: calc(var(--font-size) + 2px);
  margin-bottom: var(--gap-vertical-25);
  font-style: normal;
}

.fiviProductsAndServicesSelected > div > i:before {
  content: "Selected ";
}

.fiviProductsAndServicesSelected > ul {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
  font-weight: 400;
  padding: 0;
  margin: 0 0 0 var(--gap-horizontal-25);
  font-size: var(--font-size);
  list-style: none;
}

/*
    fiVISION_ProveIndividualLookup
*/

.fiviProve,
.fiviProve > div {
  width: 100vw;
  max-width: var(--column-width-12);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-vertical);
  & .form-control::placeholder {
    color: transparent;
  }
  & > .prove-direction-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-horizontal);
  }
}

.prove-check-phone-image-container {
  justify-content: center;
  & > img {
    max-width: 100%;
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .fiviProve {
    & > div {
      width: 100%;
    }
  }
}

/* fiVISION_ProductRelationships */

.fiviProductRelationship {
  width: 100%;
}

.fiviProductRelationship table {
  margin: 0;
  border: 1px solid var(--color-gray-dark);
  box-shadow: none;
  width: 100%;
  min-width: 410px;
}

.fiviProductRelationship table > tbody,
.fiviProductRelationship table > thead {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.fiviProductRelationship table > tbody > tr,
.fiviProductRelationship 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;
}

.fiviProductRelationship table > tbody > tr,
.fiviProductRelationship table > thead > tr {
  background-color: white;
}

.fiviProductRelationship table > tbody > tr:last-of-type {
  border: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.fiviProductRelationship table th,
.fiviProductRelationship 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;
}

.fiviProductRelationship table td.fiviTableRowHeader {
  justify-content: flex-start;
  padding-left: 5px !important;
}

.fiviProductRelationship table .fiviApplicantNameColumn {
  display: flex;
  flex-direction: column;
}

.fiviProductRelationship table .fiviApplicantNameColumn .fiviTableSubHeader {
  font-weight: 300;
  font-size: 13px;
}

@media all and (max-device-width: 650px), all and (max-width: 650px) {
  .fiviProductRelationship table {
    font-size: 13px;
  }

  .fiviProductRelationship {
    /* solution for mobile */
    overflow-x: scroll !important;
  }

  .fiviProductRelationship table > tbody > tr,
  .fiviProductRelationship table > thead > tr {
    padding: 5px 3px;
  }

  .fiviProductRelationship table .fiviApplicantNameColumn {
    font-size: 12px;
    word-break: break-word;
    margin: 3px;
    .fiviTableSubHeader {
      font-weight: 300;
      font-size: 11px;
    }
  }
}

/*
	fiVISION_ProductsAndServicesV2
*/

.fiviProductServices {
  width: 100%;
  & > .product-services-default-mode-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-horizontal);
    width: 100vw;
    max-width: 100%;
    height: 100%;

    & .fiviProdGroup,
    & .fiviServGroup {
      display: flex;
      flex-wrap: wrap;
      max-width: var(--column-width-12);
      width: 100%;
      gap: var(--gap-vertical);

      & .fiviProdServ {
        display: flex;
        flex-direction: column;
        gap: var(--gap-vertical) var(--gap-horizontal-50);
        gap: var(--gap-vertical-75);
        max-width: var(--column-width-4);
        width: 100%;
        min-height: 100px;
        padding: var(--gap-horizontal-75);
        position: relative;
        background: white;
        border: 2px solid var(--color-gray-dark);
        border-radius: 3px;
        box-shadow: none;
        &:has(> .fiviRadioButton input:checked) {
          background-color: var(--color-gray-normal);
        }
        & .fiviCheckBox {
          flex-direction: row;
          justify-content: flex-start;
          width: 100vw;
          max-width: 100%;
          & > label {
            width: fit-content;
            order: 0;
            font-size: var(--font-size-label);
            font-weight: 600;
          }
          & > .DefaultTooltipClass {
            position: relative;
            order: 1;
          }
          & > input {
            order: 2;
            margin-left: auto;
          }
        }
        & .fiviProductMoreInfo {
          width: 100vw;
          max-width: 100%;
          margin: 0;
        }
        & .fiviProductAdditionalOptions {
          width: 100vw;
          max-width: 100%;
          display: flex;
          flex-direction: column;
          gap: var(--gap-vertical) var(--gap-horizontal-50);
          &:before {
            content: "";
            display: block;
            height: 2px;
            width: calc(100% + var(--gap-horizontal-150));
            margin-left: calc(var(--gap-horizontal-75) * -1);
            background-color: var(--color-gray-dark);
          }
          & > .fiviTextBox,
          & > .fiviNumericTextBox {
            width: 100vw;
            max-width: 100%;
          }
          & .fiviProdServGroup {
            display: flex;
            flex-direction: column;
            gap: var(--gap-vertical);
            width: 100vw;
            max-width: 100%;
            & .fiviProductServiceDisplay {
              display: flex;
              flex-direction: column;
              gap: var(--gap-vertical-50);
              width: 100vw;
              max-width: 100%;
              & .fiviCheckBox {
                & > label {
                  font-size: calc(var(--font-size-label) - 2px);
                  font-weight: 500;
                }
              }
            }
          }
        }
        & .fiviProductServiceMoreInfo {
          padding-left: 0 !important;
        }
        & .fiviProductAddAnotherContainer {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100vw;
          max-width: 100%;
          order: 2;
        }
      }
    }
    & .fiviProductServicesFilterBar {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
      flex-wrap: wrap;
      width: 100%;
    }
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .fiviProductServices {
    & > .product-services-default-mode-container {
      & .fiviProdGroup {
        & .fiviProdServ {
          max-width: 100%;
        }
      }
    }
  }
}

/*
	fiVISION_DocumentListV2
*/

.fiviDocumentList,
.page-RequiredDocuments .fiviDocumentList > span:has(> table),
.page-Approved .fiviDocumentList > span:has(> table),
.page-Pending .fiviDocumentList > span:has(> table) {
  max-width: var(--column-width-10);
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  gap: var(--gap-vertical-75);
}

.fiviDocumentList > span:not(:has(> table)) {
}

.V3SummaryControl .fiviDocumentList {
  max-width: var(--column-width-12);
}

.fiviDocumentList > input:first-of-type {
  align-self: center;
}

.fiviDocumentList span.fiviBtnContainer {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: var(--gap-vertical);
}

.fiviDocumentList table {
  /* display: block; */
  width: 100%;
  margin: 0;
  border: 1px solid var(--color-gray-dark);
  border-radius: 5px;
  box-shadow: none;
}

.fiviDocumentList table > tbody,
.fiviDocumentList table > thead {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.fiviDocumentList table > tbody > tr,
.fiviDocumentList table > thead > tr {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
  padding: 0 var(--column-spacer);
  border: none;
  border-radius: 5px;
  border-bottom: 1px solid var(--color-gray-dark);
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.fiviDocumentList table > tbody > tr:nth-of-type(odd) {
  background-color: white !important;
}

.fiviDocumentList table > tbody > tr:nth-of-type(even) {
  background-color: transparent !important;
}

.fiviDocumentList table > tbody > tr:last-of-type {
  border: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.fiviDocumentList table th,
.fiviDocumentList table td {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: var(--column-width-3);
  width: 100%;
  padding: var(--gap-horizontal-50) 0 !important;
  background-color: transparent !important;
}

.V3MessagesHeaderClass th {
  max-width: var(--column-width-3) !important;
  width: 100% !important;
  border: none !important;
}

.fiviDocumentList table th:first-of-type,
.fiviDocumentList table td:first-of-type {
  justify-content: flex-start;
}

.fiviDocumentList table th:last-of-type,
.fiviDocumentList table td:last-of-type {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--column-width-4);
  width: 100%;
  background-color: transparent !important;
}

.fiviDocumentList table td:last-of-type span:has(> .fiviFileUpload) {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
  align-items: center;

  & p {
    font-size: calc(var(--font-size) - 2px);
    text-align: left;
  }
}

.fiviDocumentList table td:last-of-type > div[id*="UploadProgressBar_"] {
  max-width: var(--fiviInput-width);
  min-width: var(--column-width-2);
  width: fit-content;
  display: flex;
  align-items: center;
  gap: var(--gap-horizontal-25);
  margin-top: var(--gap-vertical-25);
}

.fiviDocumentList table td:last-of-type > div,
.fiviDocumentList table td:last-of-type > div > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-vertical-50);
}

.fiviDocumentList .DefaultTooltipClass {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--column-spacer);
  height: 100%;
  margin: 0 !important;
  position: absolute;
  top: 0;
  right: var(--gap-horizontal-25);
}

.ng-modal-overlay {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.8;
}

.ng-modal-dialog {
  z-index: 10000;
  position: fixed;
  width: 80%;
  border-radius: 10px;
  top: 10%;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 4px 4px 80px #000;
}

.ng-modal-dialog-content {
  padding: 10px;
  text-align: center;
  font-size: 1.5em;
}

.fiviDocumentList .ng-modal-dialog {
  left: 0;
  width: var(--column-width-6) !important;
}

.fiviDocumentList .ng-modal-dialog-content {
  padding: var(--column-spacer);
}

.fiviDocumentList .ModalContent .fiviEmailTextBox {
  max-width: 100%;
}

.fiviDocumentList .ModalContent > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-50);
}

.fiviDocumentList .ModalContent br {
  display: none;
}

.fiviDocumentList .ModalContent > div > .modal-header {
  padding: 0;
  & > .fiviBtnContainer {
    margin: 0;
    & > button {
      font-size: var(--font-size-h1);
      color: var(--color-black-dark);
      opacity: 1;
      background-color: transparent;
      border: none;
      font-size: 22px;
      line-height: 22px;
      &:hover {
        opacity: 0.5;
      }
    }
  }
}

.fiviDocumentList .ModalContent > div > .modal-header .close:hover {
  opacity: 0.5;
}

.fiviDocumentList .ModalContent > div .modal-body-insideItem {
  text-align: left;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal-50);
}

.fiviDocumentList .ModalContent > div .text-muted {
  display: flex;
  flex-direction: column;
  font-size: var(--font-size);
  color: var(--font-color);
  line-height: var(--font-lineheight);
  gap: 5px;
}

.fiviDocumentList .ModalContent > div .text-muted > br {
  display: inline-block;
}

.fiviDocumentList .ModalContent #qrcode {
  margin: 0 !important;
}

.fiviDocumentList .ModalContent #UploadWrapper > div:nth-of-type(2) {
  margin: 0 !important;
  height: auto !important;
  border: none !important;
  text-align: left !important;
}

.fiviDocumentList .ModalContent #UploadWrapper > div:nth-of-type(2) > span {
  font-size: var(--font-size-h2) !important;
  color: var(--font-color-h2) !important;
  line-height: var(--font-lineheight-h2) !important;
  font-weight: var(--font-weight-h2);
  padding: 0 !important;
  text-align: left !important;
}

@media all and (max-device-width: 990px), all and (max-width: 990px) {
  .fiviDocumentList span.fiviBtnContainer {
    display: none;
  }
}

@media all and (max-device-width: 800px), all and (max-width: 800px) {
  .fiviDocumentList
    table:not(.V3StatusCenterTableClass)
    tbody
    > tr:first-of-type {
    display: none;
  }

  .fiviDocumentList table.V3StatusCenterTableClass thead {
    display: none;
  }

  .fiviDocumentList table > tbody > tr {
    flex-direction: column;
    padding: calc(var(--column-spacer) / 2);
    gap: var(--gap-vertical-75);
  }

  .fiviDocumentList table > tbody > tr > td {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: var(--font-size-h3);
    max-width: 100%;
    padding: 0 !important;
    width: 100%;
    gap: var(--gap-vertical-25);
  }

  .fiviDocumentList table > tbody > tr > td::before {
    font-size: var(--font-size-h2);
    line-height: var(--font-lineheight-h4);
    color: var(--font-color-h4);
    font-weight: 600;
    font-family: var(--font-family-h4);
    text-decoration: underline;
  }

  .fiviDocumentList table > tbody > tr > td:nth-of-type(1):before {
    content: "Applicant Name";
  }

  .fiviDocumentList table > tbody > tr > td:nth-of-type(2):before {
    content: "Document Type";
  }

  /* status center column names */

  .fiviDocumentList
    table.V3StatusCenterTableClass
    > tbody
    > tr
    > td:nth-of-type(1):before {
    content: "Application Number";
  }

  .fiviDocumentList
    table.V3StatusCenterTableClass
    > tbody
    > tr
    > td:nth-of-type(2):before {
    content: "Individual";
  }

  .fiviDocumentList
    table.V3StatusCenterTableClass
    > tbody
    > tr
    > td:nth-of-type(3):before {
    content: "Document Type";
  }

  .fiviDocumentList
    table.V3StatusCenterTableClass
    > tbody
    > tr
    > td:nth-of-type(4):before {
    content: " ";
  }

  .fiviDocumentList table > tbody > tr > td:nth-of-type(3),
  .fiviDocumentList table td:last-of-type {
    max-width: 100%;
  }

  .fiviDocumentList .DefaultTooltipClass {
    position: relative;
    height: fit-content;
    width: 100%;
    margin: var(--gap-vertical-25) 0 !important;
  }

  .fiviDocumentList > input:first-of-type {
    display: none !important;
  }
}

/*
	fiVISION_DisclosuresList
*/

div:has(> .DisclosuresHeaderClass) {
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: 100%;
  gap: var(--gap-vertical);
}

.DisclosuresHeaderClass {
  display: none;
}

.fiviDisclosureList {
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: 100%;
  gap: var(--gap-vertical-50);
  & > .DisclosureItem {
    padding-left: var(--gap-horizontal);
    & .fa.fa-square {
      outline: 1.5px solid var(--color-primary-dark);
      border-radius: 2px;
      color: white;
    }
    & .fa.fa-check {
      color: var(--color-primary-dark);
      outline: 1.5px solid var(--color-primary-dark);
      border-radius: 2px;
    }
  }
  & .DisclosureLinkV3 {
    color: var(--color-primary-dark);
    text-decoration: underline;
    font-size: calc(var(--font-size) + 2px);
    background-color: transparent;
    border: none;
  }
}

.fiviDisclosuresModal {
  position: fixed;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background-color: color-mix(
    in srgb,
    var(--color-black-dark) 50%,
    transparent
  );
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-top: 15vh;
  z-index: 99;
  & > div {
    width: 100vw;
    max-width: var(--column-width-12);
    background-color: var(--color-white-normal);
    padding-left: var(--column-spacer);
    padding-right: var(--column-spacer);
    border-left: solid 1px var(--color-gray-dark);
    border-right: solid 1px var(--color-gray-dark);
    &:first-of-type {
      padding-top: var(--column-spacer);
      padding-bottom: var(--column-spacer);
      border-left: solid 1px var(--color-gray-dark);
      border-right: solid 1px var(--color-gray-dark);
      border-top: solid 1px var(--color-gray-dark);
      border-top-left-radius: 5px;
      border-top-right-radius: 5px;
      font-size: var(--font-size-h2);
      color: var(--font-color-h2);
      line-height: var(--font-lineheight-h2);
      font-weight: var(--font-weight-h2);
    }
    &.fiviDisclosureModalButtonWrapper {
      padding-top: var(--column-spacer);
      padding-bottom: var(--column-spacer);
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      justify-content: space-between;
      border-left: solid 1px var(--color-gray-dark);
      border-right: solid 1px var(--color-gray-dark);
      border-bottom: solid 1px var(--color-gray-dark);
      border-bottom-left-radius: 5px;
      border-bottom-right-radius: 5px;
    }
  }
  & .fiviPDFContainer {
    width: 100%;
    height: 60vh;
  }
}

@media all and (max-device-width: 1120px), all and (max-width: 1120px) {
  .fiviDisclosuresModal {
    & > div {
      max-width: 90vw;
    }
  }
}

/*
	fiVISION__IDAuthenticationQuestions
*/

.fiviIDAuthentication {
  width: 100vw;
  max-width: 100%;
  padding-bottom: calc(var(--gap-vertical) * 3.5);
  & > div {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-150);
    width: 100vw;
    max-width: 100%;
  }
  & .fiviIDAuthQuestionContainerClass {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-50);
    & > .fiviLabelContainer > label {
      font-size: calc(var(--font-size) + 2px);
      line-height: calc(var(--font-lineheight) + 2px);
      padding-bottom: var(--gap-vertical-50);
    }
  }
  & .fiviIDAuthAnswerContainer {
    padding-left: var(--gap-horizontal-50);
  }
  & .fiviIDAuthSubmitAnswerContainer {
    display: flex;
    justify-content: flex-end;
    padding-top: var(--gap-vertical-200);
    border-top: solid 1px var(--color-gray-dark);
  }
}

/*
	fiVISION_PleaseWait
*/

.fiviPleaseWait {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 99;
  background-color: black;
  opacity: 0.75;
  top: 0;
  left: 0;
  padding-top: 20vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  & > .loaderMessage {
    text-align: center;
    color: white;
  }
}

/*
	fiVISION_ProductFundingV2
*/

.fiviProductFunding {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical);
  width: 100vw;
  max-width: 100%;
}

.fiviProductFundingItem,
.fiviFundingAmount {
  width: 100%;
  /* border: 1px solid var(--color-primary-normal); */
  border-radius: 5px;
  position: relative;
  padding: var(--gap-vertical-50);
  margin: 0;
  min-height: calc(var(--input-height) + var(--gap-vertical));
}

.fiviFundingInput,
.fiviFundingAmount {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: var(--gap-horizontal);
  margin: 0;
  align-items: center;
  & input {
    margin: 0;
    text-align: right;
    &::placeholder {
      color: var(--color-gray-dark) !important;
    }
  }
  & > label {
    border-right: 1px solid var(--color-primary-normal);
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-vertical-25) / 2);
    font-size: 20px;
    font-weight: 500;
  }
}

.fiviProductFundingItem > .fiviFundingInput > label:first-child::after {
  content: "funding optional";
  color: var(--color-primary-normal);
  font-size: 12px;
  padding: 0 4px;
  font-weight: bold;
  border-radius: var(--border-radius);
  position: relative;
  bottom: calc(var(--gap-vertical) * 0);
  font-style: italic;
}

.fiviProductFundingItem
  > .fiviFundingInput:has(.funding-required)
  > label:first-child:after {
  content: "* funding required";
  color: red;
}

.fiviFundingAmount {
  justify-content: space-between;
  padding-right: var(--gap-vertical-50);
  & > span {
    font-weight: 500;
    font-size: 20px;
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .fiviFundingInput {
    flex-direction: column;
    & > label {
      border-right: 0;
      text-align: center;
    }
  }
}

/* Withdraw */

.fiviApplicantWithdrawContainer div > .fiviControl {
  padding-top: 1em;
}

/*
	fiVISION_ProgressBar
*/

.progress-container {
  flex-grow: 1;
  &:has(> div[style="display: none;"]) {
    display: none;
  }
}

.layout:has(.hide-all-progress-bars) {
  & .progress-container {
    display: none;
  }
}

.journey-bar > table {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
}

.journey-bar > table > tr {
  display: flex;
  gap: var(--gap-horizontal-50);
}

.journey-bar > table > tr > td {
  border-top: none;
  padding: 0;
}

.journey-bar-icons {
  display: none;
}

.journey-bar-group {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  min-width: var(--column-width);
  gap: var(--gap-vertical-25);
}

.journey-bar-group > span {
  opacity: 20%;
  padding: 0 var(--gap-horizontal-25);
  font-size: calc(var(--font-size) - 2px);
  font-weight: 500;
}

.journey-bar-group:after {
  content: " ";
  width: 100%;
  height: 10px;
  border-radius: 5px;
}

.journey-bar-group.previous-group:after {
  background-color: color-mix(
    in srgb,
    var(--color-primary-normal) 50%,
    transparent
  );
}

.journey-bar-group.current-group:after {
  background-color: var(--color-primary-normal);
}

.journey-bar-group.current-group > span {
  opacity: 100%;
}

.journey-bar-group.future-group:after {
  background-color: color-mix(
    in srgb,
    var(--color-primary-normal) 10%,
    transparent
  );
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .journey-bar > table {
    justify-content: flex-start;
  }

  .journey-bar-group > span {
    display: none;
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .progress-container {
    width: 100%;
    flex-grow: unset;
    /* justify-content: center; */
  }

  .journey-bar > table {
    justify-content: center;
  }

  .journey-bar > table > tr {
    width: 100%;
    justify-content: center;
  }

  .journey-bar > tbody > tr {
    width: 100%;
  }

  .journey-bar-group {
    min-width: calc(calc(100% / 5) - var(--gap-horizontal-50));
  }
}

/*
    fiVISION_HMDAQuestions
*/

.fiviHMDAQuestions {
  display: flex;
  width: 100vw;
  max-width: 100%;
  flex-wrap: wrap;
  gap: var(--gap-horizontal-150) var(--gap-horizontal);
  & br {
    display: none;
  }
  & > .fiviHMDAEthnicity,
  & > .fiviHMDARace,
  & > .fiviHMDAGender {
    display: flex;
    flex-direction: column;
    gap: var(--gap-horizontal-50);
    width: 100vw;
    max-width: var(--column-width-4);
    min-width: var(--column-width-3);
    & > .fiviLabelContainer {
      & > label {
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 1;
        text-decoration: underline;
      }
    }
    & > div {
      display: flex;
      flex-direction: column;
      gap: var(--gap-horizontal-25);
    }
  }
  & > .fiviHMDARace {
    order: -1;
  }
}

/*
	fiVISION_IndividualHyperlinkList
*/

.fiviIndividualHyperlinkList {
  width: 100vw;
  max-width: 100%;
  & > ul {
    margin: 0;
    padding-left: var(--gap-vertical);
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-25);
    & > li {
      margin: 0;
    }
  }
  & button {
    border: none;
    padding: 0;
    background-color: transparent;
    font-size: 16px;
    color: var(--color-primary-normal);
    font-weight: bold;
    text-decoration: underline;
    &:hover {
      color: var(--color-primary-light);
    }
  }
}

/*
	fiVISION_ACHFundingAccountVerification
*/

.fiviPlaid,
.fiviFinicityFundingAccountVerificationContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  max-width: 100%;
}

/*
	fiVISION_CreditCardV2
*/

.fiviParentControl.fiviCreditCard {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--fiviInput-vertical-spacing) var(--fiviInput-horizontal-spacing);
}

.fiviCCNameAddress,
.fiviCCInfo {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fiviInput-vertical-spacing) 0;
  width: 100vw;
  max-width: 100%;
  justify-content: center;
  & > .fiviControl.fiviInput {
    max-width: 100%;
  }
  & > .fiviAddressControl {
    max-width: 100%;
    & .fiviTextBox {
      max-width: 100%;
    }
  }
}

.fiviCCNameAddress .form-control::placeholder {
  color: transparent;
}

.fiviCCNameAddress > span:nth-of-type(2) {
  display: none;
}

.fiviCCInfo > span:first-of-type input::placeholder {
  color: transparent;
}

.fiviCCInfo > span:not(:first-of-type) {
  max-width: calc(100% / 3) !important;
  & .fivisionpopover {
    display: none !important;
  }
}

.fiviCCInfo > span:nth-of-type(2) {
  & > label.DefaultLabelClass {
    display: none !important;
  }
  & > select.form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
    color: var(--font-color) !important;
    &:focus,
    &:active {
      border-right: 2px solid var(--color-primary-normal);
    }
  }
  &:before {
    content: "Card Expiration & CVV";
    text-transform: uppercase;
    display: flex;
    align-items: center;
    position: absolute;
    height: var(--input-focusLabel-fontSize);
    font-size: var(--input-focusLabel-fontSize);
    line-height: var(--font-size-label);
    color: var(--font-color-label);
    top: 0 !important;
    left: 0;
    font-weight: 500;
    white-space: nowrap;
    text-wrap: nowrap;
  }
}

.fiviCCInfo > span:nth-of-type(3) {
  & > label.DefaultLabelClass {
    display: none !important;
  }
  & > select.form-control {
    border-radius: 0;
    color: var(--font-color) !important;
  }
}

.fiviCCInfo > span:nth-of-type(4) {
  & label.DefaultLabelClass {
    display: none !important;
  }
  & > input.form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
    color: var(--font-color) !important;
    &:focus,
    &:active {
      border-left: 2px solid var(--color-primary-normal);
    }
  }
  & .DefaultTooltipClass {
    display: none !important;
  }
}

@media all and (max-device-width: 725px), all and (max-width: 725px) {
  .fiviCCNameAddress,
  .fiviCCInfo {
    flex-wrap: wrap;
    & > .fiviControl.fiviInput {
      max-width: 100%;
    }
  }

  .fiviCCInfo > span:not(:first-of-type) {
    max-width: calc(100% / 3) !important;
  }

  .fiviCCInfo > span:first-of-type {
    margin-right: 0;
  }
}

/*
	fiVISION_OneTimePasscode
*/

.fiviOTP {
  width: 100vw;
  max-width: 100%;
  margin-top: calc(var(--gap-vertical-50) * -1);
  & > .loading {
    width: 100vw;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  & .fiviOTPDestination,
  & .fiviOTPCode {
    display: flex;
    flex-direction: column;

    gap: var(--gap-vertical);
    width: 100vw;
    max-width: 100%;
    padding-bottom: calc(var(--gap-vertical) * 3.5);
  }
  & .fiviOTPDestination:has(select) {
    align-items: center;
    & > .fiviRadioButton {
      width: 100%;
      max-width: var(--column-width-2);
    }
  }
  & .fiviOTPCode {
    padding-top: var(--gap-vertical-50);
    & .fiviLabelContainer > label {
      font-size: calc(var(--font-size) + 4px);
    }
  }
  & .fiviOTPDestination > div:has(> .fiviBtnContainer),
  & .fiviOTPButtonContainer {
    gap: var(--gap-horizontal);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: var(--gap-vertical) var(--gap-horizontal);
    padding-top: var(--gap-vertical-200);
    border-top: solid 1px var(--color-gray-dark);
    align-items: center;
    width: 100vw;
    max-width: 100%;
  }
}

@media all and (max-device-width: 628px), all and (max-width: 628px) {
  .fiviOTP {
    .fiviOTPDestination,
    .fiviOTPCode {
      padding-bottom: calc(var(--gap-vertical) * 7);
    }
    .fiviOTPDestination > div:has(> .fiviBtnContainer),
    .fiviOTPButtonContainer {
      flex-direction: column-reverse;
      align-items: center;
      justify-content: center;
      gap: var(--gap-vertical-75);
      & .button-link {
        text-align: center;
      }
    }
    .fiviPanel {
      width: 100%;
      max-width: 100%;
    }
  }
}

/*
    fivision_AccountSelection
*/

.fiviAccountSelectionCheckboxList {
  width: 100vw;
  max-width: 100%;
  & .fiviSelectAccountsContainer {
    width: 100vw;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-150);
  }
}

/*
    fiVISION_BeneficialOwnership
*/

.fiviBenficialOwnership {
  width: 100vw;
  max-width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--gap-vertical-150);
  overflow-x: auto;
  margin: 0 10px;
  & > .fiviTable {
    border: 1px solid var(--color-gray-dark);
    border-radius: 5px;
    padding-top: var(--column-spacer);
  }
  & .fiviTableHead th {
    border-bottom: 1px solid var(--color-gray-dark);
    padding: 0 calc(var(--column-spacer) / 2) var(--column-spacer)
      calc(var(--column-spacer) / 2);
  }
  & .fiviTableBody td {
    padding: calc(var(--column-spacer) / 2);
  }
  & .fiviTableHead th:first-of-type,
  & .fiviTableBody td:first-of-type {
    padding-left: var(--column-spacer);
  }
  & .fiviTableHead th:last-of-type,
  & .fiviTableBody td:last-of-type {
    padding-right: var(--column-spacer);
  }
  & td {
    min-width: var(--column-width-2);
  }
  & td:has(> .fiviTextBox) {
    width: 100vw;
    max-width: var(--column-width-2);
  }
  & td:has(> .fiviDropDown) {
    width: 100vw;
    max-width: var(--column-width-4);
  }
  & tr:not(:last-of-type) > td {
    border-bottom: 1px solid var(--color-gray-dark);
  }
  & .fiviTextBox,
  & .fiviDropDown {
    max-width: 100%;
    margin: 0 auto;
    display: block;
    & .form-control {
      margin-top: 0;
      text-align: center;
    }
    & .fivisionpopover {
      max-width: 100%;
    }
  }
  & .fiviRadioButton {
    display: block;
    margin: 0 auto;
  }
  & .fiviBtnContainer {
    align-self: flex-end;
  }
}

/*
    fiVISION_ExistingAccountOwnerList
*/

.fiviExistingAccountOwnerListContainer {
  width: 100vw;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal-200);
  & > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--gap-horizontal-75);
  }
  & .fiviLabelContainer:has(.section-header) {
    width: 100%;
    margin-bottom: var(--gap-horizontal-50);
  }
  & .h4 {
    text-decoration: underline;
    margin-top: var(--gap-horizontal-75);
  }
}

.fiviExistingAccountOwnerProductsListClass {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal-75);
  margin-left: var(--gap-horizontal-50);
  & > .fiviExistingAccountOwnerApplicantNameClass {
    display: flex;
    gap: var(--gap-horizontal-50);
    align-items: center;
    & label.DefaultCBControlClassV3 {
      font-size: 16px;
      font-weight: 600;
    }
  }
  & div:has(> .product-selection) {
    display: flex;
    flex-direction: column;
    gap: var(--gap-horizontal-50);
    width: 100%;
    margin-left: var(--gap-horizontal-50);
    & > .product-selection > .fiviCheckBox {
      width: 100%;
      max-width: 100%;
      justify-content: flex-start;
      & input {
        width: fit-content;
      }
      & label {
        font-size: 16px;
      }
    }
  }
}

/*
	6.35 Status Center 
	6.35.1 Global Overrides
*/
.status-center-page {
  .btn-primary,
  .btn-default {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    max-width: var(--fiviInput-width);
    min-width: var(--column-width-2);
    width: fit-content;
    height: var(--gap-vertical-150);
    line-height: calc(var(--gap-vertical-150) - 4px);
    margin: 0;
    padding: 0 10px;
    color: var(--color-secondary-normal);
    font-size: 14px;
    font-weight: 600;
    background-color: transparent;
    border: 2px solid var(--color-secondary-normal);
    border-radius: 5px;
    box-shadow: none;
    text-transform: lowercase;
    text-decoration: none;
    text-align: center;
    &:hover:not(:disabled),
    &:active:not(:disabled),
    &:focus:not(:disabled) {
      background-color: transparent;
      color: var(--color-primary-normal);
      border-color: var(--color-primary-normal);
      font-weight: 600;
      box-shadow: none;
      text-decoration: none;
    }
    &:disabled {
      opacity: 0.5;
    }
  }
}

.V3StatusCenterLogin > #pnlEnterPassword,
.V3StatusCenterLogin > #pnlShowCreatePass,
.V3StatusCenterLogin > #pnlShowMFACode,
.V3StatusCenterLogin > #pnlShowMFADropdown,
.V3SummaryControl #pnlShowMFADropdown,
.V3SummaryControl #pnlShowMFACode,
.V3SummaryControl .fiviVerifyTrialDeposits,
.V3SummaryControl .fiviCheckOrder,
.fiviStatusCenterEmail,
.fiviVerifyTrialDepositsInputContainer {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
  width: 100vw;
  max-width: 100%;
}

.V3StatusCenterLogin > #pnlEnterPassword .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowCreatePass .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowMFACode .DefaultLabelClassV3,
.V3StatusCenterLogin > #pnlShowMFADropdown .DefaultLabelClassV3,
.V3SummaryControl #pnlShowMFACode .DefaultLabelClassV3,
.V3SummaryControl #pnlShowMFADropdown .DefaultLabelClassV3,
.V3SummaryControl .fiviVerifyTrialDeposits .DefaultLabelClassV3,
.fiviStatusCenterEmail .DefaultLabelClassV3 {
  display: flex;
  align-items: center;
  height: var(--input-height);
  position: absolute;
  left: var(--gap-horizontal-50);
  top: var(--input-marginTop-forLabelFocusSpace);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-label);
  line-height: var(--font-size-label);
  color: var(--font-color-label);
  font-family: var(--font-family-label);
  transition: all 0.2s ease-in-out;
  pointer-events: none;
}

.V3StatusCenterLogin > #pnlEnterPassword .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowCreatePass .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowMFACode .LabelClassFocus,
.V3StatusCenterLogin > #pnlShowMFADropdown .LabelClassFocus,
.V3SummaryControl #pnlShowMFACode .LabelClassFocus,
.V3SummaryControl #pnlShowMFADropdown .LabelClassFocus,
.V3SummaryControl .fiviVerifyTrialDeposits .LabelClassFocus,
.fiviStatusCenterEmail .LabelClassFocus {
  height: var(--input-focusLabel-fontSize);
  font-size: var(--input-focusLabel-fontSize);
  top: 0 !important; /* global.css conflict */
  left: 0;
  font-weight: 500;
}

.V3StatusCenterLogin > #pnlEnterPassword .fivisionpopover,
.V3StatusCenterLogin > #pnlShowCreatePass .fivisionpopover,
.V3StatusCenterLogin > #pnlShowMFACode .fivisionpopover,
.V3SummaryControl #pnlShowMFACode .fivisionpopover,
.V3SummaryControl .fiviVerifyTrialDeposits .fivisionpopover,
.fiviStatusCenterEmail .fivisionpopover {
  position: relative !important;
  top: unset;
  bottom: unset !important;
  box-shadow: none;
  border: none;
  background-color: transparent;
  width: 100vw;
  max-width: var(--fiviInput-width);
  left: 0;
  margin: 0;
  /* margin-top: var(--gap-vertical-25); */
  text-align: left;
}

.V3StatusCenterLogin > #pnlShowMFADropdown select.DefaultFormControlClassV3,
.V3SummaryControl #pnlShowMFADropdown select.DefaultFormControlClassV3 {
  padding: 0px var(--gap-horizontal-50) !important;
  font-size: var(--font-size-input) !important;
  max-width: var(--fiviInput-width);
}

.V3StatusCenterLogin > #pnlEnterPassword .fiviControl,
.V3StatusCenterLogin > #pnlShowCreatePass .fiviControl,
.V3StatusCenterLogin > #pnlShowMFACode .fiviControl,
.V3StatusCenterLogin > #pnlShowMFADropdown .fiviControl,
.V3SummaryControl #pnlShowMFACode .fiviControl,
.V3SummaryControl #pnlShowMFADropdown .fiviControl,
.V3SummaryControl .fiviVerifyTrialDeposits .fiviControl,
.V3SummaryControl .fiviCheckOrder .fiviControl,
.fiviStatusCenterEmail .fiviControl {
  padding: 0;
  display: flex;
  & .fiviStaticLabel {
    position: absolute;
    top: -5px;
    font-weight: 500;
  }
}

.fiviCheckOrder {
  & button.DefaultNextButton {
    min-width: fit-content !important;
  }
}

.fiviCheckOrderOptions {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-75);
  & > div:has(select) {
    display: block !important;
  }
}

/*
	6.35.2 Status Center Login
*/

.fiviStatusCenterEmail {
  width: 100vw;
  max-width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

main:has(.V3StatusCenterLogin) {
  justify-content: center;
}

.V3StatusCenterLogin {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--gap-vertical-150);
  max-width: var(--column-width-12);
  width: 100%;
  line-height: var(--font-lineheight);
  font-size: calc(var(--font-size) + 2px);
}

.V3StatusCenterLogin div,
.V3StatusCenterLogin > div > span {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--gap-vertical);
}

.V3StatusCenterLogin > div span:has(> .btn-link) {
  display: block;
}

.V3StatusCenterLogin br {
  display: none;
}

.V3StatusCenterLogin > #pnlShowMFACode .fiviCheckBox {
  display: flex;
}

.V3StatusCenterLogin > #pnlEnterPassword,
.V3StatusCenterLogin > #pnlShowCreatePass,
.V3StatusCenterLogin > #pnlShowMFACode,
.V3StatusCenterLogin > #pnlShowMFADropdown {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--gap-vertical);
  max-width: var(--column-width-12);
  width: 100%;
  margin: 0;
}

.V3StatusCenterLogin .fiviControl.fiviTextBox {
  display: inline-flex !important;
  padding: 0 !important;
}

#pnlPleaseWait:has(+ .V3StatusCenterLogin) {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0.66;
  background-color: black;
  display: flex;
  & > .loader {
    position: absolute;
    top: 20%;
    left: calc(50% - 50px);
  }
}

/*
	6.35.3 Status Center Summary
*/

.V3SummaryControl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--gap-vertical-150);
  max-width: var(--column-width-12);
  width: 100%;
  line-height: var(--font-lineheight);
}

.V3SummaryControl span:has(> button.btn-link) {
  /* we need to add some structure to spans that have buttons. */

  display: inline-flex;
  align-items: center;
}

.V3SummaryControl br {
  display: none;
}

@media all and (max-device-width: 769px), all and (max-width: 769px) {
  .V3SummaryControl {
    gap: var(--gap-vertical);
  }
}

/*
	6.35.3.1 SC Summary Header
*/

.V3SummaryControl > header {
  display: block;
  box-shadow: none;
  padding: 0;
  background-color: transparent;
  border-bottom: none;
}

.V3SummaryHeader {
  background-image: none;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.V3SummaryHeader:before,
.V3SummaryHeader:after {
  display: none;
}

.V3SummaryHeader > #navbar-header {
  display: none !important;
}

/*
	6.35.3.2 SC Summary Icons/Navigation
*/

.V3SummaryHeader > #topNav {
  display: block !important;
  width: 100%;
  padding: 0;
}

.V3SummaryHeader > #topNav > ul {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: var(--gap-horizontal) var(--gap-vertical);
}

.V3SummaryHeader > #topNav:before,
.V3SummaryHeader > #topNav:after,
.V3SummaryHeader > #topNav > ul:before,
.V3SummaryHeader > #topNav > ul:after {
  display: none;
}

.V3SummaryHeader > #topNav > ul > .nav-item {
  margin: 0;
  padding: var(--gap-vertical-75);
  min-width: 100px;
}

.V3SummaryHeader > #topNav > ul > .nav-item.active {
  border: 1px solid var(--color-secondary-normal);
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
    rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.V3SummaryHeader > #topNav > ul > .nav-item > a {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
  padding: 0;
  margin: 0;
  font-size: calc(var(--font-size) + 2px);
  font-weight: 500;
  color: var(--color-primary-normal) !important;
  fill: var(--color-primary-normal) !important;
}

.V3SummaryHeader > #topNav > ul > .nav-item.active > a {
  background-image: none;
  background-color: transparent;
  box-shadow: none;
  color: var(--color-secondary-normal) !important;
  fill: var(--color-secondary-normal) !important;
}

.V3SummaryHeader > #topNav > ul > .nav-item .badge {
  right: var(--gap-vertical-25);
  left: unset;
  background-color: var(--color-secondary-normal);
  z-index: 2;
}

.V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
  right: var(--gap-vertical-75);
}

@media all and (max-device-width: 992px), all and (max-width: 992px) {
  .V3SummaryHeader > #topNav > ul > .nav-item {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: var(--gap-horizontal-25);
  }

  .V3SummaryHeader > #topNav > ul > .nav-item .badge,
  .V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
    position: relative;
    width: fit-content;
    height: fit-content;
    right: unset;
  }

  .V3SummaryHeader > #topNav > ul > .nav-item > a {
    flex-direction: row;
  }

  .V3SummaryHeader > #topNav > ul > .nav-item > a > svg {
    margin: 0 0 0 0;
  }
}

@media all and (max-device-width: 769px), all and (max-width: 769px) {
  .V3SummaryHeader > #topNav {
    border: none;
  }

  .V3SummaryHeader > #topNav > ul {
    flex-wrap: wrap;
    margin: 0;
    gap: var(--gap-vertical-25);
    border: none;
    justify-content: space-between;
  }

  .V3SummaryHeader > #topNav > ul > .nav-item {
    width: calc(50% - var(--gap-vertical-25));
    justify-content: center;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .V3SummaryHeader > #topNav > ul > .nav-item {
    justify-content: center;
    padding: var(--gap-vertical-50);
  }

  .V3SummaryHeader > #topNav > ul > .nav-item > a {
    flex-direction: column;
    justify-content: center;
  }

  .V3SummaryHeader > #topNav > ul > .nav-item .badge,
  .V3SummaryHeader > #topNav > ul > #nav-apps.nav-item .badge {
    position: absolute;
    right: var(--gap-vertical-25);
    top: var(--gap-vertical-50);
    left: unset;
    background-color: var(--color-secondary-normal);
    z-index: 2;
  }
}

/*
	6.35.4 SC Status Center Content
*/

.V3SummaryControl > article {
  margin: 0;
}

.V3SummaryControl .container-fluid {
  padding: 0;
}

.V3SummaryControl .container-fluid:before,
.V3SummaryControl .container-fluid:after {
  display: none;
}

.V3SummaryControl .container-fluid > div {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-75);
}

.V3SummaryControl .headline-container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
  padding: 0;
  background: transparent;
  margin: 0;
  text-align: left;
}

.V3SummaryControl .headline-container > h1 {
  font-size: 32px;
  text-transform: capitalize;
  font-weight: 500;
  text-align: center;
}

.V3SummaryControl .headline-container table.V3StatusCenterTableClass + div {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
}

table.V3StatusCenterTableClass {
  margin-bottom: 0px;
}

.V3SummaryControl table.V3StatusCenterTableClass td {
  line-height: 34px;
}

span:has(> table.V3StatusCenterTableClass) {
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
}

.fiviAdditionalMFAScreenContainer > #pnlControls {
  width: 100vw;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
}

/*
	6.35.4.1 Status Center Content Home
*/

.V3SummaryControl .container-fluid > div > .task {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--gap-horizontal-50);
  margin: 0;
  border: 1px solid var(--color-secondary-normal);
  border-radius: 5px;
  border-width: 2px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
    rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.V3SummaryControl .container-fluid > div > .task > .task-icon {
  fill: var(--color-primary-normal);
}

.V3SummaryControl .container-fluid > div > .task > .task-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-horizontal-50);
  margin: 0;
}

.V3SummaryControl .container-fluid > div > .task .task-text {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-25);
}

.V3SummaryControl .container-fluid > div > .task .task-title {
  color: var(--color-primary-normal);
  font-size: 16px;
  text-transform: capitalize;
  margin: 0;
}

.V3SummaryControl .container-fluid > div > .task .task-description {
  font-size: calc(var(--font-size) + 2px);
  color: var(--font-color);
}

/*
	6.35.4.2 Status Center Content Messages
*/

.V3SummaryControl
  header:has(#nav-messages.active)
  + article
  .headline-container,
.V3SummaryControl
  header:has(#nav-messages.active)
  + article
  .headline-container
  > span {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-150);
  align-items: flex-start;
  width: 100vw;
  max-width: 100%;
}

.V3SummaryControl
  header:has(#nav-messages.active)
  + article
  .headline-container
  > span
  div:has(.btn-primary) {
  /* text-align: center; */
  width: 100vw;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-horizontal);
}

.V3SummaryControl .fiviSCSendMessage > div,
.fiviSCSendMessage {
  display: flex;
  flex-direction: column;
  gap: var(--gap-vertical-75);
  width: 100vw;
  max-width: 100%;
  & > .btn-link {
    text-align: left;
  }
}

@media all and (max-device-width: 452px), all and (max-width: 452px) {
  .V3SummaryControl .container-fluid > div > .task > .task-icon {
    display: none;
  }
}

/*
    9. Page Specific
*/

/*
    9.1 Default Page
*/

main > .layout-container:has(.page-Default-Content) {
  background-color: unset;
  outline: none;
}

.page-Default-Content {
  & .h1 {
    font-weight: 300;
  }
  & .lets-get-started-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical-75);
    max-width: var(--column-width-6);
    width: 100%;
    height: auto;
    min-height: calc(480px + var(--gap-vertical));
    padding: var(--gap-vertical) var(--gap-horizontal);
    background: var(--color-white-normal);
    border: 1px solid var(--color-gray-dark);
    & > h2 {
      display: flex;
      align-items: center;
      gap: var(--gap-horizontal-50);
      & .DefaultTooltipClass {
        position: relative;
        display: none;
      }
    }
  }
  &.workflow-ocm .lets-get-started-container {
    min-height: auto;
    & .thumbnail-call-to-action {
      margin-top: var(--gap-horizontal-75);
    }
  }
  & .what-you-need li,
  & .what-you-need-popover li {
    font-size: 13px;
  }
  & .default-thumbnail-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-vertical);
    height: auto;
    min-height: calc(480px + var(--gap-vertical));
    justify-content: space-between;
    & > .thumbnail {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: left;
      gap: var(--gap-vertical-75);
      max-width: var(--column-width-5);
      width: 100%;
      min-height: 230px;
      margin: 0;
      padding: var(--gap-vertical) var(--gap-horizontal);
      border: 1px solid var(--color-gray-dark);
      background-color: var(--color-gray-light);
      border-radius: 0px;
      transition: none;
      box-shadow: none;
      & > .h3 {
        text-align: left;
      }
    }
  }
  & .thumbnail-call-to-action {
    width: 100%;
    margin-top: auto;
    display: flex;
    align-items: center;
    height: 24px;
    & .fiviBtnContainer:after,
    & .arrow-right:after {
      font-family: FontAwesome;
      content: "\f061";
      font-size: 16px;
      font-weight: 400;
      color: var(--color-primary-normal);
      padding-left: var(--gap-vertical-25);
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      height: 100%;
      line-height: 16px;
    }
    &:hover {
      & .fiviBtnContainer:after,
      & .thumbnail-call-to-action:hover .arrow-right:after {
        color: var(--color-primary-dark);
      }
    }
  }
}

@media all and (max-device-width: 1106px), all and (max-width: 1106px) {
  .page-Default-Content {
    & .lets-get-started-container {
      max-width: var(--column-width-5);
      height: fit-content;
      min-height: auto;
    }
    & .default-thumbnail-container {
      min-height: fit-content;
      justify-content: flex-start;
      & .thumbnail {
        max-width: var(--column-width-5);
        min-height: unset;
        & .thumbnail-call-to-action {
          margin-top: 0;
        }
      }
    }
    & .what-you-need,
    & .what-you-need-popover {
      font-size: calc(var(--font-size) - 2px);
    }
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .page-Default-Content {
    & .lets-get-started-container {
      max-width: 100%;
      height: fit-content;
    }
    & .lets-get-started-container > #IndividualHandler01 {
      align-items: flex-start;
    }
    &.workflow-ocm .lets-get-started-container {
      width: auto;
      max-width: var(--column-width-5);
    }
    & .default-thumbnail-container {
      max-width: 100%;
      width: 100%;
      flex-direction: row;
      flex-wrap: nowrap;
      & .thumbnail {
        max-width: 100%;
        min-height: fit-content;
      }
    }
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .page-Default-Content {
    & .default-thumbnail-container {
      flex-wrap: wrap;
    }
    & .thumbnail-call-to-action,
    & .thumbnail-call-to-action > #IndividualHandler01 {
      flex-direction: row;
      justify-content: flex-end;
    }
    & .what-you-need,
    & .what-you-need-popover {
      font-size: var(--font-size);
    }
    & .what-you-need-header,
    & .what-you-need {
      display: none;
    }
    & .lets-get-started-container {
      & > h2 {
        & .DefaultTooltipClass {
          display: inline;
        }
      }
    }
  }
}

@media all and (max-device-width: 525px), all and (max-width: 525px) {
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .page-Default-Content {
    & .thumbnail {
      max-width: var(--column-width-4);
    }
    & .lets-get-started-container {
      align-items: center;
    }

    & .lets-get-started-container > #IndividualHandler01 {
      align-items: center;
    }
  }
}

/*
	9.4 Funding Method
*/

.funding-method-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: var(--column-width-12);
  gap: var(--gap-vertical) var(--gap-horizontal);
  & > .fiviPanel {
    width: 100%;
    max-width: var(--column-width-3);
    & .fiviRadioButton {
      & input {
        display: none;
        & + label {
          display: flex;
          align-items: center;
          justify-content: center;
          width: var(--column-width-3);
          height: var(--input-height);
          border: 2px solid var(--color-gray-dark);
          border-radius: 2px;
          padding: 0 var(--column-spacer);
          text-align: center;
          cursor: pointer;
          &:hover {
            color: var(--color-primary-normal);
            border-color: var(--color-primary-normal);
          }
        }
        &:checked + label {
          color: var(--color-primary-dark);
          border-color: var(--color-primary-dark);
          background-color: var(--color-gray-light);
        }
      }
    }
  }
}

.pnlSelectFundingMethodDetails {
  width: 100vw;
  max-width: 100%;
}

#pnlSelectFundingMethodDetails .fiviPanel {
  width: 100%;
}

.funding-detail {
  padding: var(--column-spacer);
  outline: 2px solid var(--color-gray-dark);
  gap: var(--gap-vertical-75);
  width: 100%;
  max-width: calc(var(--fiviInput-width) + calc(var(--column-spacer) * 2));
  margin: 0 auto;
}

.funding-detail .section-header,
.funding-detail .page-text-small,
.funding-detail .page-text,
.funding-detail .page-text-large {
  text-align: center;
}

.funding-detail .section-header:before {
  content: "";
  display: inline;
  width: 100%;
  height: 1px;
  background-color: var(--color-gray-dark);
}

.funding-detail .section-header:after {
  flex-shrink: unset;
}

.funding-detail .fiviInput,
.funding-detail .fiviTwoInput {
  width: 100%;
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .funding-method-container {
    flex-direction: column;
    align-items: center;
    & > .fiviPanel {
      width: 100vw;
      max-width: 100%;
      & .fiviRadioButton {
        & input {
          & + label {
            width: 100vw;
            max-width: 100%;
          }
        }
      }
    }
  }

  .funding-method-container > .fiviPanel > .fiviMultiInput > .rb-as-button {
    max-width: 100%;
  }

  .funding-method-container .fiviCheckBox > label {
    width: 100%;
  }
}

@media all and (max-device-width: 475px), all and (max-width: 475px) {
  .funding-method-container > .fiviPanel {
    width: 100%;
    max-width: 100%;
  }
}

/*
	9.5 eSign Agreement // business type
*/

.page-eSignAgreement,
.page-BusinessType {
  & #lnkESignAgreement,
  & .fiviCheckBox > label {
    font-size: calc(var(--font-size) + 2px);
  }
  & .business-type-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-horizontal-150);
    & > div {
      & > .h3 {
        margin-bottom: var(--gap-horizontal-50);
      }
      & .fiviControl.fiviRadioButton {
        width: 100vw;
        max-width: var(--fiviInput-width);
      }
      gap: var(--gap-horizontal-50);
    }
  }
}

/* business-type-container */

/*
	9.6 Disclosure
*/

.page-Disclosures .page-text.disclosure-click-text {
  font-weight: 600;
  color: red;
}

.page-Disclosures .CheckboxDisabledMessage {
  display: none;
}

/*
    10. ControlID Specific
*/

#tbCamera {
  display: none;
  max-width: var(--fiviInput-width);
  width: 100%;
}

#tbCamera #lblLicenseScan {
  display: block;
  left: 0;
  transform: none;
  margin: 0 auto;
}

#pnlDocuments {
  width: 100%;
}

.pnlAddIndividualLink {
  width: 100%;
}

.add-another-list-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  & > .fivi-input-width {
    justify-content: center;
    align-items: center;
  }
}

.existing-list-container {
  gap: var(--gap-horizontal-75);
  justify-content: flex-start;
  align-items: flex-start;
  & .fiviLinkButton {
    color: var(--color-primary-normal);
    text-decoration: underline;
    &:hover,
    &:active,
    &:hover {
      color: var(--color-primary-dark);
    }
  }
}

@media all and (max-device-width: 836px), all and (max-width: 836px) {
  .add-another-list-container {
    & > .fivi-input-width {
      max-width: var(--column-width-3);
    }
  }
}

@media all and (max-device-width: 656px), all and (max-width: 656px) {
  .add-another-list-container {
    flex-direction: column;
    gap: var(--column-spacer);
    & .vertical-divider {
      display: none;
    }
    & > .fivi-input-width {
      max-width: 100%;
      text-align: center;
      & > .h3,
      & li {
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
  }
}

@media all and (max-device-width: 834px), all and (max-width: 834px) {
  #tbCamera {
    display: block;
    max-width: var(--column-width-full);
    width: fit-content !important;
  }
}

/*
    11. Admin Console
*/

.AdminContent .aspNetDisabled {
  display: flex;
  width: fit-content;
  align-items: center;
  min-width: 200px;
}

.AdminContent .aspNetDisabled > input {
  width: 20px;
}

.layout.AdminConsole {
  min-height: auto;
}

.layout.AdminConsole > header,
.layout.AdminConsole > footer {
  display: none;
}

.layout.AdminConsole > main {
  padding: 40px 10px;
}

.layout.AdminConsole > main > .layout-container {
  width: 100%;
  max-width: calc(980px - 40px);
}

.layout.AdminConsole .page-navigation-container {
  max-width: 100%;
}

/*
    MCRD
*/

.fiviViewFormHeader {
  max-width: var(--column-width-12);
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  & > .fiviSCDropDown {
    width: 100vw;
    max-width: calc(var(--fiviInput-width) * 0.5);
    flex-direction: column;
    margin: 10px 0;
    & > label {
      font-size: 16px !important;
      font-weight: 500;
    }
    & > .form-control {
      margin-top: 5px;
    }
  }
}

.fiviViewFormHeader + div > .layout {
  --column-width-10: 100%;
  --column-width-11: 100%;
  --column-width-12: 100%;
  --fiviInput-width: var(--column-width-4);
  --fiviInput-width-partial-main: var(--column-width-2);
  --fiviInput-width-partial-alt: var(--column-width-2);
  --fiviInput-width-half: calc(
    calc(var(--fiviInput-width) - var(--column-spacer)) / 2
  );
  & > header,
  & > footer,
  & .progress-container {
    display: none;
  }
  & > main {
    max-width: var(--column-width-9);
    & > .layout-container {
      margin: 0;
    }
  }
}
