Replacing not-editor's gray background with Brackets' theme background to stop modal bar from flashing.

/*
 * Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 *
 */

/*
 * This file first imports all of the shared LESS/CSS, and then defines
 * version-specific layout (e.g. layout for the App shell, or layout for
 * the In-Browser version on Firefox).
 *
 * Going forward, we may have different versions of this file for different
 * Versions (e.g. App, In-Browser, etc.)
 *
 * Anything that is general/reusable should be pushed up into a LESS file
 * in the "styles" directory. See "brackets_shared.less" for the organization
 *
 * Date: @DATE
 */

/* IMPORTANT: importing brackets_shared should be the first step in this file
 * This is so that imported CSS files (NOT LESS files) end up in the
 * right place
 */
@import "brackets_shared.less";

/* Overall layout */

html, body {
    height: 100%;
    overflow: hidden;

    /* Turn off selection for UI elements */
    .user-select(none);

    /* And make sure we get a pointer cursor even over text */
    cursor: default;

    /* Turn off subpixel antialiasing on Mac since it flickers during animations. */
    -webkit-font-smoothing: antialiased;

    /* This is a hack to avoid flicker when animations (like inline editors) that use the GPU complete.
       It seems that we have to put it here rather than on the animated element in order to prevent the
       entire window from flashing.
       See: http://stackoverflow.com/questions/3461441/prevent-flicker-on-webkit-transition-of-webkit-transform
    */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

body {
    height: 100%;
}

.resizing-container {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: @z-index-brackets-panel-resizer;

    &.horz-resizing {
        cursor: col-resize;
    }

    &.vert-resizing {
        cursor: row-resize;
    }
}

a, img {
    -webkit-user-drag: none;
}

.main-view {
    background: @background-color-3; // to keep the theme background consistent
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;  // changed dynamically via Resizer
        position: absolute;
        left: 0;
        top: 0;
    }

    .content {
        height: 100%;
        position: absolute;
        padding: 0;
        top: 0;
        left: @sidebar-width;  // changed dynamically via Resizer
        right: @main-toolbar-width;
    }
}

#titlebar, .modal-bar {
    border-bottom: 1px solid @tc-gray-panel-border;
    box-shadow: @tc-small-shadow-bottom;

    // Make sure the bottom box-shadow goes above the editor (position: relative needed to start a new stacking group)
    position: relative;
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}

#status-bar {
    position: relative;
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    color: @tc-text;
    font-family: @sansFontFamily;
    font-size: 11px;
    line-height: 25px;
    height: 26px;
    overflow: hidden;
}

#status-info {
    color: @tc-text;
    left: 10px;
    position: absolute;
    white-space: nowrap;

    div {
        display: inline;
    }
}

#status-file {
    color: #999;
}

#status-indicators {
    background: #fff;
    color: @tc-text;
    position: absolute;
    right: 0;
    text-align: right;
    white-space: nowrap;

    > div {
        border-left: 1px solid rgba(0, 0, 0, 0.1);
        float: right;
        padding: 0 10px;
    }
    .spinner {  // spinner is tiny & usually invisible; reduce margin so gap is less glaring
        border: none;
        margin: 6px 10px;
        padding: 0;
    }

    #status-language {
        border-right: 1px solid rgba(0, 0, 0, 0.1);
    }
}

@-webkit-keyframes spinner-sprites-12 {
      0% { background-position:    0px 0px; }
    100% { background-position: -120px 0px; }
}
@-webkit-keyframes spinner-sprites-36 {
      0% { background-position:    0px 0px; }
    100% { background-position: -360px 0px; }
}

#status-indent > * {
    display: inline-block;
}

#status-indent > *.hidden {
    display: none;
}

#indent-type, #indent-width-label {
    cursor: pointer;
    margin-right: 3px;
}

#indent-type:hover, #indent-width-label:hover {
    text-decoration: underline;
}

#indent-width-input {
    font-size: 11px;
    font-weight: @font-weight-semibold;
    height: 13px;
    line-height: 1;
    vertical-align: middle;
    color: @tc-text;
    margin: 0;
    padding: 0 3px 2px;
    position: relative;
    left: 0;
    top: -1px;
    width: 6px;
    transition: 0.1s linear all;
}

#indent-width-input:focus {

}

#indent-width-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#editor-holder {
    position: relative;

    /* Placeholder shown when there is no editor open */
    #not-editor {
        height: 100%;
        .vbox;
        .box-pack(center);
        .box-align(center);
        background: @background-color-3 url('images/no_content_bg.svg') no-repeat center 45%;
    }
}

.vert-resizer {
    position: absolute;
    height: 6px;
    width: 100%;
    z-index: @z-index-brackets-panel-resizer;
    opacity: 0;
    cursor: row-resize;
}

.horz-resizer {
    position: absolute;
    height: 100%;
    width: 6px;
    z-index: @z-index-brackets-panel-resizer;
    opacity: 0;
    cursor: col-resize;
}

.bottom-panel {
    background-color: @tc-gray-panel;
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: @tc-gray-panel-border;

    .toolbar {
        background-color: @tc-gray-panel-top-bar;
        border-bottom: @tc-gray-panel-top-bar-shadow;
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        box-shadow: @tc-gray-panel-bevel, @tc-small-shadow-top;
        .title {
            color: @tc-text;
            font-size: @label-font-size;
            font-weight: @font-weight-semibold;
        }
        .close {
            position: absolute;
            right: 10px;
            top: 6px;
        }
    }

    .table-container {
        height: 170px;
        overflow: auto;

        td {
            font-size: 12px;
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #fff;
            border-radius: 2px;
        }

        tr.selected td {
            background-color: @tc-highlight;
        }
    }
}

#update-notification {
    .sprite-icon(0, 0, 24px, 24px, "images/updateSprites.svg");
}

#toolbar-go-live {
	// background-position is 0 0 for 24x24 icons
    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0, 0, 24px, 24px, "images/live_development_sprites.svg");
    // 'Connected' state
    &.success {
        .sprite-swap(0, 24px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0, 48px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0, 72px);
    }
}

#toolbar-extension-manager {
    .sprite-icon(0, 0, 24px, 24px, "images/topcoat-plugin-20.svg");
}

/* Project panel */

#working-set-header {
    height: 19px;
    padding: 10px 0 9px 12px;
    background: #3C3F41;
    color: @project-panel-text-2;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5);
}

#sidebar {
    position: relative;
    white-space: nowrap;
}

#sidebar-resizer {
    position: absolute;
    width: 6px;
    height: 100%;
    z-index: @z-index-brackets-sidebar-resizer;
    opacity: 0;
    cursor: col-resize;
}

#project-files-header {
    border-top: 1px solid #56595a;
    padding: 8px 0 9px 12px;
    font-size: 13px;
    color: @project-panel-text-2;
}

#open-files-container {
    .box-flex(0);
    background: #3C3F41;
    padding: 0px;
    max-height: 200px; // TODO (Issue #276): it would be nicer to have this be 50%, but that doesn't seem to work

    ul {
        list-style-type: none;
        margin: 0;
        padding-bottom: 23px;
    }

    li {
        position: relative; // so that children can be positioned absolute
        line-height: 18px;
        padding: 0 0 0 8px;
        min-height: 18px;
        vertical-align: baseline;

        &.selected a {
            color: @open-working-file-name-highlight;
        }

        &.selected .extension {
            color: @open-working-file-ext-highlight;
        }
    }

    a {
        color: #fff;

        font-size: 13px;
        text-decoration: none;

        display: block;
        height: 16px;
        line-height: 15px;
        margin-left: 18px;
        padding: 3px (@sidebar-triangle-size * 2) 3px 0;

        cursor: default;

        .directory {
            font-size: 11px;
        }
    }

    .extension, .directory {
        color: @project-panel-text-2;
    }
}

.sidebar-selection {
    background: url("images/active_back.png") no-repeat top right;
    height: 22px;
    position: absolute;
}

.sidebar-selection-triangle {
    background: url("images/active_back.png");
    width: 9px; /* quiet scrollbar width */
    height: 22px;
    position: fixed;

    z-index: @z-index-brackets-selection-triangle; /* scroller-shadow appears above this triangle */
}

.sidebar-selection-triangle.triangle-visible:before {
    content: "";

    border-top: @sidebar-triangle-size solid transparent;
    border-bottom: (@sidebar-triangle-size - 1) solid transparent;
    border-left: @sidebar-triangle-size solid #2D2E30;

    display: block;
    position: absolute;
    top: -1px;
    right: -9px;
    width: 0;
    height: 0;

    .scale-x(0.8, right, top);
}

//Initially start with the open files hidden, they will get show as files are added
#open-files-container {
    display:none;
}

#project-files-container {
    .box-flex(1);

    .jstree-brackets li > a {
        padding-right: @sidebar-triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }

    > ul {
        padding-bottom: 24px;
    }
}

.scroller-shadow {
    background-size: 100%;
    background-repeat: no-repeat;
    height: 5px;
    position: fixed;
    z-index: @z-index-brackets-scroller-shadow;

    &.top {
        #gradient > .vertical(rgba(0,0,0,0.1), rgba(0,0,0,0));
        background-position: 0 -5px;
        background-color: transparent; /* override background-color: @endColor from #gradient.vertical */
    }

    &.bottom {
        #gradient > .vertical(rgba(0,0,0,0), rgba(0,0,0,0.1));
        background-position: 0 5px;
        background-color: transparent; /* override background-color: @endColor from #gradient.vertical */
    }
}

@jstree-sprite-size: 18px;  // this is hardcoded in jsTree's JS code

/** Classes for icons from jsTreeSprites.svg
*/
.jstree-sprite {
    background-image: url("images/jsTreeSprites.svg");
    background-repeat: no-repeat;
    background-color: transparent;
    vertical-align: middle;
    width: @jstree-sprite-size;
    height: @jstree-sprite-size;
}

/** Overriding jsTreeTheme.less
*/
.jstree-brackets .jstree-no-dots .jstree-open > ins {
    background-position: 7px -8px;
    -webkit-transform: translateZ(0) rotate(90deg);
    -webkit-filter: drop-shadow(1px 0 1px rgba(0, 0, 0, 0.36));
}

.jstree-brackets .jstree-no-dots .jstree-closed > ins {
    background-position: 7px -8px;
    -webkit-transform: translateZ(0); /* Need this to make sure that the svg isn't blurry on retina. */
    -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.36));
}

/** Classes for icons from bracketSprites.png
*/
.bracket-sprite {
    background-image: url("images/close_btn.svg");
    background-repeat: no-repeat;
    background-color: transparent;
    vertical-align: middle;
    width: 15px;
    height: 16px;
}

.file-status-icon {
    margin: 2px 0 0 8px;
    .bracket-sprite;
    display: inline-block;
    position: absolute;
    left: 0px;
    top: 1px;

    &.dirty {
        background-position: -30px 0;
    }

    &.can-close {
        background-position: 0 0;
    }

    &.can-close:hover {
        background-position: -15px 0;
    }

    &.can-close:active {
        background-position: -15px 0;
        opacity: @tc-icon-down;
    }
}

/* Styles for inline editors */
.inline-widget {
    position: relative;
    overflow: hidden;

    background-color: @inline-background-color-1;
    min-width: 250px;
    cursor: default;

    &.animating {
        // Make the animation use the GPU--especially important for retina.
        -webkit-transform: translateZ(0);
        transform: translateZ(0);

        transition: height 250ms cubic-bezier(0, 1.02, 0.6, 1);
    }

    .CodeMirror {
        /* remove CodeMirror default height: 300px */
        height: auto;
    }

    .inline-editor-header {
        padding: 10px 10px 0px 10px;

        .filename {
            font-family: @sansFontFamily;
            font-size: 1.1em;
            color: @inline-color-1;

            // Filename header is clickable (it's an <a> tag, so we get underscore on hover by
            // default; but the hand cursor is shut off by Bootstrap's reset stylesheet)
            cursor: pointer;

            .dirty-indicator {
                .bracket-sprite;
                display: inline-block;
                background-position: -32px 0;
                padding-top: 3px;
            }

            .line-number {
                color: @inline-color-2;
            }
        }
    }

    .shadow {
        display: block;
        height: 4px;
        width: 100%;
        position: absolute;
        content: " ";
        left: 0;
        z-index: @z-index-brackets-inline-editor-shadow;
    }

    .shadow.top {
        top: 0px;
        background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
    }

    .shadow.bottom {
        bottom: 0px;
        background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
    }

    .CodeMirror-scroll {
        background-color: transparent;

        .CodeMirror-linenumbers {
            background-color: @inline-background-color-1;
        }
    }
}

/* CSSInlineEditor rule list */
.related-container {
    @top-margin: 12px;

    float: right;
    position: relative;
    min-height: 100%;
    font-family: @sansFontFamily;
    width: 250px;
    max-width: 50%;
    overflow: hidden;
    background: @inline-background-color-2;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        border-top: 1px solid darken(@inline-background-color-3, @bc-color-step-size);
        border-bottom: 1px solid lighten(@inline-background-color-3, @bc-color-step-size);
        top: @top-margin;

        &.animate {
            transition: top 0.1s ease-out;
        }
    }

    /*
     * CSS triangle hack with anti-alias workarounds:
     * (a) Use selection-background-color instead of transparent.
     * (b) Use transform scaleX and origin to adjust width.
     */
    .selection:before {
        content: " ";
        position: absolute;
        width: 0;
        height: 0;
        border-top: @inline-triangle-size solid @inline-background-color-3;
        border-bottom: @inline-triangle-size solid @inline-background-color-3;
        border-left: @inline-triangle-size solid @inline-background-color-1;
        margin-top: -@inline-triangle-size;
        top: 50%;
        .scale-x(0.9, left, top);
    }

    .related {
        font-size: 12px;
        position: absolute;
        top: 0;
        left: 1px;
        width: 100%;

        ul {
            margin: 0;
            padding: @top-margin 0px;
            list-style: none;
        }

        li {
            color: @inline-color-2;
            margin: 0;
            overflow: hidden;
            padding: 2px 0px 2px 15px;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .selected {
            color: @inline-color-3;
            transition: color 0.1s ease-out .15s;
        }
    }
}

/* This text is used to force the code editor's font to be loaded early on if it's a
   web font. This is necessary in order for the editor's horizontal measurement of text
   to work properly.

   In the future, when we allow the user to switch fonts, we'll need to make sure to
   update the font for this text item whenever the user switches. We'll also need to
   wait to initiate a re-measure in CodeMirror until the new font is loaded (if they
   choose a web font). This library allows for checking if a web font is loaded:

     http://code.google.com/apis/webfonts/docs/webfont_loader.html
*/
.dummy-text {
    position: fixed;
    top: -10000px;
    .code-font();
}

.platform-mac .dummy-text {
    .code-font-mac();
}

/* Find in Files results panel - temporary UI, to be replaced with a richer search feature later */

#search-result-summary {
    .first-page,
    .prev-page,
    .next-page,
    .last-page {
        .jstree-sprite;
        width: 6px;
        display: inline-block;
        margin: 0 2px;
        background-position: 0px 4px;
    }
    .first-page {
        background-position: 0px -80px;
        margin-left: 10px;
    }
    .prev-page {
        background-position: 0px -24px;
    }
    .last-page {
        background-position: 0px -52px;
    }
    .disabled {
        opacity: 0.3;
    }
}

#search-results .disclosure-triangle {
    .jstree-sprite;
    display: inline-block;
    &.expanded {
        // Unfortunately, the way jsTree sprites are aligned within their 18px boxes doesn't look good in
        // other contexts, so we need some tweaks here instead of straight multiples of @jstree-sprite-size
        background-position: 7px 5px;
        -webkit-transform: translateZ(0) rotate(90deg);
    }
    &.collapsed {
        background-position: 7px 5px;
    }
}

#search-results td {
    padding-left: 3px;
    vertical-align: baseline;
}

/* Find-Replace All UI */

#replace-all-results {
    .check-all {
        margin: 0px 22px 0px 6px;
    }
    .title {
        margin-right: 10px;
    }
    table {
        td.checkbox-column {
            width: 20px;
            text-align: center;
        }
        td.line-column {
            width: 100px;
        }
    }
}

/* Modal bar for Find/Quick Open */

.modal-bar.modal-bar-hide {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transform: translate(0, -44px);
    transform: translate(0, -44px);
    transition: -webkit-transform 266ms cubic-bezier(0, 0.56, 0, 1);
    transition: transform 266ms cubic-bezier(0, 0.56, 0, 1);

    body:not(.has-appshell-menus) & {
        top: 37px;
    }
}

.modal-bar {
    display: block;
    text-align: left;

    font-family: @sansFontFamily;
    font-size: 14px;
    color: @tc-text;
    background: @tc-gray-panel;
    overflow: hidden;
    padding: 5px 4px 4px 14px;

    -webkit-transform: translate(0, 0); // Prefix still required.
    transition: -webkit-transform 66ms cubic-bezier(0, 0.62, 0.04, 0.99);
    z-index: @z-index-brackets-modalbar;

    body.in-browser &,
    body:not(.has-appshell-menus) & {
        // Separator line between us and the HTML menu/titlebar above
        border-top: 1px solid darken(@background-color-3, @bc-color-step-size);
    }
}

.modal-bar input {
    font-family: @sansFontFamily;
    outline: none;
    width: 20em;
    margin: 5px 5px 0;
    position: relative;
    top: -3px;
    &.no-results {
        border: 1px solid #bc0023;
        box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(255, 0, 120, 0.5);
    }
}

.modal-bar .message {
    display: inline-block;
}
.modal-bar .error {
    display: none;

    .alert {
        padding-top: 4px;
        padding-bottom: 4px;
    }
}

// Search result highlighting - CodeMirror highlighting is pretty constrained. Highlights are
// blended on TOP of the selection color. The "current" search result is indicated by selection,
// so we want the selection visible underneath the highlight. To do this, the highlight must be
// transparent; it has to look good atop both the selection color AND the regular text bg color.
.CodeMirror-searching {
    // Highlight color, overlaid on top of the .find-highlighting color
    background-color: rgba(244, 237, 98, 0.7);
}
.CodeMirror.find-highlighting div.CodeMirror-selected,
.CodeMirror .CodeMirror.find-highlighting div.CodeMirror-selected {
    // Selection color while highlighting shown - ALWAYS has the .CodeMirror-searching color
    // blended atop it.
    // Note: the 2nd selector reflecting CM nesting is needed to override the similar rules in
    // brackets_codemirror_override.less (see the note about #324).
    background: rgb(255, 108, 0);
}
#find-counter {
    font-weight: @font-weight-semibold;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    // the borders show up even if the container is empty, must set height to zero using JS.
    border: 1px solid @tc-gray-panel-border;

    background-color: @tc-gray-panel;
    border-radius: 0 0 4px 4px;
    box-shadow: @tc-normal-shadow-bottom;

    // so that border won't show when height is 0.
    box-sizing: border-box;

    // using this to fix the spacing that breaks item seperators and had to use !important to override inline css
    width: 434px !important;

    /* smart auto complete doesn't correctly position the container
     * so these specific padding and margin values are necessary*/
    padding: 0px;
    margin: 9px 0 0;

    .quick-open-path {
        color: #666;
        font-size: 11px;
        letter-spacing: 0.04em;
        line-height: 11px;
    }

    li {
        color: #222;
        line-height: 15px;
        list-style: none;
        cursor: default;
        padding: 6px 10px;
    }

    li:nth-child(odd) {
        background-color: #e6e9e9;
    }

    li.smart_autocomplete_highlight {
        background-color: @tc-highlight;
    }
}

.quicksearch-pathmatch,
.quicksearch-namematch {
    font-weight: @font-weight-semibold;
}

.quicksearch-pathmatch {
    color: #555;
}

/* Spinner */

.spinner {
    display: inline-block;
    vertical-align: middle;
    margin-top: -2px;
    width: 12px;
    height: 12px;
    background: url("images/spinner_small_sprites12.png") no-repeat;
    visibility: hidden;

    &.spin {
        -webkit-animation: spinner-sprites-12 1.2s steps(10) infinite;
        visibility: visible;
    }

    &.large {
        width: 36px;
        height: 36px;
        margin-top: 0;
        background: url("images/spinner_large_sprites36.png") no-repeat;

        &.spin {
            -webkit-animation: spinner-sprites-36 1.2s steps(10) infinite;
        }
    }
}
// Retina versions
@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (min-device-pixel-ratio: 2) {
    .spinner {
        background-image: url("images/spinner_small_sprites12@2x.png");
        background-size: 120px 12px;

        &.large {
            background: url("images/spinner_large_sprites36@2x.png") no-repeat;
            background-size: 360px 36px;
        }
    }
}

/* Turn on text selection for JSLint error messages */
#jslint-results {
    .user-select(text);
}

/* Line up label text and input text */
label input {
    position: relative;
    top: -2px;
}

/*
 * Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 *
 */

/*
 * This file first imports all of the shared LESS/CSS, and then defines
 * version-specific layout (e.g. layout for the App shell, or layout for
 * the In-Browser version on Firefox).
 *
 * Going forward, we may have different versions of this file for different
 * Versions (e.g. App, In-Browser, etc.)
 *
 * Anything that is general/reusable should be pushed up into a LESS file
 * in the "styles" directory. See "brackets_shared.less" for the organization
 *
 * Date: @DATE
 */

/* IMPORTANT: importing brackets_shared should be the first step in this file
 * This is so that imported CSS files (NOT LESS files) end up in the
 * right place
 */
@import "brackets_shared.less";

/* Overall layout */

html, body {
    height: 100%;
    overflow: hidden;

    /* Turn off selection for UI elements */
    .user-select(none);

    /* And make sure we get a pointer cursor even over text */
    cursor: default;

    /* Turn off subpixel antialiasing on Mac since it flickers during animations. */
    -webkit-font-smoothing: antialiased;

    /* This is a hack to avoid flicker when animations (like inline editors) that use the GPU complete.
       It seems that we have to put it here rather than on the animated element in order to prevent the
       entire window from flashing.
       See: http://stackoverflow.com/questions/3461441/prevent-flicker-on-webkit-transition-of-webkit-transform
    */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

body {
    height: 100%;
}

.resizing-container {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: @z-index-brackets-panel-resizer;

    &.horz-resizing {
        cursor: col-resize;
    }

    &.vert-resizing {
        cursor: row-resize;
    }
}

a, img {
    -webkit-user-drag: none;
}

.main-view {
    background: @background-color-3; // to keep the theme background consistent
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;  // changed dynamically via Resizer
        position: absolute;
        left: 0;
        top: 0;
    }

    .content {
        height: 100%;
        position: absolute;
        padding: 0;
        top: 0;
        left: @sidebar-width;  // changed dynamically via Resizer
        right: @main-toolbar-width;
    }
}

#titlebar, .modal-bar {
    border-bottom: 1px solid @tc-gray-panel-border;
    box-shadow: @tc-small-shadow-bottom;

    // Make sure the bottom box-shadow goes above the editor (position: relative needed to start a new stacking group)
    position: relative;
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}

#status-bar {
    position: relative;
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    color: @tc-text;
    font-family: @sansFontFamily;
    font-size: 11px;
    line-height: 25px;
    height: 26px;
    overflow: hidden;
}

#status-info {
    color: @tc-text;
    left: 10px;
    position: absolute;
    white-space: nowrap;

    div {
        display: inline;
    }
}

#status-file {
    color: #999;
}

#status-indicators {
    background: #fff;
    color: @tc-text;
    position: absolute;
    right: 0;
    text-align: right;
    white-space: nowrap;

    > div {
        border-left: 1px solid rgba(0, 0, 0, 0.1);
        float: right;
        padding: 0 10px;
    }
    .spinner {  // spinner is tiny & usually invisible; reduce margin so gap is less glaring
        border: none;
        margin: 6px 10px;
        padding: 0;
    }

    #status-language {
        border-right: 1px solid rgba(0, 0, 0, 0.1);
    }
}

@-webkit-keyframes spinner-sprites-12 {
      0% { background-position:    0px 0px; }
    100% { background-position: -120px 0px; }
}
@-webkit-keyframes spinner-sprites-36 {
      0% { background-position:    0px 0px; }
    100% { background-position: -360px 0px; }
}

#status-indent > * {
    display: inline-block;
}

#status-indent > *.hidden {
    display: none;
}

#indent-type, #indent-width-label {
    cursor: pointer;
    margin-right: 3px;
}

#indent-type:hover, #indent-width-label:hover {
    text-decoration: underline;
}

#indent-width-input {
    font-size: 11px;
    font-weight: @font-weight-semibold;
    height: 13px;
    line-height: 1;
    vertical-align: middle;
    color: @tc-text;
    margin: 0;
    padding: 0 3px 2px;
    position: relative;
    left: 0;
    top: -1px;
    width: 6px;
    transition: 0.1s linear all;
}

#indent-width-input:focus {

}

#indent-width-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#editor-holder {
    position: relative;

    /* Placeholder shown when there is no editor open */
    #not-editor {
        height: 100%;
        .vbox;
        .box-pack(center);
        .box-align(center);
        background: @background-color-2 url('images/no_content_bg.svg') no-repeat center 45%;
    }
}

.vert-resizer {
    position: absolute;
    height: 6px;
    width: 100%;
    z-index: @z-index-brackets-panel-resizer;
    opacity: 0;
    cursor: row-resize;
}

.horz-resizer {
    position: absolute;
    height: 100%;
    width: 6px;
    z-index: @z-index-brackets-panel-resizer;
    opacity: 0;
    cursor: col-resize;
}

.bottom-panel {
    background-color: @tc-gray-panel;
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: @tc-gray-panel-border;

    .toolbar {
        background-color: @tc-gray-panel-top-bar;
        border-bottom: @tc-gray-panel-top-bar-shadow;
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        box-shadow: @tc-gray-panel-bevel, @tc-small-shadow-top;
        .title {
            color: @tc-text;
            font-size: @label-font-size;
            font-weight: @font-weight-semibold;
        }
        .close {
            position: absolute;
            right: 10px;
            top: 6px;
        }
    }

    .table-container {
        height: 170px;
        overflow: auto;

        td {
            font-size: 12px;
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #fff;
            border-radius: 2px;
        }

        tr.selected td {
            background-color: @tc-highlight;
        }
    }
}

#update-notification {
    .sprite-icon(0, 0, 24px, 24px, "images/updateSprites.svg");
}

#toolbar-go-live {
	// background-position is 0 0 for 24x24 icons
    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0, 0, 24px, 24px, "images/live_development_sprites.svg");
    // 'Connected' state
    &.success {
        .sprite-swap(0, 24px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0, 48px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0, 72px);
    }
}

#toolbar-extension-manager {
    .sprite-icon(0, 0, 24px, 24px, "images/topcoat-plugin-20.svg");
}

/* Project panel */

#working-set-header {
    height: 19px;
    padding: 10px 0 9px 12px;
    background: #3C3F41;
    color: @project-panel-text-2;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5);
}

#sidebar {
    position: relative;
    white-space: nowrap;
}

#sidebar-resizer {
    position: absolute;
    width: 6px;
    height: 100%;
    z-index: @z-index-brackets-sidebar-resizer;
    opacity: 0;
    cursor: col-resize;
}

#project-files-header {
    border-top: 1px solid #56595a;
    padding: 8px 0 9px 12px;
    font-size: 13px;
    color: @project-panel-text-2;
}

#open-files-container {
    .box-flex(0);
    background: #3C3F41;
    padding: 0px;
    max-height: 200px; // TODO (Issue #276): it would be nicer to have this be 50%, but that doesn't seem to work

    ul {
        list-style-type: none;
        margin: 0;
        padding-bottom: 23px;
    }

    li {
        position: relative; // so that children can be positioned absolute
        line-height: 18px;
        padding: 0 0 0 8px;
        min-height: 18px;
        vertical-align: baseline;

        &.selected a {
            color: @open-working-file-name-highlight;
        }

        &.selected .extension {
            color: @open-working-file-ext-highlight;
        }
    }

    a {
        color: #fff;

        font-size: 13px;
        text-decoration: none;

        display: block;
        height: 16px;
        line-height: 15px;
        margin-left: 18px;
        padding: 3px (@sidebar-triangle-size * 2) 3px 0;

        cursor: default;

        .directory {
            font-size: 11px;
        }
    }

    .extension, .directory {
        color: @project-panel-text-2;
    }
}

.sidebar-selection {
    background: url("images/active_back.png") no-repeat top right;
    height: 22px;
    position: absolute;
}

.sidebar-selection-triangle {
    background: url("images/active_back.png");
    width: 9px; /* quiet scrollbar width */
    height: 22px;
    position: fixed;

    z-index: @z-index-brackets-selection-triangle; /* scroller-shadow appears above this triangle */
}

.sidebar-selection-triangle.triangle-visible:before {
    content: "";

    border-top: @sidebar-triangle-size solid transparent;
    border-bottom: (@sidebar-triangle-size - 1) solid transparent;
    border-left: @sidebar-triangle-size solid #2D2E30;

    display: block;
    position: absolute;
    top: -1px;
    right: -9px;
    width: 0;
    height: 0;

    .scale-x(0.8, right, top);
}

//Initially start with the open files hidden, they will get show as files are added
#open-files-container {
    display:none;
}

#project-files-container {
    .box-flex(1);

    .jstree-brackets li > a {
        padding-right: @sidebar-triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }

    > ul {
        padding-bottom: 24px;
    }
}

.scroller-shadow {
    background-size: 100%;
    background-repeat: no-repeat;
    height: 5px;
    position: fixed;
    z-index: @z-index-brackets-scroller-shadow;

    &.top {
        #gradient > .vertical(rgba(0,0,0,0.1), rgba(0,0,0,0));
        background-position: 0 -5px;
        background-color: transparent; /* override background-color: @endColor from #gradient.vertical */
    }

    &.bottom {
        #gradient > .vertical(rgba(0,0,0,0), rgba(0,0,0,0.1));
        background-position: 0 5px;
        background-color: transparent; /* override background-color: @endColor from #gradient.vertical */
    }
}

@jstree-sprite-size: 18px;  // this is hardcoded in jsTree's JS code

/** Classes for icons from jsTreeSprites.svg
*/
.jstree-sprite {
    background-image: url("images/jsTreeSprites.svg");
    background-repeat: no-repeat;
    background-color: transparent;
    vertical-align: middle;
    width: @jstree-sprite-size;
    height: @jstree-sprite-size;
}

/** Overriding jsTreeTheme.less
*/
.jstree-brackets .jstree-no-dots .jstree-open > ins {
    background-position: 7px -8px;
    -webkit-transform: translateZ(0) rotate(90deg);
    -webkit-filter: drop-shadow(1px 0 1px rgba(0, 0, 0, 0.36));
}

.jstree-brackets .jstree-no-dots .jstree-closed > ins {
    background-position: 7px -8px;
    -webkit-transform: translateZ(0); /* Need this to make sure that the svg isn't blurry on retina. */
    -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.36));
}

/** Classes for icons from bracketSprites.png
*/
.bracket-sprite {
    background-image: url("images/close_btn.svg");
    background-repeat: no-repeat;
    background-color: transparent;
    vertical-align: middle;
    width: 15px;
    height: 16px;
}

.file-status-icon {
    margin: 2px 0 0 8px;
    .bracket-sprite;
    display: inline-block;
    position: absolute;
    left: 0px;
    top: 1px;

    &.dirty {
        background-position: -30px 0;
    }

    &.can-close {
        background-position: 0 0;
    }

    &.can-close:hover {
        background-position: -15px 0;
    }

    &.can-close:active {
        background-position: -15px 0;
        opacity: @tc-icon-down;
    }
}

/* Styles for inline editors */
.inline-widget {
    position: relative;
    overflow: hidden;

    background-color: @inline-background-color-1;
    min-width: 250px;
    cursor: default;

    &.animating {
        // Make the animation use the GPU--especially important for retina.
        -webkit-transform: translateZ(0);
        transform: translateZ(0);

        transition: height 250ms cubic-bezier(0, 1.02, 0.6, 1);
    }

    .CodeMirror {
        /* remove CodeMirror default height: 300px */
        height: auto;
    }

    .inline-editor-header {
        padding: 10px 10px 0px 10px;

        .filename {
            font-family: @sansFontFamily;
            font-size: 1.1em;
            color: @inline-color-1;

            // Filename header is clickable (it's an <a> tag, so we get underscore on hover by
            // default; but the hand cursor is shut off by Bootstrap's reset stylesheet)
            cursor: pointer;

            .dirty-indicator {
                .bracket-sprite;
                display: inline-block;
                background-position: -32px 0;
                padding-top: 3px;
            }

            .line-number {
                color: @inline-color-2;
            }
        }
    }

    .shadow {
        display: block;
        height: 4px;
        width: 100%;
        position: absolute;
        content: " ";
        left: 0;
        z-index: @z-index-brackets-inline-editor-shadow;
    }

    .shadow.top {
        top: 0px;
        background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
    }

    .shadow.bottom {
        bottom: 0px;
        background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
    }

    .CodeMirror-scroll {
        background-color: transparent;

        .CodeMirror-linenumbers {
            background-color: @inline-background-color-1;
        }
    }
}

/* CSSInlineEditor rule list */
.related-container {
    @top-margin: 12px;

    float: right;
    position: relative;
    min-height: 100%;
    font-family: @sansFontFamily;
    width: 250px;
    max-width: 50%;
    overflow: hidden;
    background: @inline-background-color-2;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        border-top: 1px solid darken(@inline-background-color-3, @bc-color-step-size);
        border-bottom: 1px solid lighten(@inline-background-color-3, @bc-color-step-size);
        top: @top-margin;

        &.animate {
            transition: top 0.1s ease-out;
        }
    }

    /*
     * CSS triangle hack with anti-alias workarounds:
     * (a) Use selection-background-color instead of transparent.
     * (b) Use transform scaleX and origin to adjust width.
     */
    .selection:before {
        content: " ";
        position: absolute;
        width: 0;
        height: 0;
        border-top: @inline-triangle-size solid @inline-background-color-3;
        border-bottom: @inline-triangle-size solid @inline-background-color-3;
        border-left: @inline-triangle-size solid @inline-background-color-1;
        margin-top: -@inline-triangle-size;
        top: 50%;
        .scale-x(0.9, left, top);
    }

    .related {
        font-size: 12px;
        position: absolute;
        top: 0;
        left: 1px;
        width: 100%;

        ul {
            margin: 0;
            padding: @top-margin 0px;
            list-style: none;
        }

        li {
            color: @inline-color-2;
            margin: 0;
            overflow: hidden;
            padding: 2px 0px 2px 15px;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .selected {
            color: @inline-color-3;
            transition: color 0.1s ease-out .15s;
        }
    }
}

/* This text is used to force the code editor's font to be loaded early on if it's a
   web font. This is necessary in order for the editor's horizontal measurement of text
   to work properly.

   In the future, when we allow the user to switch fonts, we'll need to make sure to
   update the font for this text item whenever the user switches. We'll also need to
   wait to initiate a re-measure in CodeMirror until the new font is loaded (if they
   choose a web font). This library allows for checking if a web font is loaded:

     http://code.google.com/apis/webfonts/docs/webfont_loader.html
*/
.dummy-text {
    position: fixed;
    top: -10000px;
    .code-font();
}

.platform-mac .dummy-text {
    .code-font-mac();
}

/* Find in Files results panel - temporary UI, to be replaced with a richer search feature later */

#search-result-summary {
    .first-page,
    .prev-page,
    .next-page,
    .last-page {
        .jstree-sprite;
        width: 6px;
        display: inline-block;
        margin: 0 2px;
        background-position: 0px 4px;
    }
    .first-page {
        background-position: 0px -80px;
        margin-left: 10px;
    }
    .prev-page {
        background-position: 0px -24px;
    }
    .last-page {
        background-position: 0px -52px;
    }
    .disabled {
        opacity: 0.3;
    }
}

#search-results .disclosure-triangle {
    .jstree-sprite;
    display: inline-block;
    &.expanded {
        // Unfortunately, the way jsTree sprites are aligned within their 18px boxes doesn't look good in
        // other contexts, so we need some tweaks here instead of straight multiples of @jstree-sprite-size
        background-position: 7px 5px;
        -webkit-transform: translateZ(0) rotate(90deg);
    }
    &.collapsed {
        background-position: 7px 5px;
    }
}

#search-results td {
    padding-left: 3px;
    vertical-align: baseline;
}

/* Find-Replace All UI */

#replace-all-results {
    .check-all {
        margin: 0px 22px 0px 6px;
    }
    .title {
        margin-right: 10px;
    }
    table {
        td.checkbox-column {
            width: 20px;
            text-align: center;
        }
        td.line-column {
            width: 100px;
        }
    }
}

/* Modal bar for Find/Quick Open */

.modal-bar.modal-bar-hide {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transform: translate(0, -44px);
    transform: translate(0, -44px);
    transition: -webkit-transform 266ms cubic-bezier(0, 0.56, 0, 1);
    transition: transform 266ms cubic-bezier(0, 0.56, 0, 1);

    body:not(.has-appshell-menus) & {
        top: 37px;
    }
}

.modal-bar {
    display: block;
    text-align: left;

    font-family: @sansFontFamily;
    font-size: 14px;
    color: @tc-text;
    background: @tc-gray-panel;
    overflow: hidden;
    padding: 5px 4px 4px 14px;

    -webkit-transform: translate(0, 0); // Prefix still required.
    transition: -webkit-transform 66ms cubic-bezier(0, 0.62, 0.04, 0.99);
    z-index: @z-index-brackets-modalbar;

    body.in-browser &,
    body:not(.has-appshell-menus) & {
        // Separator line between us and the HTML menu/titlebar above
        border-top: 1px solid darken(@background-color-3, @bc-color-step-size);
    }
}

.modal-bar input {
    font-family: @sansFontFamily;
    outline: none;
    width: 20em;
    margin: 5px 5px 0;
    position: relative;
    top: -3px;
    &.no-results {
        border: 1px solid #bc0023;
        box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(255, 0, 120, 0.5);
    }
}

.modal-bar .message {
    display: inline-block;
}
.modal-bar .error {
    display: none;

    .alert {
        padding-top: 4px;
        padding-bottom: 4px;
    }
}

// Search result highlighting - CodeMirror highlighting is pretty constrained. Highlights are
// blended on TOP of the selection color. The "current" search result is indicated by selection,
// so we want the selection visible underneath the highlight. To do this, the highlight must be
// transparent; it has to look good atop both the selection color AND the regular text bg color.
.CodeMirror-searching {
    // Highlight color, overlaid on top of the .find-highlighting color
    background-color: rgba(244, 237, 98, 0.7);
}
.CodeMirror.find-highlighting div.CodeMirror-selected,
.CodeMirror .CodeMirror.find-highlighting div.CodeMirror-selected {
    // Selection color while highlighting shown - ALWAYS has the .CodeMirror-searching color
    // blended atop it.
    // Note: the 2nd selector reflecting CM nesting is needed to override the similar rules in
    // brackets_codemirror_override.less (see the note about #324).
    background: rgb(255, 108, 0);
}
#find-counter {
    font-weight: @font-weight-semibold;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    // the borders show up even if the container is empty, must set height to zero using JS.
    border: 1px solid @tc-gray-panel-border;

    background-color: @tc-gray-panel;
    border-radius: 0 0 4px 4px;
    box-shadow: @tc-normal-shadow-bottom;

    // so that border won't show when height is 0.
    box-sizing: border-box;

    // using this to fix the spacing that breaks item seperators and had to use !important to override inline css
    width: 434px !important;

    /* smart auto complete doesn't correctly position the container
     * so these specific padding and margin values are necessary*/
    padding: 0px;
    margin: 9px 0 0;

    .quick-open-path {
        color: #666;
        font-size: 11px;
        letter-spacing: 0.04em;
        line-height: 11px;
    }

    li {
        color: #222;
        line-height: 15px;
        list-style: none;
        cursor: default;
        padding: 6px 10px;
    }

    li:nth-child(odd) {
        background-color: #e6e9e9;
    }

    li.smart_autocomplete_highlight {
        background-color: @tc-highlight;
    }
}

.quicksearch-pathmatch,
.quicksearch-namematch {
    font-weight: @font-weight-semibold;
}

.quicksearch-pathmatch {
    color: #555;
}

/* Spinner */

.spinner {
    display: inline-block;
    vertical-align: middle;
    margin-top: -2px;
    width: 12px;
    height: 12px;
    background: url("images/spinner_small_sprites12.png") no-repeat;
    visibility: hidden;

    &.spin {
        -webkit-animation: spinner-sprites-12 1.2s steps(10) infinite;
        visibility: visible;
    }

    &.large {
        width: 36px;
        height: 36px;
        margin-top: 0;
        background: url("images/spinner_large_sprites36.png") no-repeat;

        &.spin {
            -webkit-animation: spinner-sprites-36 1.2s steps(10) infinite;
        }
    }
}
// Retina versions
@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (min-device-pixel-ratio: 2) {
    .spinner {
        background-image: url("images/spinner_small_sprites12@2x.png");
        background-size: 120px 12px;

        &.large {
            background: url("images/spinner_large_sprites36@2x.png") no-repeat;
            background-size: 360px 36px;
        }
    }
}

/* Turn on text selection for JSLint error messages */
#jslint-results {
    .user-select(text);
}

/* Line up label text and input text */
label input {
    position: relative;
    top: -2px;
}


add LESS file containing the old code

add LESS file containing the old code

.vg-status-box-element {
    .animated;
    .flipInX;
    display: none;
    font-size: 1.5em;
    overflow: hidden;
    border-radius: inherit;
    &.vg-status-box-success {
        background: @lighterGreen;
        color: white;
    }
    &.vg-status-box-working {
        background: @yellow;
        color: white;
    }
    &.vg-status-box-fail {
        background: @removeColor;
        color: white;
    }
    &.active {
        display: block;
    }

}

error: pathspec 'vigneron.less' did not match any file(s) known to git


Adding LESS file for css

Adding LESS file for css

//Variables
@white: #fff;

//Mixins
.border-radius(@radius: 5px) {
  -webkit-border-radius: @radius;
     -moz-border-radius: @radius;
          border-radius: @radius;
}

.opacity(@opacity: 100) {
  filter: e(%("alpha(opacity=%d)", @opacity));
    -moz-opacity: @opacity / 100;
         opacity: @opacity / 100;
}

//Styles
.mentions-input-box {
  position: relative;
  background: @white;

  textarea{
    width: 100%;
    display: block;
    height: 18px;
    padding: 9px;
    border: 1px solid #dcdcdc;
    border-radius:3px;
    overflow: hidden;
    background: transparent;
    position: relative;
    outline: 0;
    resize: none;

    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }

  .mentions{
    position: absolute;
    left: 1px;
    right: 0;
    top: 1px;
    bottom: 0;
    padding: 9px;
    color: @white;
    overflow: hidden;

    white-space: pre-wrap;
    word-wrap: break-word;

    & > div{
      color: @white;
      white-space: pre-wrap;
      width: 100%;

      & > strong{
        font-weight:normal;
        background: #d8dfea;

        & > span{
          .opacity(0);
        }
      }
    }
  }
}

.mentions-input-box .mentions-autocomplete-list {
  display: none;
  background: @white;
  border: 1px solid #b2b2b2;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10000;
  margin-top: -2px;

  .border-radius();
  border-top-right-radius:0;
  border-top-left-radius:0;

  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.148438);
     -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.148438);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.148438);

  ul{
    margin: 0;
    padding: 0;
  }

  li{
    background-color: @white;
    padding: 0 5px;
    margin: 0;
    width: auto;
    border-bottom: 1px solid #eee;
    height: 26px;
    line-height: 26px;
    overflow: hidden;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;

    &:last-child{
      .border-radius();
    }

    & > img,
    & > div.icon{
      width: 16px;
      height: 16px;
      float: left;
      margin-top:5px;
      margin-right: 5px;
      -moz-background-origin:3px;

      .border-radius(3px);
    }

    em{
      font-weight: bold;
      font-style: none;
    }

    &:hover,
    &.active{
      background-color: #f2f2f2;
    }

    b{
      background: #ffff99;
      font-weight: normal;
    }
  }
}

error: pathspec 'jquery.mentionsInput.less' did not match any file(s) known to git


less function flex align self

less function
flex align self

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Eomerx/blank-less.git/'


Update variables.less

Update variables.less

fatal: unable to access 'https://github.com/saimunshahee/saimunshahee.github.io.git/': The requested URL returned error: 403


Changes compilation order

Changes compilation order

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/studiomotio/www1.git/'


Update

Update

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Didichaoren/Didichaoren.github.io.git/'


Update

Update

fatal: unable to access 'https://github.com/Didichaoren/Didichaoren.github.io.git/': The requested URL returned error: 403


added main less file for bootstrap extension for responsive designs

/*!
 * grizzly Responsive for Bootstrap v0.1
 *
 * Copyright 2013 Henning Huncke
 * http://www.devjunkie.de
 */

// Core & Variables
// --------------------------------------------------------
@import "less/variables.less";
@import "less/mixins.less";

// Grid-System
// --------------------------------------------------------
@import "less/responsive-grid.less";
@import "less/responsive-grid-ext.less";

error: pathspec 'src/bootstrap-grizzly-responsive.less' did not match any file(s) known to git


fix: bootstrap carousel alignment

fix: bootstrap carousel alignment

fatal: unable to access 'https://github.com/bethisraelmalden/wordpress-bim.git/': The requested URL returned error: 403


removed fine text-shadow, increased opacity of figure background

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/fadeit/fadeitdk.git/'


Fix width of nav-scrollable in panels

Fix width of nav-scrollable in panels

fatal: unable to access 'https://github.com/sonatra/sonatra-theme-gluon.git/': The requested URL returned error: 403


Popover and Nav Justified Fixes for RTL

Popover and Nav Justified Fixes for RTL

.popover.top & .popover.bottom fixes for RTL. Fixes .nav-tabs.nav-justified & .nav-pills.nav-justified lost all formatting and in FireFox .nav-tabs.nav-justified lost its link color.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/croscon/bootstrap-rtl.git/'


adding responsive less file

adding responsive less file

error: pathspec 'less/responsive.less' did not match any file(s) known to git


Fix #api-name

Fix #api-name

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Digipalvelutehdas/APIKA.git/'


Delete mixins.less

Delete mixins.less

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/sxu2583/Shihab-Portfolio.git/'


Updated padding in mobile

Updated padding in mobile

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/SinisterMinister/codeywhitt.com.git/'


error alert has negative color

error alert has negative color

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/amazingBastard/excuse-generator.git/'


Delete stacked.less

Delete stacked.less

error: pathspec 'lesson' did not match any file(s) known to git
error: pathspec '4/font-awesome/less/stacked.less' did not match any file(s) known to git


typo fixes https://github.com/uikit/uikit/issues/1408

// Name:            Off-canvas
// Description:     Defines styles for an off-canvas sidebar that slides in and out of the page
//
// Component:       `uk-offcanvas`
//
// Sub-objects:     `uk-offcanvas-page`
//                  `uk-offcanvas-bar`
//                  `uk-offcanvas-close`
//
// Modifiers:       `uk-offcanvas-bar-flip`
//
// States:          `uk-active`
//
// Uses:            Panel: `uk-panel`
//
// Markup:
//
//
// Open
//

//

//

//
// ========================================================================

// Variables
// ========================================================================

@offcanvas-z-index:                             1000;
@offcanvas-background:                          rgba(0,0,0,0.1);

@offcanvas-bar-width:                           270px;
@offcanvas-bar-background:                      #333;

@offcanvas-panel-margin:                        20px 15px;
@offcanvas-panel-color:                         #777;
@offcanvas-panel-link-color:                    #ccc;
@offcanvas-panel-link-hover-color:              #fff;
@offcanvas-panel-title-color:                   @offcanvas-panel-link-color;

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */

/*
 * This is the offcanvas overlay and bar container
 * 1. Hide by default
 * 2. Set fixed position
 * 3. Deactivate browser touch actions in IE11
 * 4. Mask the background page
 */

.uk-offcanvas {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: @offcanvas-z-index;
    /* 3 */
    touch-action: none;
    /* 4 */
    background: @offcanvas-background;
    .hook-offcanvas;
}

.uk-offcanvas.uk-active { display: block; }

/* Sub-object `uk-offcanvas-page`
 ========================================================================== */

/*
 * Prepares the whole HTML page to slide-out
 * 1. Fix the main page and disallow scrolling
 * 2. Side-out transition
 */

.uk-offcanvas-page {
    /* 1 */
    position: fixed;
    /* 2 */
    -webkit-transition: margin-left 0.3s ease-in-out;
    transition: margin-left 0.3s ease-in-out;
}

/* Sub-object `uk-offcanvas-bar`
 ========================================================================== */

/*
 * This is the offcanvas bar
 * 1. Set fixed position
 * 2. Size and style
 * 3. Allow scrolling
 * 4. Side-out transition
 * 5. Deactivate scroll chaining in IE11
 */

.uk-offcanvas-bar {
    /* 1 */
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    z-index: @offcanvas-z-index + 1;
    /* 2 */
    width: @offcanvas-bar-width;
    max-width: 100%;
    background: @offcanvas-bar-background;
    /* 3 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* 4 */
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    /* 5 */
    -ms-scroll-chaining: none;
    .hook-offcanvas-bar;
}

.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

/* Modifier `uk-offcanvas-bar-flip`
 ========================================================================== */

.uk-offcanvas-bar-flip {
    left: auto;
    right: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

/* Panel in offcanvas
 ========================================================================== */

.uk-offcanvas .uk-panel {
    margin: @offcanvas-panel-margin;
    color: @offcanvas-panel-color;
    .hook-offcanvas-panel;
}

.uk-offcanvas .uk-panel-title { color: @offcanvas-panel-title-color; }

.uk-offcanvas .uk-panel a:not([class]) { color: @offcanvas-panel-link-color; }
.uk-offcanvas .uk-panel a:not([class]):hover { color: @offcanvas-panel-link-hover-color; }

// Hooks
// ========================================================================

.hook-offcanvas-misc;

.hook-offcanvas() {}
.hook-offcanvas-bar() {}
.hook-offcanvas-panel() {}
.hook-offcanvas-misc() {}

// Name:            Off-canvas
// Description:     Defines styles for an off-canvas sidebar that slides in and out of the page
//
// Component:       `uk-offcanvas`
//
// Sub-objects:     `uk-offcanvas-page`
//                  `uk-offcanvas-bar`
//                  `uk-offcanvas-close`
//
// Modifiers:       `uk-offcanvas-bar-flip`
//
// States:          `uk-active`
//
// Uses:            Panel: `uk-panel`
//
// Markup:
//
//
// Open
//

//

//

//
// ========================================================================

// Variables
// ========================================================================

@offcanvas-z-index:                             1000;
@offcanvas-background:                          rgba(0,0,0,0.1);

@offcanvas-bar-width:                           270px;
@offcanvas-bar-background:                      #333;

@offcanvas-panel-margin:                        20px 15px;
@offcanvas-panel-color:                         #777;
@offcanvas-panel-link-color:                    #ccc;
@offcanvas-panel-link-hover-color:              #fff;
@offcanvas-panel-title-color:                   @offcanvas-panel-link-color;

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */

/*
 * This is the offcanvas overlay and bar container
 * 1. Hide by default
 * 2. Set fixed position
 * 3. Deactivate browser touch actions in IE11
 * 4. Mask the background page
 */

.uk-offcanvas {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: @offcanvas-z-index;
    /* 3 */
    touch-action: none;
    /* 4 */
    background: @offcanvas-background;
    .hook-offcanvas;
}

.uk-offcanvas.uk-active { display: block; }

/* Sub-object `uk-offcanvas-page`
 ========================================================================== */

/*
 * Prepares the whole HTML page to slide-out
 * 1. Fix the main page and disallow scrolling
 * 2. Side-out transition
 */

.uk-offcanvas-page {
    /* 1 */
    position: fixed;
    /* 2 */
    -webkit-transition: margin-left 0.3s ease-in-out;
    transition: margin-left 0.3s ease-in-out;
}

/* Sub-object `uk-offcanvas-bar`
 ========================================================================== */

/*
 * This is the offcanvas bar
 * 1. Set fixed position
 * 2. Size and style
 * 3. Allow scrolling
 * 4. Side-out transition
 * 5. Deavtivate scroll chaining in IE11
 */

.uk-offcanvas-bar {
    /* 1 */
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    z-index: @offcanvas-z-index + 1;
    /* 2 */
    width: @offcanvas-bar-width;
    max-width: 100%;
    background: @offcanvas-bar-background;
    /* 3 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* 4 */
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    /* 5 */
    -ms-scroll-chaining: none;
    .hook-offcanvas-bar;
}

.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

/* Modifier `uk-offcanvas-bar-flip`
 ========================================================================== */

.uk-offcanvas-bar-flip {
    left: auto;
    right: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

/* Panel in offcanvas
 ========================================================================== */

.uk-offcanvas .uk-panel {
    margin: @offcanvas-panel-margin;
    color: @offcanvas-panel-color;
    .hook-offcanvas-panel;
}

.uk-offcanvas .uk-panel-title { color: @offcanvas-panel-title-color; }

.uk-offcanvas .uk-panel a:not([class]) { color: @offcanvas-panel-link-color; }
.uk-offcanvas .uk-panel a:not([class]):hover { color: @offcanvas-panel-link-hover-color; }

// Hooks
// ========================================================================

.hook-offcanvas-misc;

.hook-offcanvas() {}
.hook-offcanvas-bar() {}
.hook-offcanvas-panel() {}
.hook-offcanvas-misc() {}


styled login form

styled login form


Fixed graph entities listing ocupying 100% height event when collapsed

@border-on-chart: #ddd;
@text-color-dark-lower-contrast: rgba(0, 0, 0, 0.33);

@red:   #C4434B;
@green: #66AC3F;
@blue:  #3098d8;

@gray-light:    #e5eaef;
@gray-lightest: #f6f8f9;

@selection-color: #EFBE2C;
@highlight-color: @green;

// ------------------------------------------
// Borrowed bootstrap mixins

.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}

.clearfix() {
  &:before,
  &:after {
    content: " "; // 1
    display: table; // 2
  }
  &:after {
    clear: both;
  }
}

// End of mixins
// ------------------------------------------

.organogram {
  .chartContainer svg {
    display: block; // Remove odd whitespce
    background: @gray-lightest url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNXB4IiBoZWlnaHQ9IjI1cHgiIHZpZXdCb3g9IjAgMCAyNSAyNSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjUgMjUiPgogIDxnIG9wYWNpdHk9IjAuMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUUxRTFDIj4KICAgIDxnIHN0cm9rZS13aWR0aD0iMC4yIj4KICAgICAgPGxpbmUgeDE9IjIuMTU1IiB5MT0iMCIgeDI9IjIuMTU1IiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIyLjE1NSIgeDI9IjI1IiB5Mj0iMi4xNTUiLz4KICAgIDwvZz4KICAgIDxnIHN0cm9rZS13aWR0aD0iMC4xIj4KICAgICAgPGxpbmUgeDE9IjIuMTU1IiB5MT0iMCIgeDI9IjIuMTU1IiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjEwLjQzMiIgeTE9IjAiIHgyPSIxMC40MzIiIHkyPSIyNSIvPgogICAgICA8bGluZSB4MT0iMTguNzA3IiB5MT0iMCIgeDI9IjE4LjcwNyIgeTI9IjI1Ii8+CiAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMjIuODQ1IiB4Mj0iMjUiIHkyPSIyMi44NDUiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIxNC41NjgiIHgyPSIyNSIgeTI9IjE0LjU2OCIvPgogICAgICA8bGluZSB4MT0iMCIgeTE9IjYuMjkzIiB4Mj0iMjUiIHkyPSI2LjI5MyIvPgogICAgICA8bGluZSB4MT0iMCIgeTE9IjE4LjcwNyIgeDI9IjI1IiB5Mj0iMTguNzA3Ii8+CiAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMTAuNDMyIiB4Mj0iMjUiIHkyPSIxMC40MzIiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIyLjE1NSIgeDI9IjI1IiB5Mj0iMi4xNTUiLz4KICAgICAgPGxpbmUgeDE9IjYuMjkzIiB5MT0iMCIgeDI9IjYuMjkzIiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjE0LjU2OCIgeTE9IjAiIHgyPSIxNC41NjgiIHkyPSIyNSIvPgogICAgICA8bGluZSB4MT0iMjIuODQ1IiB5MT0iMCIgeDI9IjIyLjg0NSIgeTI9IjI1Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K') -3px -3px;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
  }

  .chartContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
  }

  // ------------------------------------------
  // SVG styles start here

  .chartArea {
    height: 100%;

    .element.html {
      &.highlighted {
        outline: 0 solid @highlight-color;
      }

      &.highlighted rect {
        stroke: @highlight-color;
        stroke-width: 3;
      }

      &.highlighted.nolink rect {
        stroke: @red;
      }

      &.source-view rect {
        stroke: @highlight-color;
        stroke-width: 3;
      }

      &.source-view.nolink rect {
        stroke: @red;
      }

      &.selected rect {
        stroke: @selection-color;
        stroke-width: 2;
      }

      .remove-element .cross {
        stroke: black;
        stroke-width: 2;
        stroke-linecap: round;
      }

      .connection-port {
        cursor: crosshair;
      }

      .connection-port circle.outer {
        stroke-width: 2;
        stroke: black;
        fill: white;
      }

      .connection-port circle.inner {
        fill: black;
      }

      .remove-element {
        opacity: 0;
        transition: all linear 0.1s;
        cursor: pointer;
      }

      &:hover {
        .remove-element {
          opacity: 1;
          transition: all linear 0.1s;
        }
      }
    }

    .link {
      .connection {
        stroke: #AAAAAA;
        stroke-width: 1px;
      }

      .marker-target {
        stroke-width: 0;
        fill: #AAAAAA;
      }
    }

    .link.forbidden {
      .connection {
        stroke: @red;
        stroke-width: 3px;
      }

      .marker-target {
        stroke-width: 0;
        fill: @red;
      }
    }

    .link.allowed {
      .connection {
        stroke: @green;
        stroke-width: 3px;
      }

      .marker-target {
        stroke-width: 0;
        fill: @green;
      }
    }

    .link.selected {
      .connection {
        stroke: @selection-color;
        stroke-width: 2px;
      }

      .marker-target {
        fill: @selection-color;
      }

      .marker-vertices {
        opacity: 1;
      }

      .marker-vertex {
        fill: @selection-color;
      }

      .link-tools {
        opacity: 1.0;
      }

      .connection-wrap {
        cursor: default;
        opacity: 0;
      }
    }

    .link .label {
      rect {
        fill: @red;
        stroke: @red;
        stroke-width: 5;
      }

      text {
        fill: white;
        font-weight: normal;
      }
    }

    .connection-wrap {
      stroke-linecap: butt;
      stroke-width: 10;
      cursor: pointer;

      &:hover {
        opacity: 0.1;
      }
    }

    .marker-vertex {
      fill: #aaaaaa;
    }

    .tool-remove circle {
      fill: @red;
    }

    .marker-arrowheads {
      display: none;
    }
  }

  // End of SVG styles
  // ------------------------------------------
}

.graph-tools {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px 0 10px 10px;
  max-height: 100%;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  user-select: none;
  -webkit-user-select: none;

  & > * {
    width: 220px;
  }
}

.graph-tools .basic {
  padding: 10px 20px;
  background: rgba(255, 255, 255, 1.0);
  border: 1px solid @border-on-chart;
  border-bottom: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
}

.graph-tools .switch {
  color: @text-color-dark-lower-contrast;
  font-style: italic;
  text-decoration: none;

  span {
    font-style: normal;
    opacity: 0.7;
    .pull-right();
  }

  span.down::before {
    content: '\25BC';
  }

  span.up::before {
    content: '\25B2';
  }
}

.graph-tools .switch-container {
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  padding: 5px 20px;
  background: rgba(235, 235, 235, 1.0);
  border: 1px solid @border-on-chart;
  border-top: 0;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;

  &:hover {
    background: rgba(230, 230, 230, 1.0);
  }
}

.graph-tools .switch-container[extended="true"] {
  border-bottom: 0;
}

.graph-tools .fabric {
  margin-top: 10px;

  .instance-template {
    margin-bottom: 6px;
    padding: 7px 5px;

    border: 1px dotted #bbb;

    cursor: move;

    // font-size: 11px;
    text-transform: uppercase;
    color: #555;

    i {
      .pull-left();
      width: 30px;
      text-align: center;
      font-size: 16px;
      color: #888;
    }

    .clearfix();
  }

  .instance-template:hover {
    border-color: @blue;
    color: @blue;
    background: white;

    i { color: @blue; }
  }
}

.graph-tools .intro {
  color: @text-color-dark-lower-contrast;
  font-style: italic;
}

.graph-tools .listing {
  padding: 10px;
  background: white;
  border: 1px solid @border-on-chart;
  border-top: 0;
  overflow-y: auto;

  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  li {
    padding: 5px 5px;
    border: 1px dotted transparent;
    margin-bottom: -3px;

    i {
      .pull-left();
      width: 20px;
      text-align: center;
      margin-top: 2px;
      color: @gray-light;
    }

    .text {
      margin-left: 20px;
    }

    .clearfix();
  }

  li:hover {
    cursor: move;
    border-color: @blue;
    background: white;
    color: @blue;

    i { color: @blue; }

    .remove-entity {
      display: block;
    }
  }

  .remove-entity {
    position: absolute;
    right: 5px;
    font-weight: bold;
    font-size: 17px;
    line-height: 15px;
    cursor: pointer;
    color: @red;
    display: none;
  }

  .entity-item {
    position: relative;
  }
}

@border-on-chart: #ddd;
@text-color-dark-lower-contrast: rgba(0, 0, 0, 0.33);

@red:   #C4434B;
@green: #66AC3F;
@blue:  #3098d8;

@gray-light:    #e5eaef;
@gray-lightest: #f6f8f9;

@selection-color: #EFBE2C;
@highlight-color: @green;

// ------------------------------------------
// Borrowed bootstrap mixins

.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}

.clearfix() {
  &:before,
  &:after {
    content: " "; // 1
    display: table; // 2
  }
  &:after {
    clear: both;
  }
}

// End of mixins
// ------------------------------------------

.organogram {
  .chartContainer svg {
    display: block; // Remove odd whitespce
    background: @gray-lightest url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNXB4IiBoZWlnaHQ9IjI1cHgiIHZpZXdCb3g9IjAgMCAyNSAyNSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjUgMjUiPgogIDxnIG9wYWNpdHk9IjAuMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUUxRTFDIj4KICAgIDxnIHN0cm9rZS13aWR0aD0iMC4yIj4KICAgICAgPGxpbmUgeDE9IjIuMTU1IiB5MT0iMCIgeDI9IjIuMTU1IiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIyLjE1NSIgeDI9IjI1IiB5Mj0iMi4xNTUiLz4KICAgIDwvZz4KICAgIDxnIHN0cm9rZS13aWR0aD0iMC4xIj4KICAgICAgPGxpbmUgeDE9IjIuMTU1IiB5MT0iMCIgeDI9IjIuMTU1IiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjEwLjQzMiIgeTE9IjAiIHgyPSIxMC40MzIiIHkyPSIyNSIvPgogICAgICA8bGluZSB4MT0iMTguNzA3IiB5MT0iMCIgeDI9IjE4LjcwNyIgeTI9IjI1Ii8+CiAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMjIuODQ1IiB4Mj0iMjUiIHkyPSIyMi44NDUiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIxNC41NjgiIHgyPSIyNSIgeTI9IjE0LjU2OCIvPgogICAgICA8bGluZSB4MT0iMCIgeTE9IjYuMjkzIiB4Mj0iMjUiIHkyPSI2LjI5MyIvPgogICAgICA8bGluZSB4MT0iMCIgeTE9IjE4LjcwNyIgeDI9IjI1IiB5Mj0iMTguNzA3Ii8+CiAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMTAuNDMyIiB4Mj0iMjUiIHkyPSIxMC40MzIiLz4KICAgICAgPGxpbmUgeDE9IjAiIHkxPSIyLjE1NSIgeDI9IjI1IiB5Mj0iMi4xNTUiLz4KICAgICAgPGxpbmUgeDE9IjYuMjkzIiB5MT0iMCIgeDI9IjYuMjkzIiB5Mj0iMjUiLz4KICAgICAgPGxpbmUgeDE9IjE0LjU2OCIgeTE9IjAiIHgyPSIxNC41NjgiIHkyPSIyNSIvPgogICAgICA8bGluZSB4MT0iMjIuODQ1IiB5MT0iMCIgeDI9IjIyLjg0NSIgeTI9IjI1Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K') -3px -3px;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
  }

  .chartContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
  }

  // ------------------------------------------
  // SVG styles start here

  .chartArea {
    height: 100%;

    .element.html {
      &.highlighted {
        outline: 0 solid @highlight-color;
      }

      &.highlighted rect {
        stroke: @highlight-color;
        stroke-width: 3;
      }

      &.highlighted.nolink rect {
        stroke: @red;
      }

      &.source-view rect {
        stroke: @highlight-color;
        stroke-width: 3;
      }

      &.source-view.nolink rect {
        stroke: @red;
      }

      &.selected rect {
        stroke: @selection-color;
        stroke-width: 2;
      }

      .remove-element .cross {
        stroke: black;
        stroke-width: 2;
        stroke-linecap: round;
      }

      .connection-port {
        cursor: crosshair;
      }

      .connection-port circle.outer {
        stroke-width: 2;
        stroke: black;
        fill: white;
      }

      .connection-port circle.inner {
        fill: black;
      }

      .remove-element {
        opacity: 0;
        transition: all linear 0.1s;
        cursor: pointer;
      }

      &:hover {
        .remove-element {
          opacity: 1;
          transition: all linear 0.1s;
        }
      }
    }

    .link {
      .connection {
        stroke: #AAAAAA;
        stroke-width: 1px;
      }

      .marker-target {
        stroke-width: 0;
        fill: #AAAAAA;
      }
    }

    .link.forbidden {
      .connection {
        stroke: @red;
        stroke-width: 3px;
      }

      .marker-target {
        stroke-width: 0;
        fill: @red;
      }
    }

    .link.allowed {
      .connection {
        stroke: @green;
        stroke-width: 3px;
      }

      .marker-target {
        stroke-width: 0;
        fill: @green;
      }
    }

    .link.selected {
      .connection {
        stroke: @selection-color;
        stroke-width: 2px;
      }

      .marker-target {
        fill: @selection-color;
      }

      .marker-vertices {
        opacity: 1;
      }

      .marker-vertex {
        fill: @selection-color;
      }

      .link-tools {
        opacity: 1.0;
      }

      .connection-wrap {
        cursor: default;
        opacity: 0;
      }
    }

    .link .label {
      rect {
        fill: @red;
        stroke: @red;
        stroke-width: 5;
      }

      text {
        fill: white;
        font-weight: normal;
      }
    }

    .connection-wrap {
      stroke-linecap: butt;
      stroke-width: 10;
      cursor: pointer;

      &:hover {
        opacity: 0.1;
      }
    }

    .marker-vertex {
      fill: #aaaaaa;
    }

    .tool-remove circle {
      fill: @red;
    }

    .marker-arrowheads {
      display: none;
    }
  }

  // End of SVG styles
  // ------------------------------------------
}

.graph-tools {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  user-select: none;
  -webkit-user-select: none;

  & > * {
    width: 220px;
  }
}

.graph-tools .basic {
  padding: 10px 20px;
  background: rgba(255, 255, 255, 1.0);
  border: 1px solid @border-on-chart;
  border-bottom: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
}

.graph-tools .switch {
  color: @text-color-dark-lower-contrast;
  font-style: italic;
  text-decoration: none;

  span {
    font-style: normal;
    opacity: 0.7;
    .pull-right();
  }

  span.down::before {
    content: '\25BC';
  }

  span.up::before {
    content: '\25B2';
  }
}

.graph-tools .switch-container {
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  padding: 5px 20px;
  background: rgba(235, 235, 235, 1.0);
  border: 1px solid @border-on-chart;
  border-top: 0;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;

  &:hover {
    background: rgba(230, 230, 230, 1.0);
  }
}

.graph-tools .switch-container[extended="true"] {
  border-bottom: 0;
}

.graph-tools .fabric {
  margin-top: 10px;

  .instance-template {
    margin-bottom: 6px;
    padding: 7px 5px;

    border: 1px dotted #bbb;

    cursor: move;

    // font-size: 11px;
    text-transform: uppercase;
    color: #555;

    i {
      .pull-left();
      width: 30px;
      text-align: center;
      font-size: 16px;
      color: #888;
    }

    .clearfix();
  }

  .instance-template:hover {
    border-color: @blue;
    color: @blue;
    background: white;

    i { color: @blue; }
  }
}

.graph-tools .intro {
  color: @text-color-dark-lower-contrast;
  font-style: italic;
}

.graph-tools .listing {
  padding: 10px;
  background: white;
  border: 1px solid @border-on-chart;
  border-top: 0;
  overflow-y: auto;

  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  li {
    padding: 5px 5px;
    border: 1px dotted transparent;
    margin-bottom: -3px;

    i {
      .pull-left();
      width: 20px;
      text-align: center;
      margin-top: 2px;
      color: @gray-light;
    }

    .text {
      margin-left: 20px;
    }

    .clearfix();
  }

  li:hover {
    cursor: move;
    border-color: @blue;
    background: white;
    color: @blue;

    i { color: @blue; }

    .remove-entity {
      display: block;
    }
  }

  .remove-entity {
    position: absolute;
    right: 5px;
    font-weight: bold;
    font-size: 17px;
    line-height: 15px;
    cursor: pointer;
    color: @red;
    display: none;
  }

  .entity-item {
    position: relative;
  }
}


Transform function

Transform function

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/studiomotio/mojs-experiment.git/'


Create core.less

Create core.less

// Base Class Definition
// -------------------------

.@{fa-css-prefix} {
  display: inline-block;
  font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration
  font-size: inherit; // can't have font-size inherit on line above, so need to override
  text-rendering: auto; // optimizelegibility throws things off #1094
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0); // ensures no half-pixel rendering in firefox

}

error: pathspec 'font-awesome/less/core.less' did not match any file(s) known to git


Setting up less

Setting up less

@text:#CCFFFF;
@upper-warm:#FF3300;
@lower-warm:#FF9966;
@upper-same:#009900;
@lower-same:#00FF66;
@upper-cold:#003399;
@lower-cold:#00CCFF;
/*NOT LESS YET*/
div {
    color: #CCFFFF;
    text-align: center;
    font-family: sans-serif;
    font-size: 3vh;
}

.warm {
    height: 33vh;
    background: orange;
    /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(red, yellow);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(red, yellow);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(red, yellow);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(#FF3300, #FF9966);
    /* Standard syntax */
}

.same {
    height: 33vh;
    background: green;
    /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(red, yellow);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(red, yellow);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(red, yellow);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(#009900, #00FF66);
    /* Standard syntax */
}

.cold {
    height: 33vh;
    background: red;
    /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(red, yellow);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(red, yellow);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(red, yellow);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(#003399, #00CCFF);
    /* Standard syntax */
}

error: pathspec 'public/css/index.less' did not match any file(s) known to git


Fix usercard border-radius glitch

Fix usercard border-radius glitch

/**
 *    Copyright 2015-2017 ppy Pty. Ltd.
 *
 *    This file is part of osu!web. osu!web is distributed with the hope of
 *    attracting more community contributions to the core ecosystem of osu!.
 *
 *    osu!web is free software: you can redistribute it and/or modify
 *    it under the terms of the Affero GNU General Public License version 3
 *    as published by the Free Software Foundation.
 *
 *    osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
 *    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *    See the GNU Affero General Public License for more details.
 *
 *    You should have received a copy of the GNU Affero General Public License
 *    along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
 */

.usercard {
  @top: usercard;
  @card-width: 260px;
  @card-height: 100px;
  @avatar-size: 50px;
  @status-bar-size: 30px;
  @card-item-spacing: 10px;
  @offline-color: #000;
  @online-color: @green;
  @flag-gutter: 2px; // more like half of it

  display: flex;
  flex-direction: column;
  width: @card-width;
  height: @card-height;
  background-color: #333;
  background-size: cover;
  background-position: center;
  background-image: url('/images/layout/beatmaps/default-bg.png');
  margin: @card-item-spacing;

  // to make broken cover images less ugly
  overflow: hidden;

  .thick-box-shadow();
  .link-hover({
    .thicker-box-shadow();
  });
  .fade-element(120ms);
  .default-border-radius();
  .own-layer();

  &--search {
    margin: 0;
  }

  &__background {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    .@{top}--popup & {
      opacity: 0;
    }

    // to prevent annoying white-pixel artefacts appearing due to
    // browsers not handling 'overflow: hidden' properly
    border-radius: 4px;
  }

  &__background-overlay  {
    .full-size();
    background-color: fade(#000, 75%);

    &--guest {
      background-color: fade(#000, 60%);
    }
  }

  &__icon {
    margin: 0 @flag-gutter;
    display: flex;

    &:empty {
      display: none;
    }
  }

  &__icons {
    margin: @card-item-spacing (-@flag-gutter) 0;
    display: flex;
  }

  &__link-wrapper {
    .link-white();
    .link-plain();
    display: flex;
    flex-direction: column;
  }

  &__main-card {
    display: flex;
    flex-direction: row;
  }

  &__metadata {
    display: flex;
    flex-direction: column;
    margin: @card-item-spacing 0px;
  }

  &__avatar-space {
    width: @avatar-size;
    height: @avatar-size;
    margin: @card-item-spacing;
  }

  &__avatar {
    .default-border-radius();
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;

    &--loader {
      opacity: 0;

      .@{top}--popup & {
        .center-content();
        color: #fff;
        font-size: 14px;
        background: fade(#fff, 10%);
        opacity: 0.25;
      }
    }

    .@{top}--popup &--main {
      opacity: 0;
    }
  }

  &__username {
    font-weight: 100;
    font-style: italic;
    .default-text-shadow();
  }

  &__supporter {
    .circle(20px);
    .center-content();
    .default-box-shadow();
    border: 2px solid #fff;
    font-size: 9px;

    .icon-bg();
    background-color: @pink;
  }

  &__status-bar {
    font-weight: 100;
    height: @status-bar-size;
    width: 100%;

    padding-left: @avatar-size + (@card-item-spacing * 2);
    display: inline-flex;
    align-items: center;
    .default-text-shadow();

    background: fade(@offline-color, 50%);

    &--online {
      background: fade(@online-color, 50%);
    }
  }

  &__status-icon {
    padding-right: @card-item-spacing;
  }
}

/**
 *    Copyright 2015-2017 ppy Pty. Ltd.
 *
 *    This file is part of osu!web. osu!web is distributed with the hope of
 *    attracting more community contributions to the core ecosystem of osu!.
 *
 *    osu!web is free software: you can redistribute it and/or modify
 *    it under the terms of the Affero GNU General Public License version 3
 *    as published by the Free Software Foundation.
 *
 *    osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
 *    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *    See the GNU Affero General Public License for more details.
 *
 *    You should have received a copy of the GNU Affero General Public License
 *    along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
 */

.usercard {
  @top: usercard;
  @card-width: 260px;
  @card-height: 100px;
  @avatar-size: 50px;
  @status-bar-size: 30px;
  @card-item-spacing: 10px;
  @offline-color: #000;
  @online-color: @green;
  @flag-gutter: 2px; // more like half of it

  display: flex;
  flex-direction: column;
  width: @card-width;
  height: @card-height;
  background-color: #333;
  background-size: cover;
  background-position: center;
  background-image: url('/images/layout/beatmaps/default-bg.png');
  margin: @card-item-spacing;

  // to make broken cover images less ugly
  overflow: hidden;

  .thick-box-shadow();
  .link-hover({
    .thicker-box-shadow();
  });
  .fade-element(120ms);
  .default-border-radius();
  .own-layer();

  &--search {
    margin: 0;
  }

  &__background {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    .@{top}--popup & {
      opacity: 0;
    }
  }

  &__background-overlay  {
    .full-size();
    background-color: fade(#000, 75%);

    &--guest {
      background-color: fade(#000, 60%);
    }
  }

  &__icon {
    margin: 0 @flag-gutter;
    display: flex;

    &:empty {
      display: none;
    }
  }

  &__icons {
    margin: @card-item-spacing (-@flag-gutter) 0;
    display: flex;
  }

  &__link-wrapper {
    .link-white();
    .link-plain();
    display: flex;
    flex-direction: column;
  }

  &__main-card {
    display: flex;
    flex-direction: row;
  }

  &__metadata {
    display: flex;
    flex-direction: column;
    margin: @card-item-spacing 0px;
  }

  &__avatar-space {
    width: @avatar-size;
    height: @avatar-size;
    margin: @card-item-spacing;
  }

  &__avatar {
    .default-border-radius();
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;

    &--loader {
      opacity: 0;

      .@{top}--popup & {
        .center-content();
        color: #fff;
        font-size: 14px;
        background: fade(#fff, 10%);
        opacity: 0.25;
      }
    }

    .@{top}--popup &--main {
      opacity: 0;
    }
  }

  &__username {
    font-weight: 100;
    font-style: italic;
    .default-text-shadow();
  }

  &__supporter {
    .circle(20px);
    .center-content();
    .default-box-shadow();
    border: 2px solid #fff;
    font-size: 9px;

    .icon-bg();
    background-color: @pink;
  }

  &__status-bar {
    font-weight: 100;
    height: @status-bar-size;
    width: 100%;

    padding-left: @avatar-size + (@card-item-spacing * 2);
    display: inline-flex;
    align-items: center;
    .default-text-shadow();

    background: fade(@offline-color, 50%);

    &--online {
      background: fade(@online-color, 50%);
    }
  }

  &__status-icon {
    padding-right: @card-item-spacing;
  }
}


CAL-18 only fix row height on main calendar

fatal: unable to access 'https://github.com/heroandtn3/openpaas-esn.git/': The requested URL returned error: 403


updated admin uikit theme

updated admin uikit theme

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/4nxiety/pagekit.git/'


shadow

shadow

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/pcruise/translate-together.git/'