blockquote{
    margin    : 2em 0;
    padding   : 0.25em 2.5em;
    color     : lighten(@text-color, 10%);
    font-size : @font-size-large;
    position  : relative;

    &:before, &:after{
        color       : @gray-light;
        position    : absolute;
        line-height : 1em;
        .font-size(@font-size-large * 2);
        & when (@flexkit-icons){
            font-family : 'flexkit-icons';
        }
    }

    &:after{
        right  : 0;
        bottom : -0.25em;
        & when not(@flexkit-icons){
            content : "\201c";
        }
        & when (@flexkit-icons){
            content : "\e074";
        }
    }

    &:before{
        left : 0;
        top  : -0.25em;
        & when not(@flexkit-icons){
            content : "\201e";
        }
        & when (@flexkit-icons){
            content : "\e073";
        }
    }

    p{
        margin-bottom : 0;

        & + p{
            margin-top : 15px;
        }

    }

    .v2 when (@flexkit-icons){

        &:after{
            content : "\e076";
        }

        &:before{
            content : "\e075";
        }
    }

    &.noquotes when (@blockquote-noquotes) and (@blockquote-types){
        border-left : 2px solid @gray-light;
        padding     : .5em 1em;

        &:before, &:after{
            content : '';
        }
    }

    &.onequote when (@blockquote-onequote) and (@blockquote-types){
        padding-left  : 2em;
        padding-right : 2em;

        &:before{
            top : -0.45em;
            .font-size(@font-size-large * 5);
            .opacity(0.2);
        }
        &:after{
            content : '';
        }
    }

    &.cloud when (@blockquote-cloud) and (@blockquote-types){
        padding          : 1em;
        background-color : @gray-lighter;
        .border-radius(5px);
        .arrow-border(bottom-right; center; @gray-lighter);

        &:before{
            content : '';
        }

        @indent: 100px;
        @border-width: 1px;

        &.border when (@blockquote-cloud-border) and (@blockquote-types){
            @border-width: 1px;
            background-color : @body-bg;
            padding          : 1em;
            border           : @border-width solid @gray-lighter;
            .border-radius(@border-radius-small);

            &:before{
                z-index      : 1;
                position     : absolute;
                top          : 100%;
                left         : 0;
                right        : 0;
                border-width : 9px;
                border-style : solid;
                border-color : @body-bg @body-bg transparent transparent;
                margin       : auto;
                width        : 0;
                height       : 0;
            }
        }

        &.right when (@blockquote-cloud-right) and (@blockquote-types){
            zoom : 1;

            &:after{
                left  : auto;
                right : @indent;
            }

            &.border when (@blockquote-cloud-border) and (@blockquote-types){
                &:before{
                    left  : auto;
                    right : @indent + @border-width;
                }
            }
        }

        &.left when (@blockquote-cloud-left) and (@blockquote-types){
            zoom : 1;

            &:after{
                left                : @indent;
                right               : auto;
                border-right-color  : transparent !important;
                border-left-color   : @gray-lighter !important;
            }
            &.border when (@blockquote-cloud-border) and (@blockquote-types){
                &:before{
                    left               : @indent + @border-width;
                    right              : auto;
                    border-right-color : transparent;
                    border-left-color  : @body-bg;
                }
            }
        }
    }
}