// Tooltips

// Base class
.tooltip {
  position: absolute;
  z-index: @zindex-tooltip;
  display: block;
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
  // So reset our font and text properties to avoid inheriting weird values.
  .reset-text();
  font-size: var(--font-size-small);

  .opacity(0);

  &.in     { .opacity(@tooltip-opacity); }
  &.top    { margin-top: var(--minus-3px); padding: @tooltip-arrow-width 0; }
  &.right  { margin-left:  var(--3px); padding: 0 @tooltip-arrow-width; }
  &.bottom { margin-top: var(--3px); padding: @tooltip-arrow-width 0; }
  &.left   { margin-left: var(--minus-3px); padding: 0 @tooltip-arrow-width; }

    transition: none;
}

// Wrapper for the tooltip content
.tooltip-inner {
    max-width: var(--200px);
    padding: var(--3px) var(--8px);
    color: var(--tooltip-color);
    text-align: center;
    background-color: var(--tooltip-bg);
    border-radius: var(--border-radius-small);
    line-height: var(--line-height-small);
}

// Arrows
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1
.tooltip {
  &.top .tooltip-arrow {
    bottom: 0;
    left: 50%;
    margin-left: @tooltip-arrow-width-negative;
    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
    border-top-color: var(--tooltip-bg);
  }
  &.top-left .tooltip-arrow {
    bottom: 0;
    right: @tooltip-arrow-width;
    margin-bottom: @tooltip-arrow-width-negative;
    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
    border-top-color: var(--tooltip-bg);
  }
  &.top-right .tooltip-arrow {
    bottom: 0;
    left: @tooltip-arrow-width;
    margin-bottom: @tooltip-arrow-width-negative;
    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
    border-top-color: var(--tooltip-bg);
  }
  &.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: @tooltip-arrow-width-negative;
    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
    border-right-color: var(--tooltip-bg);
  }
  &.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: @tooltip-arrow-width-negative;
    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
    border-left-color: var(--tooltip-bg);
  }
  &.bottom .tooltip-arrow {
    top: 0;
    left: 50%;
    margin-left: @tooltip-arrow-width-negative;
    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
    border-bottom-color: var(--tooltip-bg);
  }
  &.bottom-left .tooltip-arrow {
    top: 0;
    right: @tooltip-arrow-width;
    margin-top: @tooltip-arrow-width-negative;
    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
    border-bottom-color: var(--tooltip-bg);
  }
  &.bottom-right .tooltip-arrow {
    top: 0;
    left: @tooltip-arrow-width;
    margin-top: @tooltip-arrow-width-negative;
    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
    border-bottom-color: var(--tooltip-bg);
  }
}
