.modal-xl {
  max-width: 98%;
}

.modal-header {
  background-color: $modal-body-bg;

  .page-title,
  .modal-title {
    .modal-title-with-label span {
      vertical-align: middle;
      display: inline-block;
    }

    .color-label {
      font-size: $gl-font-size;
      padding: $gl-vert-padding $label-padding-modal;
      vertical-align: middle;
    }
  }

  // leave enough space for the close icon
  .modal-title {
    &.mw-100,
    &.w-100 {
      // after upgrading to Bootstrap 4.2 we can use $modal-header-padding-x here
      // https://github.com/twbs/bootstrap/pull/26976
      margin-right: -28px;
      padding-right: 28px;
    }
  }
}

.modal-body {
  background-color: $modal-body-bg;
  line-height: $line-height-base;
  position: relative;
  padding: #{3 * $grid-size} #{2 * $grid-size};
  text-align: left;
  white-space: normal;

  .form-actions {
    margin: #{2 * $grid-size} #{-2 * $grid-size} #{-2 * $grid-size};
  }

  .text-danger {
    font-weight: $gl-font-weight-bold;
  }
}

.modal-footer {
  display: flex;
  flex-direction: row;

  .btn + .btn:not(.dropdown-toggle-split),
  .btn + .btn-group,
  .btn-group + .btn {
    margin-left: $grid-size;
  }

  @include media-breakpoint-down(xs) {
    flex-direction: column;

    .btn + .btn:not(.dropdown-toggle-split),
    .btn + .btn-group,
    .btn-group + .btn {
      margin-left: 0;
      margin-top: $grid-size;
    }
  }
}

body.modal-open {
  overflow: hidden;
}

.modal-no-backdrop {
  @extend .modal-dialog;

  .modal-content {
    box-shadow: none;
  }
}

.modal {
  background-color: $black-transparent;

  @include media-breakpoint-up(md) {
    .modal-dialog {
      margin: 30px auto;
    }
  }
}

.recaptcha-modal .recaptcha-form {
  display: inline-block;

  .recaptcha {
    margin: 0;
  }
}

.issues-import-modal,
.issues-export-modal {
  .modal-header {
    justify-content: flex-start;

    .import-export-svg-container {
      flex-grow: 1;
      height: 56px;
      padding: $gl-btn-padding $gl-btn-padding 0;
      text-align: right;

      .illustration {
        height: inherit;
        width: initial;
      }
    }
  }

  .modal-body {
    padding: 0;

    .modal-subheader {
      justify-content: flex-start;
      align-items: center;
      border-bottom: 1px solid $modal-border-color;
      padding: 14px;
    }

    .modal-text {
      padding: $gl-padding-24 $gl-padding;
      min-height: $modal-body-height;
    }
  }

  .checkmark {
    color: $green-400;
  }
}
