.#{$ns}Alert {
  font-size: var(--Alert-fontSize);
  box-shadow: var(--Alert-boxShadow);
  padding: var(--Alert-paddingY) var(--Alert-paddingX);
  border: var(--Alert-borderWidth) solid var(--Alert-borderColor);
  border-radius: var(--Alert-borderRadius);
  margin-bottom: var(--Alert-marginBottom);
  position: relative;
  color: var(--Alert-fontColor);
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;

  &-icon {
    margin-right: var(--gap-sm);
    font-size: var(--fontSizeLg);
  }

  &-content {
    flex: 1;

    .#{$ns}Alert-title {
      color: var(--text-color);
      font-size: var(--fontSizeBase);
      font-weight: 500;
      line-height: #{px2rem(24px)};
      margin-bottom: #{px2rem(4px)};
    }

    .#{$ns}Alert-desc {
      line-height: #{px2rem(24px)};
    }
  }

  &-close {
    outline: none;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    filter: alpha(opacity=20);
    opacity: 0.2;
    margin-left: #{px2rem(8px)};
    line-height: #{px2rem(24px)};

    &:hover {
      color: #000;
      text-decoration: none;
      cursor: pointer;
      filter: alpha(opacity=50);
      opacity: 0.5;
    }
  }

  &--danger {
    color: var(--Alert--danger-color);
    background: var(--Alert--danger-bg);
    border-color: var(--Alert--danger-borderColor);
  }

  &--info {
    color: var(--Alert--info-color);
    background: var(--Alert--info-bg);
    border-color: var(--Alert--info-borderColor);
  }

  &--success {
    color: var(--Alert--success-color);
    background: var(--Alert--success-bg);
    border-color: var(--Alert--success-borderColor);
  }

  &--warning {
    color: var(--Alert--warning-color);
    background: var(--Alert--warning-bg);
    border-color: var(--Alert--warning-borderColor);
  }
}
