$cooltipz-shadow-color: rgba(0, 0, 0, 0.3);

@mixin tooltip {
  cursor: var(--cooltipz-cursor, #{$cooltipz-cursor});
  position: relative;

  &::after {
    background-color: var(--cooltipz-bg-color, #{$cooltipz-bg-color});
    border-radius: var(--cooltipz-border-radius, #{$cooltipz-border-radius});
    border: var(--cooltipz-border-width, #{$cooltipz-border-width})
      var(--cooltipz-border-style, #{$cooltipz-border-style})
      var(--cooltipz-border-color, #{$cooltipz-border-color});
    box-shadow: 0 0 0.1875rem $cooltipz-shadow-color;
    color: var(--cooltipz-text-color, #{$cooltipz-text-color});
    content: attr(aria-label);
    font-family: Verdana, Geneva, Tahoma, var(--cooltipz-fontawesome, Arial), sans-serif;
    font-size: var(--cooltipz-font-size, #{$cooltipz-font-size});
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-weight: 400;
    padding: 0.5em 1em;
    text-indent: 0;
    text-shadow: none;
    white-space: nowrap;
    z-index: 10;
  }

  &::before {
    content: "";
    z-index: 11;
  }

  &::after,
  &::before {
    @include base-animations;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition-delay: var(--cooltipz-delay-hide, #{$cooltipz-delay-hide});
  }

  &:hover,
  &:focus,
  &[data-cooltipz-visible],
  &.cooltipz--visible {
    &::before,
    &::after {
      opacity: 1;
      transition-delay: var(--cooltipz-delay-show, #{$cooltipz-delay-show});
    }
  }
}
