:root {
  --color-secondary-600: #999999;
  --color-secondary-900: #111111;
}

body .elc-iam {
  /* customize iam/tokens */
  --color-primary: #ffffff;
  --color-primary-350: #c7c3c3;
  --color-primary-380: #d4d4d4;
  --color-primary-390: rgba(0, 0, 0, 0.4);
  --color-primary-400: rgba(0, 0, 0, 0.64);
  --color-primary-510: #666666;

  --color-error: #d0021b;
  --color-green: #087443;
  --color-warning: #e66100;
  --color-medium-grey: #5c5c5c;
  --text-base: 14px;
  --text-sm: 12px;

  /* customize iam/roles */
  --bg-tab: var(--color-white);
  --border-tab: var(--color-white);
  --font-tab: var(--font-body);
  --text-input-focus: var(--color-black);
  --text-input: var(--color-primary-600);
  --text-password-criteria: var(--color-green);
  --iam-disclaimer-tooltip-color: var(--color-medium-grey);

  --bg-tab-hover: var(--color-secondary);
  --border-input: var(--color-primary-100);
  --border-current: var(--color-primary-350);
  --crossed-eye-bg: var(--color-primary-900);
}

body .minimal-footer {
  --color-footer-bg: var(--color-secondary-900);
  --color-mobile-footer-bg: var(--color-secondary-900);
  --color-footer-text: var(--color-secondary-600);
}

body .elc-iam .elc-button {
  --button-hover-color: var(--color-primary);
  font-size: 0.75rem;
  line-height: 1.25;
}

body .elc-iam .elc-iam-sign-in-button,
body .elc-iam .elc-iam-submit-button {
  letter-spacing: 1.92px;
  font-family: var(--font-headline);
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.3;
  letter-spacing: 0;
}

body .elc-iam .elc-iam-wrapper {
  padding-block-end: 0;
  color: var(--color-black);
}

body .elc-iam .elc-tabs__tab {
  height: auto;
  block-size: auto;
  padding: 20px 16px;
  line-height: unset;
}

body .elc-iam .elc-tabs__tab:hover,
body .elc-iam .elc-tabs__tab:focus {
  border-color: var(--border-current);
}

body .elc-iam .elc-tabs__tab.elc-tabs__tab--current {
  border-block-end: 1px solid var(--color-black);
}

body .elc-iam .elc-tabs__tab .elc-tabs__tab-text {
  font-family: var(--font-headline);
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--color-medium-grey);
}

body .elc-iam .elc-tabs__tab.elc-tabs__tab--current .elc-tabs__tab-text {
  color: var(--color-black);
}

body .elc-iam .elc-tabs__panel {
  padding: 38px 16px 20px;
}

body .elc-iam .elc-iam-title .elc-iam-title-text {
  font-size: var(--text-lg);
}

body .elc-iam input {
  --form-input-border-color: var(--color-primary-380);
  --form-input-font-size: 1rem;
  color: var(--color-black);
}

body .elc-iam input:focus {
  --tw-ring-color: transparent;
  --form-input-border-color-focus: var(--color-primary-900);
}

body .elc-iam .elc-floating-label-string {
  color: var(--color-primary-510);
  padding-inline: 4px;
  letter-spacing: 0;
}

body .elc-iam .elc-floating-label__label-wrapper span.elc-floating-label__required-wrapper {
  padding: 0 5px 0 0;
}

body .elc-iam .elc-checkbox {
  margin-top: 0;
}

body .elc-iam .elc-checkbox-label {
  --checkbox-label-color: var(--color-black);
  --checkbox-label-line-height: 1.666;
}

body .elc-iam .elc-iam-wrapper a {
  font-weight: 400;
}

body .elc-iam .elc-iam-forgotPassword-wrapper {
  line-height: 1;
}

body .elc-iam .elc-iam-forgot-password-button {
  letter-spacing: normal;
  block-size: auto;
}

body .elc-iam .elc-iam-forgot-password-button:hover {
  color: var(--button-hover-background-color);
}

body .elc-iam .elc-iam-password-criteria-item-wrapper {
  color: var(--color-primary-390);
}

body
  .elc-iam
  .elc-iam-passwordStrength
  .elc-iam-passwordStrength-meter-wrapper
  .elc-iam-passwordStrength-meter-block {
  background-color: var(--color-primary-380);
}

body .elc-iam .elc-iam-passwordCriteria-wrapper .elc-iam-password-criteria-item.matched {
  color: var(--color-black);
}

body .elc-iam .elc-iam-passwordCriteria-wrapper .elc-iam-password-criteria-item.matched::before {
  color: var(--color-green);
}

body .elc-checkbox-label strong {
  font-family: inherit;
}

.elc-iam .elc-floating-label-input-error input.elc-floating-label-input-errorField {
  color: var(--text-input-focus);
}

body .elc-iam .elc-input-error p.elc-caption:not(:empty) {
  letter-spacing: 0;
  font-weight: 400;
  font-size: var(--text-base);
  line-height: 1.3;
  color: var(--color-error);
}

.border-b {
  border-bottom-width: 0;
}

.elc-iam .elc-iam-privacy-label,
.elc-iam .elc-iam-privacy-label:hover {
  color: var(--iam-disclaimer-tooltip-color);
  font-size: 0.75rem;
}

.elc-iam .iam-message p {
  font-size: var(--text-base);
  line-height: 1.6;
  letter-spacing: 0;
}

.elc-iam-terms-conditions p {
  font-size: var(--text-sm);
}
