.alert {
  display: block;
  position: relative;
  word-wrap: break-word;
  word-break: break-word;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
}
.alert > * {
  max-width: 100%;
}
.alert + .alert {
  margin-top: -0.25rem;
}
.alert p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.alert i {
  margin-right: 0.5rem;
}
.alert .title {
  font-weight: 600;
  margin: 0;
}
.alert > :first-child {
  margin-top: 0;
}
.alert > :last-child {
  margin-bottom: 0;
}

.alert.callout {
  border: 1px solid #eee;
  border-left-width: 0.25rem;
  border-radius: 0.25rem;
  background: #FFF;
}
.alert.callout.tag {
  border-left-color: #15dd1b !important;
}
.alert.callout.tag .title {
  color: #15dd1b;
}
.alert.callout.tip {
  border-left-color: #28a745 !important;
}
.alert.callout.tip .title {
  color: #28a745;
}
.alert.callout.info {
  border-left-color: #19a2e8 !important;
}
.alert.callout.info .title {
  color: #19a2e8;
}
.alert.callout.question {
  border-left-color: #2e75f5 !important;
}
.alert.callout.question .title {
  color: #2e75f5;
}
.alert.callout.warning {
  border-left-color: #f0ad4e !important;
}
.alert.callout.warning .title {
  color: #f0ad4e;
}
.alert.callout.danger {
  border-left-color: #dc3545 !important;
}
.alert.callout.danger .title {
  color: #dc3545;
}

.alert.flat {
  border: 1px solid transparent;
  border-radius: 0.125rem;
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}
.alert.flat.tag {
  color: #285b2a;
  background-color: #d7fddf;
  border-color: #d7fddf;
}
.alert.flat.tag .title {
  color: #18381a;
}
.alert.flat.tip {
  color: #285b2a;
  background-color: #b1f7b5;
  border-color: #b1f7b5;
}
.alert.flat.tip .title {
  color: #18381a;
}
.alert.flat.question {
  color: #025378;
  background-color: #70bcf6;
  border-color: #70bcf6;
}
.alert.flat.question .title {
  color: #013349;
}
.alert.flat.info {
  color: #02587f;
  background-color: #a5ddf7;
  border-color: #a5ddf7;
}
.alert.flat.info .title {
  color: #01354d;
}
.alert.flat.warning {
  color: #852d12;
  background-color: #f7dba1;
  border-color: #f7dba1;
}
.alert.flat.warning .title {
  color: #581e0c;
}
.alert.flat.danger {
  color: #7f231c;
  background-color: #f79b9b;
  border-color: #f79b9b;
}
.alert.flat.danger .title {
  color: #551713;
}