@import "../mixins/index";

@alert-prefix-cls: ~"@{css-prefix}alert";
@alert-title-prefix-cls: ~"@{css-prefix}alert-with-description";

.@{alert-prefix-cls} {
  position: relative;
  padding: 8px 8px 8px 16px;
  border-radius: @border-radius-base;
  color: @text-color;
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 10px;

  &-icon {
    margin-right: 8px;
    font-size: 14px;
    top: 1px;
  }

  &-description {
    font-size: 12px;
    line-height: 16px;
  }

  &-success {
    border: 1px solid tint(@success-color, 80%);
    background-color: tint(@success-color, 90%);
    .anticon {
      color: @success-color;
    }
  }

  &-info {
    border: 1px solid tint(@primary-color, 80%);
    background-color: tint(@primary-color, 90%);
    .anticon {
      color: @primary-color;
    }
  }

  &-warn {
    border: 1px solid tint(@warning-color, 80%);
    background-color: tint(@warning-color, 90%);
    .anticon {
      color: @warning-color;
    }
  }

  &-error {
    border: 1px solid tint(@error-color, 80%);
    background-color: tint(@error-color, 90%);
    .anticon {
      color: @error-color;
    }
  }

  &-close-icon, &-with-description-close-icon {
    font-size: 12px;
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -6px;
    transition: color .3s ease;
    color: #999;
    width: 12px;
    height: 12px;
    overflow: hidden;

    &-x {
      position: absolute;
      top: -3px;
      &:before {
        font-weight: 700;
        text-shadow: 0 1px 0 #fff;
        content: "\e62d";
        font-family: "anticon";
      }
    }

    &:hover {
      color: #444;
    }
  }

  &-close-text {
    position: absolute;
    right: 16px;
  }

  &-with-description {
    padding: 16px 16px 16px 69px;
    position: relative;
    border-radius: @border-radius-base;
    margin-bottom: 10px;
    color: @text-color;

    &-icon {
      position: absolute;
      top: 50%;
      left: 24px;
      margin-top: -15px;
      font-size: 29px;
    }

    &-close-icon {
      position: absolute;
      top: 17px;
      right: 16px;
      cursor: pointer;
      font-size: 12px;
    }

    &-message {
      font-size: 14px;
      color: @text-color;
    }

    &-description {
      font-size: 12px;
      color: @legend-color;
    }

    &-success {
      border: 1px solid tint(@success-color, 80%);
      background-color: tint(@success-color, 90%);
      .anticon {
        color: @success-color;
      }
    }

    &-info {
      border: 1px solid tint(@primary-color, 80%);
      background-color: tint(@primary-color, 90%);
      .anticon {
        color: @primary-color;
      }
    }

    &-warn {
      border: 1px solid tint(@warning-color, 80%);
      background-color: tint(@warning-color, 90%);
      .anticon {
        color: @warning-color;
      }
    }

    &-error {
      border: 1px solid tint(@error-color, 80%);
      background-color: tint(@error-color, 90%);
      .anticon {
        color: @error-color;
      }
    }
  }

  &-close {
    height: 0 !important;
    opacity: 0 !important;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    transition: all .3s @ease-in-out;
    transform-origin: 50% 0;
    animation-timing-function: @ease-in-out !important;
  }
}
