.banner {
  display: table;
  position: relative;
  transition: all 0.2s ease;
  margin: 15px 0;
  width: 100%;
  word-break: break-all;

  &.tight {
    margin-top: 0;

    P {
      margin-top: 5px;
      margin-bottom: 5px;
    }
  }

  &.inline {
    width: initial;
    display: inline-block;
    margin: 0 5px 0 0;
  }

  .banner-icon {
    display: table-cell;
    vertical-align: middle;
    width: 40px;
    text-align: center;
    background-color: rgba(black, 0.05);

    > .icon {
      width: 20px;
      font-size: 20px;
      line-height: 23px;
    }
  }

  .banner-link {
      display: table-cell;
      vertical-align: middle;
      text-align: center;

      a {
        text-decoration: none;
        border: none;
      }
  }

  .banner-title {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 20px;
    background-color: rgba(black, 0.05);
  }

  .banner-message {
    display: table-cell;
    vertical-align: middle;
    padding: 0 15px;
    font-size: .85em;

    p {
      margin: .5em 0;
    }
  }

  .banner-close {
    display: table-cell;
    vertical-align: middle;
    width: 40px;
    text-align: center;
    cursor: pointer;

    > .icon {
      width: 20px;
      line-height: 23px;
    }
  }

  &.bg-default {
    background: $banner-default;
    border: solid 1px darken($bg-default, 5);
    color: $banner-color;

    .banner-icon, .banner-title {
      background: $bg-default;
      @include contrasted($bg-default);
    }
  }

  &.bg-primary {
    background: $banner-primary;
    border: solid 1px lighten($primary, 5);
    color: $banner-color;

    .banner-icon, .banner-title {
      background: $primary;
      @include contrasted($primary);
    }
  }

  &.bg-secondary {
    background: $banner-secondary;
    border: solid 1px lighten($secondary, 5);
    color: $banner-color;

    .banner-icon, .banner-title {
      background: $secondary;
      @include contrasted($secondary);
    }
  }

  &.bg-success {
    background: $banner-success;
    border: solid 1px lighten($success, 35);
    color: $banner-color;

    .banner-icon, .banner-title {
      background: lighten($success, 35);
      color: darken($success, 15);
    }
  }

  &.bg-info {
    background: $banner-info;
    border: solid 1px lighten($info, 5);
    color: $banner-color;

    .banner-icon, .banner-title, .banner-close {
      background: lighten($info, 20);
      color: darken($info, 15);
    }
  }

  &.bg-warning {
    background: $banner-warning;
    border: solid 1px lighten($warning, 5);
    color: $banner-color;

    .banner-icon, .banner-title, .banner-close {
      background: lighten($warning, 30);
      color: darken($warning, 10);
    }
  }

  &.bg-error {
    background: $banner-error;
    border: solid 1px lighten($error, 5);
    color: $error;

    .banner-icon, .banner-title, .banner-close {
      background: lighten($error, 30);
      color: darken($error, 10);
    }
  }

  &.basics {
    padding: 10px;
    font-size: 14px;
    display: flex !important;
    flex-flow: row wrap;
    justify-content: space-around;


    > .vertical-middle {
      text-align: center;
      padding: 0 25px;
      border-right: solid 2px $info;
      flex: 1 1;

      label, span, div {
        vertical-align: bottom;
      }

      &:last-child {
        border: 0;
      }

      .hr {
        border-bottom: 1px dashed #78C9CF;
      }
    }
    &.basics-stack-detail {
      span[class*='tag-'] {
          display:inline-block;
          margin-right: 5px;
      }

    }
    .block .text-small {
      font-size: 0.7em;
    }
  }
}
