[data-tooltip] {
  position: relative;

  &:after,
  &:before {
    pointer-events: none;
    transition: all .1s cubic-bezier(0.250, 0.250, 0.485, 1.650);
  }

  &:after {
    background-color: rgba(0, 0, 0, .675);
    border-radius: 6px;
    bottom: calc(100% + 14px);
    color: #ffffff;
    content: attr(data-tooltip);
    font-size: 12px;
    left: 7px;
    line-height: 1.5;
    margin-left: -89px;
    opacity: 0;
    padding: 12px;
    position: absolute;
    text-align: center;
    text-overflow: ellipsis;
    transform: translateY(-10px);
    visibility: hidden;
    width: 164px;
  }

  &:before{
    border-bottom: 8px solid transparent;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid rgba(0, 0, 0, .675);
    bottom: calc(100% - 2px);
    content: " ";
    left: 7px;
    margin-left: -7px;
    opacity: 0;
    position: absolute;
    transform: translateY(-10px);
    visibility: hidden;
  }

  &:hover {
    &:after,
    &:before {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
  }
}
