@import "../common/typography/text.mixins";

:host {
  display: flex;
  flex-flow: column;
  background-color: var(--background-bright, $color-white);
  box-shadow: $shadow-card;
  border-radius: 0.4em;
  position: relative;
  overflow-x: hidden;

  &.loading {
    min-height: 200px;
  }

  div.card-loading-container {
    position: absolute;
    top: 43px;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0.4em;
    background-color: var(--background-bright, $color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: z("default");
  }
  header {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    padding: 0.5em;
    .title {
      display: flex;
      align-items: center;
      min-width: 0;
      flex: 1;
      ::ng-deep i.bhi-move {
        color: $light;
        margin-right: 0.3em;
        cursor: pointer;
      }
      h1,
      h2,
      h3 {
        font-size: $font-size-lg;
        font-weight: 500;
        line-height: 1.5;
        color: var(--text-main, #3d464d);
        width: 100%;
        padding: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        i {
          font-size: 1.2em;
          &.bhi-info {
            color: $light;
          }
        }
      }
    }
    .actions {
      color: lighten($dark, 15%);
      white-space: nowrap;
    }
  }

  p.card-message {
    padding: 20px 0;
    max-width: inherit;
    text-align: center;
    line-height: 25px;
    color: lighten($grey, 10%);
    i {
      display: block;
      font-size: 24px;
      margin: 0 0 0.5em;
      color: lighten($grey, 20%);
    }
  }

  footer {
    display: flex;
    justify-content: center;
  }

  &.novo-card-inline {
    display: inline-flex;
    justify-self: start;
    align-self: start;
  }
  &.novo-card-inset-none {
    padding: 0;
  }
  &.novo-card-inset-small {
    padding: $spacing-sm;
  }
  &.novo-card-inset-medium {
    padding: $spacing-md;
  }
  &.novo-card-inset-large {
    padding: $spacing-lg;
  }

  ::ng-deep .novo-card-header + .novo-card-content.condensed,
  ::ng-deep .novo-card-header + :not(.novo-card-content) {
    margin-top: $spacing-sm;
  }

  ::ng-deep [novo-card-image] {
    width: calc(100%);
    margin: $spacing-md 0;
  }
}
