﻿//
// Popovers
// --------------------------------------------------


.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: @zindex-popover;
    display: none;
    max-width: @popover-max-width;
    padding: 1px;
    // Our parent element can be arbitrary since popovers 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: @font-size-base;
    background-color: @popover-bg;
    background-clip: padding-box;
    border: 1px solid @popover-fallback-border-color;
    border: 1px solid @popover-border-color;
    border-radius: @border-radius-large;
    .box-shadow(0 5px 10px rgba(0, 0, 0, .2));
    // Offset the popover to account for the popover arrow
    &.top {
        margin-top: -@popover-arrow-width;
    }

    &.right {
        margin-left: @popover-arrow-width;
    }

    &.bottom {
        margin-top: @popover-arrow-width;
    }

    &.left {
        margin-left: -@popover-arrow-width;
    }
    // Arrows
    // .arrow is outer, .arrow:after is inner
    > .arrow {
        border-width: @popover-arrow-outer-width;

        &,
        &:after {
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            border-color: transparent;
            border-style: solid;
        }

        &:after {
            content: "";
            border-width: @popover-arrow-width;
        }
    }

    &.top > .arrow {
        bottom: -@popover-arrow-outer-width;
        left: 50%;
        margin-left: -@popover-arrow-outer-width;
        border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
        border-top-color: @popover-arrow-outer-color;
        border-bottom-width: 0;

        &:after {
            bottom: 1px;
            margin-left: -@popover-arrow-width;
            content: " ";
            border-top-color: @popover-arrow-color;
            border-bottom-width: 0;
        }
    }

    &.right > .arrow {
        top: 50%;
        left: -@popover-arrow-outer-width;
        margin-top: -@popover-arrow-outer-width;
        border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
        border-right-color: @popover-arrow-outer-color;
        border-left-width: 0;

        &:after {
            bottom: -@popover-arrow-width;
            left: 1px;
            content: " ";
            border-right-color: @popover-arrow-color;
            border-left-width: 0;
        }
    }

    &.bottom > .arrow {
        top: -@popover-arrow-outer-width;
        left: 50%;
        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;

        &:after {
            top: 1px;
            margin-left: -@popover-arrow-width;
            content: " ";
            border-top-width: 0;
            border-bottom-color: @popover-arrow-color;
        }
    }

    &.left > .arrow {
        top: 50%;
        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 {
            right: 1px;
            bottom: -@popover-arrow-width;
            content: " ";
            border-right-width: 0;
            border-left-color: @popover-arrow-color;
        }
    }
}

.popover-title {
    padding: 8px 14px;
    margin: 0; // reset heading margin
    font-size: @font-size-base;
    background-color: @popover-title-bg;
    border-bottom: 1px solid darken(@popover-title-bg, 5%);
    border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;
}

.popover-content {
    padding: 9px 14px;
}
