//
// Base styles
//

.alert {
  padding: $alert-padding;
  margin-bottom: $spacer-y;
  border: 1px solid transparent;
  @include border-radius($alert-border-radius);

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

// Headings for larger alerts
.alert__heading {
  margin-top: 0;
  // Specified to prevent conflicts of changing $headings-color
  color: inherit;
}

// Provide class for links that match alerts
.alert__link {
  margin-left: $half-spacer;
  font-weight: $alert-link-font-weight;
  font-style: italic;
  text-decoration: none;
  position: relative;
  cursor: pointer;

  &:after {
    content: '';
    width: 100%;
    position: absolute;
    left: 0;
    bottom: $border-width;
    border-width: 0 0 $border-width;
    border-style: solid;
  }
}

//Hide the alert when close is clicked
.alert--hidden {
  display: none;
}

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

.alert--dismissable {
  padding-right: ($alert-padding + 1);

  // Adjust close link position
  .alert__close {
    position: relative;
    top: 0;
    right: -($alert-padding);
    color: inherit;
  }
}


// Alternate styles
//
// Generate contextual modifier classes for colorizing the alert.
.alert--default {
  @include alert-variant($alert-default-bg, $alert-default-border, $alert-default-text);
}
.alert--success {
  @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
}
.alert--info {
  @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
}
.alert--warning {
  @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
}
.alert--danger {
  @include alert-variant($alert-danger-bg, $alert-danger-border,$alert-danger-text);
}
