//
// Popovers
// --------------------------------------------------


.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: @zindex-popover;
  display: none;
  width: @popover-width;
  padding: 12px 0 0 24px;
  text-align: left; // Reset given new insertion method
  background-color: @popover-bg;
  background-clip: padding-box;
  color: @popover-font-color;
  border: 1px solid @popover-fallback-border-color;
  border: 1px solid @popover-border-color;
  border-radius: @popover-border-radius;
  .box-shadow(0 @popover-shadow-blur @popover-shadow-blur @popover-shadow-color);
  padding-bottom: 0;

  // Overrides for proper insertion
  white-space: normal;

  // Offset the popover to account for the popover arrow
  &.top     { margin-top: -10px; }
  &.right   { margin-left: 10px; }
  &.bottom  { margin-top: 10px; }
  &.left    { margin-left: -10px; }
}

.popover-title {
  margin: 0; // reset heading margin
  font-size: @popover-title-font-size;
  font-weight: @popover-title-font-weight;
  line-height: @popover-title-line-height;
  background-color: @popover-title-bg;
  overflow: hidden;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -ms-text-overflow: ellipsis;
  white-space: nowrap;
}

.popover-body {
  margin: 0;
  padding-right: 24px;
}

.popover-container {
  margin: 0;
  line-height: @popover-line-height;
  position: relative;
}

.popover-container > .hidden {
  display: none;
}
.popover-container > .popover-close-btn {
  width: 24px;
  margin-left: 16px;
  float: right;
  display: block;
  font-size: @popover-font-size;
  color: @popover-close-button-color;
  font-weight: @popover-font-weight;
  text-align: center;
  margin-right: 16px;
  cursor: pointer;
}

.popover-content {
  line-height: @popover-line-height;
  font-size: @popover-font-size;
  margin: 0;
  padding-bottom: 22px;
}

.popover-content p:last-child {
  margin-bottom: 0;
}

// Arrows
//
// .arrow is outer, .arrow:after is inner

.popover > .arrow {
  &,
  &:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
  }
}
.popover > .arrow {
  border-width: @popover-arrow-outer-width;
}
.popover > .arrow:after {
  border-width: @popover-arrow-width;
  content: "";
}

  
.popover {
  &.top > .arrow {
    margin-left: -@popover-arrow-outer-width;
    border-bottom-width: 0;
    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
    border-top-color: @popover-arrow-outer-color;
    bottom: -@popover-arrow-outer-width;
    &:after {
      content: " ";
      bottom: 1px;
      margin-left: -@popover-arrow-width;
      border-bottom-width: 0;
      border-top-color: @popover-arrow-color;
    }

	left: @popover-arrow-offset + @popover-arrow-outer-width;

	&.right {
	  left: auto;
	  right: @popover-arrow-offset;
	}
  }
  &.right > .arrow {
    left: -@popover-arrow-outer-width;
    margin-top: -@popover-arrow-outer-width;
    border-left-width: 0;
    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
    border-right-color: @popover-arrow-outer-color;
    &:after {
      content: " ";
      left: 1px;
      bottom: -@popover-arrow-width;
      border-left-width: 0;
      border-right-color: @popover-arrow-color;
    }
	top: @popover-arrow-offset + @popover-arrow-outer-width;
	&.bottom {
	  top: auto;
	  bottom: @popover-arrow-offset;
	}
  }
  &.bottom > .arrow {
    margin-left: -@popover-arrow-outer-width;
    border-top-width: 0;
    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
    border-bottom-color: @popover-arrow-outer-color;
    top: -@popover-arrow-outer-width;
    &:after {
      content: " ";
      top: 1px;
      margin-left: -@popover-arrow-width;
      border-top-width: 0;
      border-bottom-color: @popover-arrow-color;
    }
	left: @popover-arrow-offset + @popover-arrow-outer-width;
	&.right {
	  left: auto;
	  right: @popover-arrow-offset;
	}
  }

  &.left > .arrow {
    right: -@popover-arrow-outer-width;
    margin-top: -@popover-arrow-outer-width;
    border-right-width: 0;
    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
    border-left-color: @popover-arrow-outer-color;
    &:after {
      content: " ";
      right: 1px;
      border-right-width: 0;
      border-left-color: @popover-arrow-color;
      bottom: -@popover-arrow-width;
    }
	top: @popover-arrow-offset + @popover-arrow-outer-width;
	&.bottom {
	  top: auto;
	  bottom: @popover-arrow-offset;
	}
  }

}
