//
// Alerts
// --------------------------------------------------


// Base styles
// -------------------------

.alert {
  padding: @alert-padding;
  padding-left: @alert-padding*3;
  margin-bottom: @line-height-computed;
  // border-left: 3px solid transparent;
  border-radius: @alert-border-radius;
  position: relative;

  &::before {
    .fa-icon;
    content: @fa-var-exclamation-circle;
    position: absolute;
    left: 15px;
    top: 15px;
    font-size: 20px;
  }

  // Headings for larger alerts
  h4 {
    margin-top: 0;
    // Specified for the h4 to prevent conflicts of changing @headings-color
    color: inherit;
  }

  // Provide class for links that match alerts
  .alert-link {
    font-weight: @alert-link-font-weight;
  }

  // Improve alignment and spacing of inner content
  > p,
  > ul {
    margin-bottom: 0;
  }

  > p + p {
    margin-top: 5px;
  }

  > ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
}

// Dismissible alerts
//
// Expand the right padding and account for the close button's positioning.

.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
.alert-dismissible {
  padding-right: (@alert-padding + 20);

  // Adjust close link position
  .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit;
  }
}

// Alternate styles
//
// Generate contextual modifier classes for colorizing the alert.

.alert-success {
  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);

  &::before {
    content: @fa-var-check-circle;
  }
}

.alert-info,
.message {
  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
}

.alert-warning {
  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
}

.alert-danger,
.alert-error {
  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);

  &::before {
    content: @fa-var-exclamation-triangle;
  }
}

// Mixin for generating new styles
// .alert-styles(@color) {
//   border-color: darken(@color, 15%);
// }

// // Apply the mixin to the alerts
// .alert-success    { .alert-styles(@alert-success-bg); }
// .alert-info       { .alert-styles(@alert-info-bg); }
// .alert-warning    { .alert-styles(@alert-warning-bg); }
// .alert-danger,
// .alert-error      { .alert-styles(@alert-danger-bg); }