body {
  --color-body-minimal-bg: var(--color-secondary-700);
}

body .elc-iam {
  /* customize iam/tokens */
  --color-black: #212121;
  --color-primary-50: #f2f2f2;
  --color-primary-100: #e7e7e7;
  --color-primary-300: #e5e5e5;
  --color-primary-350: #d4d4d4;
  --color-primary-400: #cccccc;
  --color-primary-500: #606060;
  --color-primary-700: var(--color-black-64);
  --color-primary-900: #212121;
  --color-secondary: #a3d6c7;
  --color-error: #cc0000;
  --color-warning: #e66100;
  --color-green: #458745;
  --title-font: var(--font-body);
  --font-body--bold: var(--font-headline);
  --text-base: 0.9375rem;

  /* customize iam/roles */
  --bg-tab-hover: var(--color-secondary);
  --border-input: var(--color-primary-400);
  --border-current: var(--color-primary-100);

  --iam-disclaimer-tooltip-border: var(--color-primary-50);
  --iam-disclaimer-tooltip-background: var(--color-primary-50);
  --iam-disclaimer-tooltip-border-radius: 0;
}

@media (min-width: 1024px) {
  body header {
    border-bottom: 1px solid var(--color-primary-300);
  }
}

body .elc-iam .elc-button {
  --button-background-color: var(--color-black);
  --button-hover-background-color: var(--color-secondary);
  --button-active-background-color: var(--color-secondary);
  --button-color: var(--color-white);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.2;
  block-size: 60px;
  text-transform: initial;
  margin-top: 24px;
}

body input.elc-input-field,
body input.elc-floating-label-input,
body input.elc-floating-label-input-field,
body textarea.elc-textarea {
  padding: 10px 20px;
}

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

body .elc-iam .elc-iam-forgot-password-button {
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  height: auto;
  line-height: 1.25;
  margin: 0;
}

body .elc-iam .elc-iam-wrapper {
  background-color: var(--color-white);
}

body .elc-iam .elc-iam-terms-conditions p,
body .elc-iam-wrapper a {
  font-family: var(--font-body);
  font-size: 0.75rem;
}

body .elc-iam-wrapper a:hover {
  color: var(--color-primary-500);
}

body .elc-iam .elc-tabs__panel {
  padding-block-end: 0;
}

body .elc-iam .elc-tabs__tab {
  min-height: 60px;
  border-block-end: 1px solid var(--color-primary-350);
  padding: 16px;
}

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 {
  line-height: 1.25;
  text-transform: uppercase;
  font-weight: 700;
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: var(--color-primary-700);
}

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

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-400);
  color: var(--color-black);
}

body .elc-iam .elc-dropdown-arrow {
  inline-size: auto;
}

body .elc-iam .elc-dropdown-arrow-icon {
  margin-inline-start: 10px;
  margin-inline-end: 10px;
}

body .elc-iam .elc-input-field {
  font-family: var(--font-body);
  --form-input-font-size: 0.875rem;
}

body .elc-iam-terms-conditions {
  color: var(--color-black);
}

body .elc-iam .elc-dropdown {
  border-color: var(--color-primary-400);
  margin-inline-end: 10px;
}

body .elc-iam .elc-grid-column:last-child .elc-dropdown {
  margin-inline-end: 0;
}

body .elc-iam .elc-floating-label-string {
  padding: 0 2px;
}

body .elc-iam .elc-iam-label {
  font-size: var(--text-base);
}

body .elc-iam .elc-floating-label__label-wrapper span,
body .elc-iam.vulcan-iam .elc-floating-label-input-field:focus + .elc-floating-label-string span,
body
  .elc-iam.vulcan-iam
  .elc-floating-label-input-field:not(:placeholder-shown)
  + .elc-floating-label-string
  span {
  font-size: 0.625rem;
  color: var(--color-black);
}

body
  .elc-iam.vulcan-iam
  .elc-floating-label-input-error
  .elc-floating-label-input-field
  + .elc-floating-label-string
  span {
  color: var(--color-error);
}

body .elc-iam .elc-floating-label-string {
  padding: 0 5px;
}

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

body .elc-iam .elc-floating-label__label-wrapper.elc-floating-label__label-is-down span,
body .elc-iam.vulcan-iam .elc-floating-label-input-field + .elc-floating-label-string span {
  font-size: 0.875rem;
}

body .elc-iam .elc-checkbox-label {
  --checkbox-label-font-size: 0.75rem;
  --checkbox-label-line-height: 1.25;
  --checkbox-label-color: var(--color-black);
}

body .elc-iam .elc-iam-privacy-label,
.elc-iam .elc-iam-privacy-label:hover {
  font-size: 0.75rem;
  line-height: 1.25;
}
