body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
input,
span,
small {
  color: #4b4b4b;
}

a,
.btn-link-text {
  color: #0072d8;
  font-size: 0.875rem;
}

a:hover,
.btn-link-text:hover {
  color: #004ea8;
  text-decoration: underline;
}

.btn-primary {
  background-color: #0072d8;
  border-color: #0072d8;
}

hr {
  border-top: 0.063rem solid #c5c5c5;
  margin: 2rem 0;
}

.form-control {
  border: 0.063rem solid #99c1e7;
}

.bb-input-validation-message {
  display: block;
  margin-top: 0.5rem;
  color: #ff3700;
  font-size: 0.875rem;
}

.bb-input-info-message {
  display: block;
  margin-top: 0.5rem;
  color: #4b4b4b;
  font-size: 0.875rem;
}

.form-control.is-invalid {
  border-color: #ff3700;
}

.identity-logo {
  background-image: url(static/logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 1rem;
  width: 15rem !important;
  height: 5rem !important;
}

@media (max-width: 767px) {
  .bdo-quick-link--container {
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;
  }

  .bdo-quick-link--item {
    flex: 1 1 calc(33% - 1.5rem) !important;
  }

  .kc-page-title {
    font-size: 2rem !important;
    text-align: center;
    margin-bottom: 1.5rem !important;
  }

  .us-ootb-device-check__auth-code {
    padding-right: 4rem;
    text-align: center;
  }

  /* Увеличение размеров форм на мобильных устройствах */
  .identity-container {
    padding: 0 !important;
  }

  .identity-container__form {
    max-width: 100% !important;
    padding: 0 0.75rem !important; /* Минимальные боковые отступы */
  }

  .identity-container__panel {
    padding: 0 !important;
  }

  .form-control {
    font-size: 18px !important; /* Крупный шрифт для читаемости */
    padding: 1rem 1.25rem !important; /* Увеличенные отступы */
    min-height: 56px !important; /* Высокие поля */
    border-width: 2px !important; /* Более заметная граница */
  }

  .bb-form-field {
    margin-bottom: 1.75rem !important;
  }

  .label {
    font-size: 1.125rem !important; /* Увеличенный размер лейблов */
    margin-bottom: 0.75rem !important;
    font-weight: 500 !important;
  }

  .btn {
    font-size: 1.125rem !important;
    padding: 1rem 2rem !important;
    min-height: 56px !important;
    border-radius: 0.5rem !important;
  }

  .bb-button-bar__button {
    min-height: 56px !important;
    font-size: 1.125rem !important;
    padding: 1rem 2rem !important;
  }

  .bb-input-validation-message {
    font-size: 1rem !important;
  }

  .bb-subtitle,
  .registration-link {
    font-size: 1rem !important;
  }

  a {
    font-size: 1rem !important;
  }

  .identity-logo {
    width: 12rem !important;
    height: 4rem !important;
    margin: 1rem auto !important;
  }
}

.toggle-password {
  right: 0.625rem;
  top: 0.25rem;
  cursor: pointer;
}

.bb-icon-visibility::before {
  color: #616161;
  font-size: 1.25rem;
}

.bb-icon-visibility-off::before {
  content: "visibility_off" !important;
}

.btn {
  border-radius: 0.5rem;
}

.alert-danger {
  color: #4b4b4b;
  background-color: #ffe1d9;
  border-color: transparent;
}

.alert-success {
  color: #4b4b4b;
  background-color: #d9f2ef;
  border-color: transparent;
}

.bb-error-icon {
  color: #ff3700 !important;
}

.bb-success-icon {
  color: #00a995 !important;
}

.bb-error-content {
  padding-left: 2rem;
  font-size: medium;
}

.bb-error-space {
  padding: 1rem 1rem 0.5rem 1rem;
}

@media (max-width: 400px) {
  .bb-error-content {
    padding: 0 1.813rem 0 2.813rem;
  }
}

.bb-icon-error::before,
.bicon-error::before {
  content: url(../assets/error-icon.svg);
}

.bb-icon-success::before {
  content: url(../assets/success-icon.svg);
}

.bb-icon-phone-iphone::before {
  content: url(../assets/phone-iphone.svg);
}

.bb-subtitle--lg {
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
}

.bb-subheader--custom {
  color: #919191;
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1.188rem;
  text-transform: unset;
}

.bb-section-text__copy {
  font-weight: normal;
  color: #4b4b4b;
}

.bb-icon-align {
  padding-bottom: 2rem;
}

.bb-otp-btn {
  background-color: transparent;
  border: transparent;
  text-align: justify;
  width: 100%;
}

.bb-subtitle--light {
  color: #919191;
}

.bb-otp-submit--space {
  padding: 0.563rem 1.75rem;
  line-height: 1.375rem;
}

button:focus,
button:active,
button:focus-visible {
  outline: none !important;
}

.bb-otp-separator {
  border-top: 0.063rem solid #dedede;
}

/* Chrome, Safari, Edge, Opera - Hide arrow button */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Chrome, Safari, Edge, Opera - Hide arrow button */
input[type="number"] {
  -moz-appearance: textfield;
}

/* Edge - Hide default eye icon */
input::-ms-reveal,
input::-ms-clear {
  display: none;
}

/* Out of Band - CSS */
.bb-icon-devices::before {
  content: url(../assets/devices.svg);
}

.identity-icon--push-device::before {
  content: url(../assets/phone-iphone.svg);
}

.bb-icon-phone-android::before {
  content: url(../assets/phone-iphone.svg);
}

.bb-icon-caret-down::before {
  content: url(../assets/toggle-down.svg);
}

.bb-icon-caret-up::before {
  content: url(../assets/toggle-up.svg);
}

.bb-icon-arrow-back::before {
  content: url(../assets/icon-back.svg);
}

.bb-device__icons > .bb-icon-visibility::before {
  content: url(../assets/visibility.svg);
}

.bb-icon-visibility::before {
  content: url(../assets/bdo-visibility-off.svg);
}

.bb-icon-visibility-off::before {
  content: url(../assets/bdo-visibility.svg) !important;
}

.bb-icon-arrow-forward::before {
  content: url(../assets/arrow-forward.svg) !important;
}

.bb-submit__button {
  padding: 0.438rem 1.75rem;
  line-height: 1.375;
}

.bb-device__dropdown {
  width: 29rem;
  background-color: #ffffff;
  box-shadow: 0 0.25rem 0.563rem 0 rgba(0, 0, 0, 0.12);
}

.identity-dropdown-menu--full-width {
  border-radius: 0;
  width: 29rem;
  max-height: 19.063rem;
  box-shadow: 0 1rem 1rem 0 rgb(0 0 0 / 10%);
  margin-top: -0.625rem;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.bb-dropdown-panel__dropdown.dropdown-menu {
  padding-top: 0.6rem;
}

.identity-card--outline:focus-visible {
  border-radius: 0.5rem;
}

.card-device-dropdown-menu {
  border-radius: 0;
}

.card-device-dropdown-menu::before {
  top: 100%;
  left: 0;
  width: calc(100% - 1.5rem);
  margin-left: 1.5rem;
  border-bottom: 1px solid #c5c5c5;
  content: "";
}

.card-section::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100% - 1.5rem);
  margin-left: 1.5rem;
  border-bottom: 1px solid #c5c5c5;
  content: "";
}

.card-section:last-child {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.card-section:first-child {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.bb-otpInput-submit--space {
  padding: 0.5rem 1.75rem;
  line-height: 1.375rem;
}

.toggle-password-icon {
  right: 0.75rem;
  bottom: 2.25rem;
  cursor: pointer;
  float: right;
}

.bb-pass-info-message {
  display: block;
  margin-top: 0.5rem;
  color: #4b4b4b;
  font-size: 0.875rem;
}

.bb-old-app-pass-info-message {
  display: block;
  margin-top: 2rem;
  color: #919191;
  font-size: 0.856rem;
  padding-bottom: 0.5rem;
}

.kc-feedback-text .kc-info-text {
  padding-top: 0.3rem;
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.modal-header {
  justify-content: center;
}

.bb-popup-btn--space {
  padding: 0.5rem 4.5rem;
  line-height: 1.375rem;
}

.bdo-old-flow--image {
  width: 8.75rem;
  height: 5.833rem;
  border-radius: 0.5rem;
}

.bdo-old-flow--title {
  font-size: 0.875rem;
  padding-bottom: 1rem;
}

.bdo-old-flow--link {
  font-weight: 700;
  font-size: 0.688rem;
  color: #0072d8;
}

.bdo-old-flow--container {
  padding: 1rem;
  background: #e5f5ff;
  margin: 1.5rem 0 1.5rem 0;
}

@media (min-width: 991px) {
  .identity-container {
    height: calc(100% - 16px);
    overflow-y: auto;
    overflow-x: hidden;
  }
}

.identity-container__form {
  max-width: 470px;
  padding: 0 1rem;
}

.password-field-space {
  padding: 0.5rem 3rem 0.5rem 1rem;
}

/* BDO Button effects */
.btn-secondary:not(:disabled):not(.disabled) {
  color: #0072d8;
  border-color: #0072d8;
  background-color: #fff;
}

.btn-options:not(:disabled):not(.disabled) {
  color: #0072d8;
  border-color: #fff;
  background-color: #e5f5ff;
}

/* Hover+Focus */
.btn-primary:not(:disabled):not(.disabled):hover,
.btn-primary:not(:disabled):not(.disabled):focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
  border-color: #00558d;
  background-color: #00558d;
  box-shadow: none;
}

.btn-secondary:not(:disabled):not(.disabled):hover,
.btn-secondary:not(:disabled):not(.disabled):focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
  color: #0072d8;
  background-color: #e5f5ff;
  box-shadow: none;
}

.btn-options:not(:disabled):not(.disabled):hover,
.btn-options:not(:disabled):not(.disabled):focus,
.btn-options:not(:disabled):not(.disabled):active:focus {
  border-color: #0072d8;
  box-shadow: none;
}

.btn-danger:not(:disabled):not(.disabled):hover,
.btn-danger:not(:disabled):not(.disabled):focus,
.btn-danger:not(:disabled):not(.disabled):active:focus {
  border-color: #942121;
  background-color: #942121;
  box-shadow: none;
}

/* Disabled */
.btn-primary:disabled,
.btn-primary.disabled,
.btn-danger:disabled,
.btn-danger.disabled {
  color: #fff;
  border-color: #c2c2c1;
  background-color: #c2c2c1;
  cursor: not-allowed;
}

.btn-secondary:disabled,
.btn-secondary.disabled,
.btn-options:disabled,
.btn-options.disabled {
  color: #c2c2c1;
  border-color: #c2c2c1;
  background-color: #fff;
  cursor: not-allowed;
}

.bb-device-choice-header {
  padding-top: 1.25rem;
}

.bb-device-choice-form {
  padding-top: 1rem;
}

.bb-device-choice-form-with-error {
  padding-top: 0.5rem;
}

.registration-link {
  font-weight: 700;
}

.ad-container-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: calc(100vh - 9.188rem);
  padding-top: 4rem;
}

.ad-content-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ad-form-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 0 2rem;
}

.ad-logo {
  background-image: url(../assets/maint-app-img.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 19.938rem;
  width: 29.438rem;
  margin: 0 auto;
}

.ad-title {
  font-size: 1.5rem;
  font-weight: bold;
  padding-top: 4.813rem;
}

.ad-intro {
  font-size: 1rem;
  color: #919191;
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .ad-logo {
    height: 10rem;
    width: 10rem;
  }

  .ad-title {
    padding-top: 0;
  }

  h1 {
    line-height: 2.125rem;
  }
}

.modal {
  overflow: auto;
}

.bdo-heading-3 {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.313rem;
}

.bdo-quick-link--container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.5rem 0.5rem;
  max-width: 100%;
}

.bdo-quick-link--item {
  flex-direction: column;
  flex: 1 1 calc(25% - 1.5rem);
  text-align: center;
  max-width: 6.125rem;
}

.bdo-quick-link--space {
  padding-bottom: 0.5rem;
  margin: 0;
}

.bdo-quick-link--img {
  background: #e5f5ff;
  padding: 0.25rem;
  border-radius: 0.5rem;
}

.custom-modal-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.custom-modal-button {
  display: flex;
  justify-content: center;
}

.custom-modal-image {
  width: 10rem;
  height: 10rem;
}

.kc-page-title {
  margin-bottom: 1rem;
}

.form-group {
  margin-bottom: 1.5rem;
}

.login-hr {
  margin: 2rem 0;
}

.bg-gray {
  background-color: #f5f6f7;
}
