/* Base */
html {
  /* Colors */
  --black-2: #090e33;
  --white: #f6f8f9; /* --dark-font-1 */
  --text-secondary: #ecf0f3b2;
  --grey: rgba(255, 255, 255, 0.2);
  /* Swap for darkest color */
  --blue-green-gradient:
    linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.03) 0%,
      rgba(255, 255, 255, 0.03) 100%
    ),
    linear-gradient(237deg, #aed56e 6.05%, #0a5e9b 87.96%);
  --green-gradient:
    linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.03) 0%,
      rgba(255, 255, 255, 0.03) 100%
    ),
    linear-gradient(238deg, #d8ffd4 -21.06%, #aed56e 137.61%);
  --purple-gradient: linear-gradient(
    180deg,
    rgba(8, 11, 29, 1),
    rgba(9, 14, 51, 1)
  );
  --dark-alert: #eb7f88;
  --dark-green: #d8ffd4;
  --dark-font-2: #a0a6b6;
  --lime-100: #d8ffd4;
  --text-_states-focus: rgba(249, 255, 255, 0.12);
  --primary-light: #e1f4fe;
  /* Spacing */
  --border-radius: 4px;
  --circle-svg: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDgwLTgwcS04MyAwLTE1Ni0zMS41VDE5Ny0xOTdxLTU0LTU0LTg1LjUtMTI3VDgwLTQ4MHEwLTgzIDMxLjUtMTU2VDE5Ny03NjNxNTQtNTQgMTI3LTg1LjVUNDgwLTg4MHE4MyAwIDE1NiAzMS41VDc2My03NjNxNTQgNTQgODUuNSAxMjdUODgwLTQ4MHEwIDgzLTMxLjUgMTU2VDc2My0xOTdxLTU0IDU0LTEyNyA4NS41VDQ4MC04MFptMC04MHExMzQgMCAyMjctOTN0OTMtMjI3cTAtMTM0LTkzLTIyN3QtMjI3LTkzcS0xMzQgMC0yMjcgOTN0LTkzIDIyN3EwIDEzNCA5MyAyMjd0MjI3IDkzWm0wLTMyMFoiLz48L3N2Zz4=");
  --circle-checked-svg: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJtNDI0LTI5NiAyODItMjgyLTU2LTU2LTIyNiAyMjYtMTE0LTExNC01NiA1NiAxNzAgMTcwWm01NiAyMTZxLTgzIDAtMTU2LTMxLjVUMTk3LTE5N3EtNTQtNTQtODUuNS0xMjdUODAtNDgwcTAtODMgMzEuNS0xNTZUMTk3LTc2M3E1NC01NCAxMjctODUuNVQ0ODAtODgwcTgzIDAgMTU2IDMxLjVUNzYzLTc2M3E1NCA1NCA4NS41IDEyN1Q4ODAtNDgwcTAgODMtMzEuNSAxNTZUNzYzLTE5N3EtNTQgNTQtMTI3IDg1LjVUNDgwLTgwWm0wLTgwcTEzNCAwIDIyNy05M3Q5My0yMjdxMC0xMzQtOTMtMjI3dC0yMjctOTNxLTEzNCAwLTIyNyA5M3QtOTMgMjI3cTAgMTM0IDkzIDIyN3QyMjcgOTNabTAtMzIwWiIvPjwvc3ZnPg==");
  --color-background: #091b35;
  --color-active: #c6e274;
  --input-border: #ecf0f3;
  --input-color: #d4d9dc;
  --input-disabled-border: #ecf0f373;
  --input-disabled-color: #f6f8f961;
  --button-background: var(--color-active);
  --button-border: var(--button-background);
  --button-color: #0e1316;
  --button-hover-background: #6f921e;
  --button-hover-border: var(--button-hover-background);
  --button-hover-color: var(--button-color);
  --button-disabled-background: #ffffff1f;
  --button-disabled-border: var(--button-disabled-background);
  --button-disabled-color: #ffffff61;
  --button-secondary-background: transparent;
  --button-secondary-border: #a6ce39;
  --button-secondary-color: #ecf0f3;
  --button-secondary-hover-background: rgba(116, 206, 57, 0.12);
  --button-secondary-hover-color: var(--button-secondary-color);
  --button-secondary-hover-border: var(--button-secondary-border);
  --button-secondary-disabled-background: transparent;
  --button-secondary-disabled-border: #ffffff1f;
  --button-secondary-disabled-color: #ffffff61;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: var(--color-background);
  color: white;
  height: 100vh;
  font-family: "Avenir", sans-serif;
}

h1 {
  font-size: 30px;
  line-height: 117%;
  letter-spacing: -0.5px;
}

/* Intro */
#headerTitle {
  font-weight: 500;
  font-size: 34px;
}

.subTitle {
  font-size: 14px;
  font-weight: 500;
}

/* Layout */
/* Main Layout - Two Column Grid */
.app-main {
  display: grid;
  grid-template-columns: 40% 60%; /* Reduced login from 45% to 40%, increased images from 55% to 60% */
  height: 100vh;
  min-height: 100vh;
}

/* Login Section - Left Column - Scrollable */
.login-section {
  background: var(--color-background);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 100px 60px 60px;
  overflow-y: auto; /* Enable scrolling for left column */
  overflow-x: hidden; /* Hide horizontal scroll */
  min-height: 100vh;
  max-height: 100vh; /* Constrain height to viewport */
  /* Hide scrollbar for all browsers */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
}
.login-section::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
  width: 0;
  background: transparent;
}

/* Right Column - Fixed/Stationary - Single Definition */
.graphic-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: var(--color-background);
  overflow: hidden;
  position: fixed;
  top: 66px; /* Start below the header */
  right: 0;
  width: 60%; /* Updated to match the new grid column width */
  height: calc(100vh - 66px); /* Adjust height to account for header */
  z-index: 1;
}

.image-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* Three equal columns for precise control */
  grid-template-rows: 1fr 1fr; /* Two equal rows */
  gap: 1rem;
  width: 100%;
  height: 100%; /* Use full container height */
  max-width: 100%;
  max-height: 100%;
}

/* Control individual image placement */
.image-item:nth-child(1) {
  /* Top left: small square (1 column width) */
  grid-column: 1/2;
  grid-row: 1/2;
}

.image-item:nth-child(2) {
  /* Top right: wide rectangle (2 columns width) */
  grid-column: 2/4;
  grid-row: 1/2;
}

.image-item:nth-child(3) {
  /* Bottom left: wide rectangle (2 columns width) - same as top right */
  grid-column: 1/3;
  grid-row: 2/3;
}

.image-item:nth-child(4) {
  /* Bottom right: small square (1 column width) - same as top left */
  grid-column: 3/4;
  grid-row: 2/3;
}

/* Ensure the header stays above the fixed image container */
.app-header {
  background-color: #fff;
  height: 66px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999; /* Higher than graphic-container */
  padding: 21px 25px;
  display: flex;
  align-items: center;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close:hover, .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* Auth Container - Restore Original Layout */
.auth-container {
  width: 100%;
  max-width: 480px;
  padding: 0; /* Remove extra padding since login-section handles it */
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* Changed from center */
  min-height: calc(100vh - 166px); /* Account for header height and padding */
}

/* Title Section */
#headerTitle {
  font-weight: 500;
  font-size: 34px;
}

.subTitle {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 1rem;
}

/* API Section (Login Form) */
#api {
  flex-grow: 1;
  margin-bottom: 2rem;
}

/* Footer */
#footer {
  margin-top: auto;
  padding-top: 2rem;
}

#contactSupportText,
#faq {
  text-align: center;
  display: block;
  margin-bottom: 1rem;
}

/* Responsive adjustments */
@media screen and (max-width: 1024px) {
  .app-main {
    grid-template-columns: 1fr; /* Single column */
    grid-template-rows: 1fr;
  }
  /* Hide the graphic container on mobile */
  .graphic-container {
    display: none;
    position: static; /* Reset position on mobile */
    width: auto;
    height: auto;
  }
  .login-section {
    padding: 80px 20px 20px;
    min-height: 100vh;
    max-height: none; /* Allow natural height on mobile */
    overflow-y: auto;
  }
  .auth-container {
    min-height: auto;
  }
}
@media screen and (max-width: 768px) {
  .app-header {
    padding: 15px 20px;
  }
  .login-section {
    padding: 80px 15px 15px;
  }
  .auth-container {
    max-width: 100%;
  }
  #headerTitle {
    font-size: 28px;
  }
}
@media screen and (min-width: 640px) and (max-width: 1024px) {
  .login-section {
    padding: 100px 60px 60px;
  }
}
/* Desktop specific adjustments */
.image-item {
  overflow: hidden;
  border-radius: 0; /* Remove rounded corners */
  box-shadow: none; /* Remove shadow as well since images are edge-to-edge */
}

.image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
  filter: grayscale(100%);
}

.image-item:hover img {
  transform: scale(1.05);
}

/* Cookie Preferences Button */
.cookie-preferences-button {
  display: none;
  padding: 6px 24px;
  border: 1px solid var(--color-active);
  background-color: transparent;
  color: white;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  transition: border-color 0.3s ease, color 0.3s ease;
  margin-top: 2em;
}
.cookie-preferences-button:hover {
  border-color: #aed56e;
  color: #aed56e;
  cursor: pointer;
}

/* Typography */
a {
  color: var(--color-active, #d8ffd4);
  text-decoration: none;
}

/* Form */
div.rememberMe input#rememberMe {
  order: 1;
  width: 2em;
  margin-right: 0em;
  flex-grow: 0;
}
div.rememberMe label {
  order: 2;
  width: auto;
  position: relative;
}

div.attrEntry::has(> input:is(:-webkit-autofill, :autofill)) > label,
div.entry-item::has(> input:is(:-webkit-autofill, :autofill)) > label {
  color: #000;
  z-index: 5;
  top: 5px;
  background: rgb(232, 240, 254) !important;
  padding: 4px 8px !important;
  border-radius: 8px;
}

input {
  appearance: auto;
  background-color: transparent;
  border-radius: var(--border-radius);
  outline-offset: 0x;
  outline: 1px solid transparent;
  border: 1px solid var(--input-border);
  color: var(--input-color);
  padding: 16px 12px;
  font-size: 16px;
  width: 100%;
}
input:focus:not(:disabled):not([type=radio]):not([type=checkbox]), input:hover:not(:disabled):not([type=radio]):not([type=checkbox]), input:active:not(:disabled):not([type=radio]):not([type=checkbox]), input:focus-visible:not(:disabled):not([type=radio]):not([type=checkbox]), input:focus-within:not(:disabled):not([type=radio]):not([type=checkbox]) {
  outline: 1px solid var(--input-border);
  border: 1px solid var(--input-border);
  outline-offset: 0x;
}
input:focus:not(:disabled):not([type=radio]):not([type=checkbox]).blurred:invalid, input:hover:not(:disabled):not([type=radio]):not([type=checkbox]).blurred:invalid, input:active:not(:disabled):not([type=radio]):not([type=checkbox]).blurred:invalid, input:focus-visible:not(:disabled):not([type=radio]):not([type=checkbox]).blurred:invalid, input:focus-within:not(:disabled):not([type=radio]):not([type=checkbox]).blurred:invalid {
  outline: 1px solid var(--dark-alert);
  border: 1px solid var(--dark-alert);
}
input:disabled {
  color: var(--input-disabled-color);
  border-color: var(--input-disabled-border);
  opacity: 0.8;
}
input:is(:-webkit-autofill, :autofill) {
  padding-top: 16px;
  top: 0px;
  position: relative;
  border: 1px solid #000;
  outline: 5px solid rgb(232, 240, 254);
}
input::placeholder {
  opacity: 0;
}
input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.15em !important;
  height: 1.15em !important;
  border-radius: 50%;
  background: transparent;
  border: 0.15em solid #000;
  outline: 0.15em solid #fff;
  padding: 0;
  margin: 0.5em;
}
input[type=radio]:checked {
  background: #c6e274;
  outline: 0.15em solid #c6e274;
}
input[type=radio]:focus {
  outline-offset: 0;
}

input.highlightError,
.error.itemLevel.show + input,
input.blurred:invalid {
  border-color: var(--dark-alert);
}

label {
  color: var(--dark-font-2);
  position: absolute;
}

.entry,
.entry-item,
.attrEntry {
  margin-bottom: 32px;
  position: relative;
}

.entry-item {
  display: flex;
  flex-direction: column;
}

.entry > label,
.entry-item > label,
.entry-item > .password-label > label,
.attrEntry > label,
.attrEntry > .buttons > label {
  left: 12px;
  position: absolute;
  transition: 0.25s ease;
  top: 14px;
  order: 1;
}
.entry > .error,
.entry-item > .error,
.entry-item > .password-label > .error,
.attrEntry > .error,
.attrEntry > .buttons > .error {
  order: 3;
}

.attrEntry {
  display: flex;
  flex-direction: column;
  position: relative;
}
.attrEntry:has(#email_label) {
  margin-top: 1em;
}
.attrEntry > label {
  order: 1;
}
.attrEntry > input {
  order: 2;
}
.attrEntry > .error.itemLevel {
  order: 3;
}
.attrEntry > div.buttons {
  order: 4;
}
.attrEntry > * {
  order: 5;
}

.error.itemLevel {
  color: var(--dark-alert);
  font-size: 12px;
  padding: 0.1em 1em;
}
.error.itemLevel p {
  margin: 0.2em 0 0 0;
}

.error.pageLevel {
  color: var(--dark-alert);
  font-size: 12px;
}

.button-secondary {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  position: relative;
}

.button-secondary button {
  background: var(--button-secondary-background);
  border-radius: var(--border-radius);
  border: 1px solid var(--button-secondary-border);
  color: var(--button-secondary-color);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 125%;
  padding: 8px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  text-transform: uppercase;
}

#cancel,
#email_ver_but_resend,
.button-secondary button {
  /* Tertiary button */
  border-radius: var(--border-radius);
  background: var(--button-secondary-background);
  border: 1px solid var(--button-secondary-border);
  color: var(--button-secondary-color);
  text-decoration: none;
}
#cancel:hover,
#email_ver_but_resend:hover,
.button-secondary button:hover {
  background: var(--button-secondary-hover-background);
  border: 1px solid var(--button-secondary-hover-border);
  color: var(--button-secondary-hover-color);
}

.buttons {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  position: relative;
  align-items: stretch;
  margin-bottom: 0.5em;
}
.buttons.verify {
  margin-top: 26px;
}
.buttons button {
  background: var(--button-background);
  border: 1px solid var(--button-border);
  border-radius: var(--border-radius);
  box-shadow: 0px 2px 4px 0px rgba(3, 19, 34, 0.16);
  color: #080b1d;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 125%; /* 15px */
  padding: 8px;
  text-align: center;
  width: 100%;
  cursor: pointer;
  border: none;
}

.buttons button,
button {
  text-transform: uppercase;
}
.buttons button:hover,
button:hover {
  background-color: var(--button-hover-background);
  border-color: var(--button-hover-border);
  color: var(--button-hover-color);
}
.buttons button:disabled,
button:disabled {
  background-color: var(--button-disabled-background);
  border-color: var(--button-disabled-border);
  color: var(--button-disabled-color);
}

.buttons button.secondary,
#emailVerificationControl_but_send_new_code,
#emailVerificationControl_but_change_claims {
  background: transparent;
  color: var(--color-active);
  border: 1px solid var(--color-active);
}

.intro {
  display: none;
}

x.intro p {
  /* H2 default styles - match sign in */
  display: block;
  font-size: 1.5em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
  unicode-bidi: isolate;
}

/* Password */
.password .attrEntry {
  position: relative;
}

.password-toggle {
  appearance: none;
  background: none;
  border: 0;
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
}

/* Elements */
div#attributeList ul {
  display: flex;
  flex-direction: column;
  list-style-type: none;
  padding: 0;
}
div#attributeList ul li.Password {
  order: 10;
}

.password-label {
  position: relative;
}

#forgotPassword {
  font-size: 14px;
  font-weight: 400;
  position: absolute;
  right: 0;
  top: 54px;
}

.helpLink {
  display: none;
}

#createAccount,
#contactSupport {
  margin-left: 8px;
  white-space: nowrap;
}

#contactSupportText,
#faq {
  text-align: center;
  display: block;
}

#contactSupportTextHeader {
  display: inline;
  font-weight: 800;
  font-size: 14px;
}

.create {
  text-align: center;
}

.divider {
  align-items: center;
  display: flex;
  font-size: 8px;
}
.divider:before, .divider:after {
  background-color: var(--dark-font-2);
  content: "";
  height: 1px;
  margin: 8px;
  width: 50%;
}

/* Last to avoid FOUC */
body {
  visibility: visible;
}

#info {
  position: fixed;
  width: 640px;
  left: 50%;
  top: 50%;
  transform: translateY(-50%);
  background-color: #080b1d;
  color: white;
  padding: 48px 128px 48px 128px;
  z-index: 9999;
  text-align: center;
  border-radius: 12px;
}

#attributeVerification #cancel {
  display: none;
}

/* Hide name fields untill email has been verfied successfully */
div#api:has(#emailVerificationControl_but_change_claims[aria-hidden=true],
#email_success[aria-hidden=true]) li:has(* > #surname, * > #givenName, * > #newPassword) {
  display: none;
}
div#api:has(#emailVerificationControl_but_change_claims[aria-hidden=true],
#email_success[aria-hidden=true]) #attributeVerification button#continue {
  display: none !important;
}

.mfaSetupCancelled_li {
  display: none;
}

div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry {
  display: grid;
  grid-template-columns: auto 1fr;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry > * {
  grid-column: span 2;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry div.addedHelp {
  order: 2;
  width: 100%;
  margin: 1em 0;
  font-size: 0.875em;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label {
  position: static;
  top: 0px;
  left: 0px;
  font-size: 1em;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label#extension_isMFAEnabled_label, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label#MfaSetupInitiated_label {
  order: 1;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--text-secondary);
  width: 100%;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=extension_isMFAEnabled_Enabled], div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=MfaSetupInitiated_Enabled] {
  order: 4;
  grid-column: 2;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=extension_isMFAEnabled_Disabled], div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=MfaSetupInitiated_Disabled] {
  order: 6;
  grid-column: 2;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=extension_isMFAEnabled_Enabled], div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=extension_isMFAEnabled_Disabled], div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=MfaSetupInitiated_Enabled], div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry label[for=MfaSetupInitiated_Disabled] {
  width: 80%;
  flex-grow: 0;
  flex-shrink: 0;
  margin-bottom: 1em;
  margin-top: 0.6em;
  color: var(--white);
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input {
  width: auto;
  display: inline-block;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#extension_isMFAEnabled_Enabled, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#MfaSetupInitiated_Enabled {
  order: 3;
  grid-column: 1;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#extension_isMFAEnabled_Disabled, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#MfaSetupInitiated_Disabled {
  order: 5;
  grid-column: 1;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#extension_isMFAEnabled_Enabled, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#extension_isMFAEnabled_Disabled, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#MfaSetupInitiated_Enabled, div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry input#MfaSetupInitiated_Disabled {
  flex-grow: 0;
  flex-shrink: 0;
  margin-bottom: 1em;
  margin-top: 1em;
  margin-right: 1em;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry div.error {
  order: 7;
  width: 100%;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .attrEntry .buttons {
  display: none;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl {
  position: absolute;
  left: 600px;
  top: 0px;
  background: var(--black-2);
  z-index: 10;
  width: 500px;
  padding: 4em;
  border-radius: 1em;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl > .attrEntry .authenticatorIconControlContent {
  display: grid;
  grid-template-areas: "item1 item1" "item2 item3" "item4 item4";
  grid-template-columns: 1fr 1fr; /* Two equal columns */
  grid-template-rows: auto auto auto;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl > .attrEntry .authenticatorIconControlContent > :nth-child(1) {
  grid-area: item1;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl > .attrEntry .authenticatorIconControlContent > :nth-child(2) {
  grid-area: item2;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl > .attrEntry .authenticatorIconControlContent > :nth-child(3) {
  grid-area: item3;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .AuthenticatorAppIconControl > .attrEntry .authenticatorIconControlContent > :nth-child(4) {
  grid-area: item4;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) ul:has(.QrCodeControl) {
  color: var(--text-secondary);
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) ul:has(.QrCodeControl) label {
  color: var(--white);
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) #totpQrCodeControl-picture {
  margin: 1em 0em;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) #totpQrCodeControl-picture img {
  border: 5px solid #fff;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .QrCodeControl a.otp-auth-link {
  border: 1px solid var(--dark-green);
  padding: 0.7em 1em;
  border-radius: var(--border-radius);
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
  font-weight: normal;
  margin-top: 1em;
  display: inline-block;
}
div:has(#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
.AuthenticatorAppIconControl) .QrCodeControl a.otp-auth-link:hover {
  background: var(--dark-green);
}

@media screen and (max-width: 600px) {
  div:has(#isMFAEnabled_Enabled,
  #extension_isMFAEnabled_Enabled,
  #MfaSetupInitiated_Enabled,
  .AuthenticatorAppIconControl) .AuthenticatorAppIconControl {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    padding: 0;
  }
}
/* Hide fields that are autofilled */
li.Password:has(#reenterPassword) {
  display: none;
}

li.TextBox:has(#displayName) {
  border: 1px solid blue;
  display: none;
}

/* Toggle icon on display-password button */
button.eye {
  background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 16L17.0248 12.6038" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 17.5V14" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.5 16L6.96895 12.6124" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 8C6.6 16 17.4 16 21 8" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: center center;
  width: 24px;
  height: 24px;
}
button.eye.open {
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg width="24px" height="24px" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg" color="white"><path d="M3 13C6.6 5 17.4 5 21 13" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12 17C10.3431 17 9 15.6569 9 14C9 12.3431 10.3431 11 12 11C13.6569 11 15 12.3431 15 14C15 15.6569 13.6569 17 12 17Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>');
}

#loadingOverlay {
  position: absolute;
  top: -5px;
  left: -5px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background: var(--color-background);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
}

.spinner {
  border: 16px solid rgba(216, 255, 212, 0.4);
  border-radius: 50%;
  border-top: 16px solid #d8ffd4;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.password-meter {
  font-size: 12px;
  padding: 0em 1em;
}
.password-meter .title {
  padding-bottom: 0.5em;
  color: var(--dark-font-2);
}
.password-meter div.body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 3em 3em;
  color: var(--dark-font-2);
}
.password-meter div.body div {
  padding-left: 2em;
  position: relative;
  padding-top: 0.5em;
}
.password-meter div.body div:before {
  -webkit-mask: var(--circle-svg) no-repeat top left;
  mask: var(--circle-svg) no-repeat top left;
  mask-size: 1.6em auto;
  height: 2em;
  width: 2em;
  position: absolute;
  left: 0em;
  top: 4px;
  content: " ";
  display: inline-block;
  background: rgba(255, 255, 255, 0.5);
}
.password-meter div.body div.pass {
  color: var(--color-active);
}
.password-meter div.body div.pass::before {
  -webkit-mask: var(--circle-checked-svg) no-repeat top left;
  mask: var(--circle-checked-svg) no-repeat top left;
  mask-size: 1.6em auto;
  background: var(--color-active);
}

/* Move label up when input has focus or a value */
div.entry-item:has(input:focus,
input:autofill,
input:not(:placeholder-shown)):has(input[type=password], input[type=text], input[type=email]) label,
div.attrEntry:has(> input:focus,
> input:autofill,
> input:not(:placeholder-shown)):has(input[type=password], input[type=text], input[type=email]) > label,
div.attrEntry .buttons:has(> input:focus,
> input:autofill,
> input:not(:placeholder-shown)):has(input[type=password], input[type=text], input[type=email]) > label {
  background: var(--color-background);
  font-size: 12px;
  padding: 4px;
  top: -10px;
  z-index: 10;
}

/* Show/hide elements for password-reset state */
.password-reset #top-info,
.password-reset #right-info,
.password-reset #cancel,
.password-reset #api {
  display: none;
}
.password-reset #title {
  display: none !important;
}
.password-reset #continue {
  display: block;
}
.password-reset .Password {
  display: list-item;
}

/* Show/hide elements for profile-reset state */
.profile-edit #top-info,
.profile-edit #right-info,
.profile-edit #cancel,
.profile-edit #verifying_blurb {
  display: none;
}

/* Show/hide elements for email-verification state */
.email-verification #top-info,
.email-verification #right-info,
.email-verification #cancel {
  display: none;
}
.email-verification #continue {
  width: 100%;
}
.email-verification .intro {
  display: block;
}

#api {
  display: none;
  position: relative;
}

/* MFA-enrollment page */
main:has(.authenticatorIconControlContent,
#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
#QrCodeVerifyInstruction) #title {
  display: none !important;
}
main:has(.authenticatorIconControlContent,
#isMFAEnabled_Enabled,
#extension_isMFAEnabled_Enabled,
#MfaSetupInitiated_Enabled,
#QrCodeVerifyInstruction) .heading {
  display: none !important;
}
main.initialized {
  display: block;
}

@media screen and (min-width: 1300px) {
  #info {
    display: block;
  }
}
@media screen and (max-width: 1299px) {
  #info {
    display: none;
  }
}
footer {
  font-size: 12px;
  text-align: center;
  padding-top: 5em;
  margin-top: auto;
  color: var(--dark-font-2);
}

.footer {
  font-size: 12px;
  font-weight: 500;
  display: flex;
  padding: 8px;
  justify-content: space-between;
  align-items: center;
  margin-top: 8em;
}
.footer p {
  margin: 0;
}
.footer p a {
  font-weight: 100;
}

@media screen and (max-width: 600px) {
  body,
  input,
  button,
  .buttons button,
  #forgotPassword,
  label {
    font-size: 16px;
  }
}