/* ------------------------------------------------------------------------------
*
*  # Summernote editor
*
*  Super simple WYSIWYG Editor for Bootstrap framework
*
*  Version: 1.0
*  Latest update: May 25, 2015
*
* ---------------------------------------------------------------------------- */


// Core
// ----------------------------------------

// Editor
.note-editor {
    border: 1px solid @panel-inner-border;
    border-radius: @border-radius-base;

    // Droppable
    .note-dropzone {
        position: absolute;
        z-index: 1;
        display: none;
        color: @brand-primary;
        background-color: #fff;
        border: 2px dashed @brand-primary;
        pointer-events: none;
        .opacity(0.95);

        // Message
        .note-dropzone-message {
            display: table-cell;
            font-size: @font-size-h1;
            font-weight: 500;
            text-align: center;
            vertical-align: middle;
        }

        // Hover state
        &.hover {
            color: @brand-primary;
            border: 2px dashed @brand-primary;
        }
    }
    &.dragover .note-dropzone {
        display: table;
    }

    // Toolbar
    .note-toolbar {
        background-color: @panel-footer-bg;
        border-bottom: 1px solid @panel-inner-border;
        padding: (@panel-body-padding - 5) @panel-body-padding;
        padding-top: 0;
        margin: 0;
        border-radius: @border-radius-base;
    }

    // Fullscreen mode
    &.fullscreen {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1050;
        width: 100%;

        // Editable
        .note-editable {
            background-color: #fff;
        }

        // Hide resizer
        .note-resizebar {
            display: none;
        }
    }

    // Codeview mode
    &.codeview {
        .note-editable {
            display: none;
        }
        .note-codable {
            display: block;
        }
    }

    // Status bar
    .note-statusbar {
        background-color: @panel-footer-bg;

        // Resize handle
        .note-resizebar {
            width: 100%;
            height: 8px;
            cursor: s-resize;
            border-top: 1px solid @panel-inner-border;

            // Icon bar
            .note-icon-bar {
                width: 20px;
                margin: 1px auto;
                border-top: 1px solid darken(@panel-inner-border, 20%);
            }
        }
    }

    // Editable area
    .note-editable {
        padding: @panel-body-padding;
        overflow: auto;
        outline: 0;
        min-height: 150px;

        &[contenteditable="false"] {
            background-color: @gray-lighter;
        }
    }

    // Code view
    .note-codable {
        display: none;
        width: 100%;
        padding: @panel-body-padding;
        margin-bottom: 0;
        font-family: Menlo,Monaco, monospace, sans-serif;
        color: #fff;
        background-color: @gray-dark;
        border: 0;
        border-radius: 0;
        resize: none;
        .box-shadow(none);
    }
}

// Air mode
.note-air-editor {
    outline: 0;
}

// Popover
.note-popover {
    .popover {
        max-width: none;

        // Content
        .popover-content {
            padding: (@panel-body-padding - 5);
            padding-top: 0;
            margin: 0;

            a {
                display: inline-block;
                max-width: 200px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                vertical-align: middle;
            }

            > .btn-group:last-child {
                margin-left: 0;
            }
        }

        // Popover arrow
        .arrow {
            right: 20px;
        }
    }
}



// Popover/toolbar elements
// ----------------------------------------

.note-popover .popover .popover-content,
.note-toolbar {

    // Buttons
    > .btn-group {
        margin-top: @content-padding-base;
        margin-left: @content-padding-base;
        margin-right: 0;
    }

    // Style
    .note-style {
        h1, h2, h3, h4, h5, h6, blockquote {
            margin: 0;
        }
    }

    // Table
    .note-table {
        min-width: 0;

        &.dropdown-menu {
            padding: 10px;
        }

        // Dimension picker
        .note-dimension-picker {
            font-size: 18px;
            margin-bottom: 10px;
            direction: ltr;

            // Mouse catcher
            .note-dimension-picker-mousecatcher {
                position: absolute!important;
                z-index: 3;
                width: 10em;
                height: 10em;
                cursor: pointer;
            }

            // Unhighlighted
            .note-dimension-picker-unhighlighted {
                position: relative!important;
                z-index: 1;
                width: 5em;
                height: 5em;
                background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
            }

            // Highlighted
            .note-dimension-picker-highlighted {
                position: absolute!important;
                z-index: 2;
                width: 1em;
                height: 1em;
                background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
            }
        }
    }

    // Color picker
    .note-color {
        .dropdown-menu {
            min-width: 330px;

            // Buttons
            .btn-group {
                margin: @padding-base-vertical @padding-base-horizontal;

                // Title
                .note-palette-title {
                    margin-bottom: 10px;
                    font-weight: 500;
                }

                // Rreset colors
                .note-color-reset {
                    padding: @padding-small-vertical @padding-small-horizontal;
                    cursor: pointer;
                    background-color: #F5F5F5;
                    text-align: center;
                    margin-bottom: 10px;
                }
            }
        }
    }

    // Paragraph
    .note-para {
        .dropdown-menu {
            min-width: 245px;
            padding: 10px;
            text-align: center;

            > div {
                &:first-child {
                    margin-left: 10px;
                }
            }
        }
    }

    // Dropdown menu
    .dropdown-menu {
        min-width: 90px;

        &.right {
            left: 0;
            right: auto;

            &:before {
                left: 9px;
                right: auto!important;
            }

            &:after {
                left: 10px;
                right: auto!important;
            }
        }

        li {
            a {
                i {
                    display: none;
                }

                &.checked {
                    background-color: #f5f5f5;
                }
            }
        }
    }

    // Color palette
    .note-color-palette {
        line-height: 1;

        div {
            .note-color-btn {
                width: 17px;
                height: 17px;
                padding: 0;
                margin: 0;
                border: 1px solid #fff;

                &:hover {
                    border: 1px solid @gray-dark;
                }
            }
        }
    }
}



// Dialog
// ----------------------------------------

.note-dialog {
    > div {
        display: none;
    }

    // Dropzone
    .note-image-dialog .mote-dropzone {
        min-height: 100px;
        margin-bottom: 10px;
        font-size: @font-size-h1;
        color: @gray-lighter;
        text-align: center;
        border: 4px dashed @gray-lighter;
    }

    // Help dialog
    .note-help-dialog {
        color: #ccc;
        background-color: transparent;
        background-color: @gray-dark!important;
        border: 0;
        .opacity(0.9);

        a {
            color: #fff;
        }

        // Title
        .title {
            padding-bottom: 5px;
            font-size: @font-size-h6;
            font-weight: 500;
            color: #fff;
            border-bottom: 1px solid #fff;
        }

        // Modal content
        .modal-content {
            background-color: transparent;
            border: 1px solid #fff;
            border-radius: @border-radius-base;
            .box-shadow(none);
        }

        // Close button
        .modal-close {
            color: @gray-light;
            cursor: pointer;
        }

        // Shortcut layout
        .note-shortcut-layout {
            width: 100%;

            td {
                vertical-align: top;
            }
        }

        // Shortcut
        .note-shortcut {
            margin-top: 8px;

            th {
                color: @gray-lighter;
                text-align: right;
            }

            td:first-child {
                min-width: 110px;
                padding-left: 10px;
                font-family: "Courier New";
                color: @gray-lighter;
                text-align: left;
            }
        }
    }
}



// Handle
// ----------------------------------------

.note-handle {
    .note-control-selection {
        position: absolute;
        display: none;
        border: 1px solid @gray-dark;

        > div {
            position: absolute;
        }

        // Background
        .note-control-selection-bg {
            width: 100%;
            height: 100%;
            background-color: @gray-dark;
            .opacity(0.3);
        }

        // Control handle
        .note-control-handle,
        .note-control-holder,
        .note-control-sizing {
            width: 7px;
            height: 7px;
            border: 1px solid @gray-dark;
        }
        .note-control-sizing {
            background-color: #fff;
        }


        // Control direction
        .note-control-nw {
            top: -5px;
            right: -5px;
            border-left: 0;
            border-bottom: 0;
        }
        .note-control-ne {
            top: -5px;
            left: -5px;
            border-bottom: 0;
            border-right: 0;
        }
        .note-control-sw {
            bottom: -5px;
            right: -5px;
            border-top: 0;
            border-left: 0;
        }
        .note-control-se {
            left: -5px;
            bottom: -5px;
            cursor: se-resize;
        }

        // Selection info
        .note-control-selection-info {
            left: 0;
            bottom: 0;
            padding: 5px;
            margin: 5px;
            color: #fff;
            background-color: @gray-dark;
            border-radius:@border-radius-base;
            .opacity(0.7);
        }
    }
}
