.tooltip-comp {
  font-family: sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: $fontColor;
  background-color: $primaryBg;
  position: absolute;
  top: 0;
  left: 0;
  max-width: 300px;
  padding: 5px 10px;
  opacity: 0;
  pointer-events: none;
  word-break: break-word;
  text-align: left;
  border-radius: 2px;
}

.tooltip-comp-arrow {
  position: absolute;
  z-index: 1;
  width: $arrowSize;
  height: $arrowSize;
  overflow: hidden;

  &::before {
    content: '';
    position: absolute;
    top: $arrowHalfSize;
    left: $arrowHalfSize;
    width: $arrowSize;
    height: $arrowSize;
    background-color: $primaryBg;
    @include prefix(transform-origin, left top);
    @include prefix(transform, rotate(45deg));
  }
}

.tooltip-comp-content {
  position: relative;
  z-index: 2;
}

.tooltip-comp {
  &.hide-arrow-icon {
    .tooltip-comp-arrow {
      display: none;
    }
  }

  &.position-bottom {
    .tooltip-comp-arrow {
      margin-left: -$arrowHalfSize;
      left: 0;
      top: -#{$arrowSize - 1px};
    }
  }

  &.position-top {
    .tooltip-comp-arrow {
      margin-left: -$arrowHalfSize;
      left: 0;
      bottom: -#{$arrowSize - 1px};
    }
  }

  &.position-right {
    .tooltip-comp-arrow {
      margin-top: -$arrowHalfSize;
      top: 0;
      left: -#{$arrowSize - 1px};
    }
  }

  &.position-left {
    .tooltip-comp-arrow {
      margin-top: -$arrowHalfSize;
      top: 0;
      right: -#{$arrowSize - 1px};
    }
  }
}
