/**
 * @copyright   2010-2014, The Titon Project
 * @license     http://opensource.org/licenses/BSD-3-Clause
 * @link        http://titon.io
 */

@import "../common";

.#{$vendor-prefix}drop {
    @include reset-list;
    text-align: left;
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    line-height: 100%;
    z-index: $drop-zindex;
    opacity: 0;
    visibility: hidden;
    transition: left $drop-transition, opacity $drop-transition, visibility $drop-transition;

    // Nested
    .#{$vendor-prefix}drop {
        display: block;
        top: 0;
        left: 90%;
        z-index: $drop-zindex + 1;
    }

    // Apply to self
    ul,
    ol {
        @include reset-list;
    }

    li {
        position: relative;

        > a {
            padding: $small-padding;
            display: block;

            .caret-right {
                float: right;
                display: none;
            }
        }

        &.has-children {
            > a .caret-right { display: inline-block; }
        }

        // Show nested dropdown
        &:hover {
            .#{$vendor-prefix}drop {
                visibility: visible;
                opacity: 1;
                left: 100%;
            }
        }
    }
}

.#{$vendor-prefix}drop-divider {
    margin: ($margin / 2) 0;
    border-top: 1px solid $gray-dark;
}

.#{$vendor-prefix}drop-heading {
    padding: $small-padding;
}

//-------------------- Modifiers --------------------//

.#{$vendor-prefix}drop.#{$vendor-prefix}drop--up {
    top: auto;
    bottom: 100%;
}

.#{$vendor-prefix}drop.#{$vendor-prefix}drop--right {
    top: auto;
    left: 100%;
}

.#{$vendor-prefix}drop.#{$vendor-prefix}drop--left {
    top: auto;
    left: auto;
    right: 100%;
}

.#{$vendor-prefix}drop.#{$vendor-prefix}drop--right,
.#{$vendor-prefix}drop.#{$vendor-prefix}drop--left {
    &.reverse-align {
        bottom: 0;
    }
}

.#{$vendor-prefix}drop.#{$vendor-prefix}drop--down,
.#{$vendor-prefix}drop.#{$vendor-prefix}drop--up {
    &.reverse-align {
        left: auto;
        right: 0;
    }
}