implement icon hover and active states

implement icon hover and active states

/*
 * 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 */
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;

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

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 {
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;
        float: left;
    }

    .content {
        height: 100%;
    }
}

.toolbar {
    /* make sure the shadow goes above other items */
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}

#status-bar {
    position: relative;
    background-color: @background-color-3;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    box-sizing: border-box;
    color: @bc-grey;
    font-family: @fontstack-sans-serif;
    font-size: 0.9em;
    line-height: 1;

    height: 20px;
    overflow: hidden;
    padding: 3px 20px 3px 10px;
}

#status-info {
    position: absolute;
    left: 8px;
    background-color: @background-color-3;
    white-space: nowrap;

    div {
        display: inline;
        margin-right: 20px;
    }
}

#status-indicators {
    position: absolute;
    right: 4px;
    background-color: @background-color-3;
    white-space: nowrap;

    &>div {
        display: inline;
        margin-left: 20px;

        &#busy-indicator {
            display: inline-block;
            vertical-align: middle;
            margin-top: -2px;
            width: 12px;
            height: 12px;
            background: url("images/small_spinner.svg") no-repeat;
            visibility: hidden;

            &.spin {
                -webkit-animation: rotating 1.5s linear infinite;
                visibility: visible;
            }
        }
    }
}

@-webkit-keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

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

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

#indent-type, #indent-width-label {
    margin-right: 2px;
}

#indent-type, #indent-width-label {
    cursor: pointer;
}

#indent-width-label {
    width: 14px;
}

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

#indent-width-input {
    font-size: 1em;
    height: 12px;
    line-height: 1;
    vertical-align: -2px;
    border: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    color: @bc-black;
    margin: 0;
    padding: 0;
    width: 14px;
    position: relative;
    left: -1px;
    top: -2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
}

#indent-width-input:focus {
    border: 1px solid rgba(9,64,253,0.84);
    outline: none;
}

#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 {
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: lighten(@bc-grey, @bc-color-step-size*4);

    .toolbar {
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        .box-shadow(0 -1px 3px 0 fadeout(@bc-black, 70%));
        .title {
            font-size: @label-font-size;
            font-weight: bold;
        }
        .close {
            position: absolute;
            right: 10px;
        }
    }

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

        td {
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #d2dcf8;
        }

        tr.selected td {
            background-color: @bc-light-blue;
        }
    }
}

#update-notification {
    padding-right: 5px;
    margin-bottom: -1px;
    .sprite-icon(0,0, 14px,14px, "images/updateSprites.svg");
    &:hover {
        .sprite-swap(0,14px);
    }
    display:none;
}

.jslint-disabled {
    font-size: 1em;
    color: @bc-grey;
}

.jslint-errors {
    font-size: 1em;
    color: @bc-red;
}

.jslint-valid {
    font-size: 1em;
    color: lighten(@bc-yellow, @bc-color-step-size*2);
}

#toolbar-go-live {
    padding-right: 8px;

    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0,0, 22px,11px, "images/live_development_sprites.svg");
    &:hover {
        .sprite-swap(0,11px);
    }
    // 'Connected' state
    &.success {
        .sprite-swap(0,22px);
    }
    &.success:hover {
        .sprite-swap(0,33px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0,44px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0,55px);
    }
    &.out-of-sync:hover {
        .sprite-swap(0,66px);
    }
}

/* Project panel */

#project-header {
    /* Fixed height blank space for now. The mockups have the window "stoplights" or a logo here. */
    height: 29px;
}

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

#file-section {
    .vbox;
    .box-flex(1);
    margin: 5px 0px 0px 0px;
    position: relative;

    .project-file-header-area {
        padding: 6px 26px 2px 10px;
        font-size: 13px;
        color: #929292;

        // extra right padding is for this icon
        .settings {
            position: absolute;
            right: 8px;
            .sprite-icon(0, 0, 14px, 14px, "images/settings_small.svg");

            &:hover {
                .sprite-swap(0, 14px);
            }
            &:active {
                .sprite-swap(0, 28px);
            }
        }
    }

    .file-list-divider {
        border-bottom: 1px solid #9a9a9a;
        box-shadow: 0px 1px #eeeeee;
    }
}

#open-files-container {
    .box-flex(0);
    margin: 0 0 22px 0;
    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;
    }

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

    a {
        color: #BBB;

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

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

        cursor: default;
    }

    .selected a {
        color: #fff;
    }
}

.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: 10px;
    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: @triangle-size solid transparent;
    border-bottom: @triangle-size solid transparent;
    border-right: @triangle-size solid @background-color-3;

    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    width: 0;
    height: 0;

    .scale-x(0.9, 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: @triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }
}

#editor-holder .scroller-shadow {
    width: 100%;
}

.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;
    }

    &.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 */
    }
}

@sprite-size-18: 4px;

/** 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: @sprite-size-18;
    height: @sprite-size-18;
}

.disclosure-arrow-opened {
    .jstree-sprite;
    display: inline-block;
    background-position: -@sprite-size-18 0px;
}

.disclosure-arrow-closed {
    .jstree-sprite;
    display: inline-block;
    background-position: 0px 0px;
}
ins.jstree-icon {
    left: -12px !important;
}
/** 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: 3px 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 1px;
    }
}

/* Styles for inline editors */
.inline-widget {
    background-color:   @inline-background-color-1;

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

        .filename {
            font-family: @fontstack-sans-serif;
            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 {
        /* Don't show horizontal scrollbars within an inline editor--we want to scroll the outer editor */
        overflow-x: hidden;
        background-color: transparent;
    }
}

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

    /*width: 0;*/
    font-family: @fontstack-sans-serif;
    position: fixed;
    width: 250px;
    overflow: hidden;
    /*-webkit-transition: width 0.15s ease-out;*/
    background: @inline-background-color-2;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        -webkit-transition: height 0.1s ease-out;
        -webkit-transition: top 0.1s ease-out;
        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;
    }

    /*
     * 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: @triangle-size solid @inline-background-color-3;
        border-bottom: @triangle-size solid @inline-background-color-3;
        border-left: @triangle-size solid @inline-background-color-1;
        margin-top: -@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;
            -webkit-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();
}

/* Find & Replace search bars - temporary UI, to be replaced with a richer search feature later */

.CodeMirror-dialog {
    position: relative;
    z-index: @z-index-cm-dialog-override;
}

.CodeMirror-dialog > div {
    font-family: @fontstack-sans-serif;
    position: absolute;
    top: 0; left: 0; right: 0;
    background: @background-color-2;
    color: @content-color;
    border-bottom: 1px solid @bc-gray;
    .box-shadow(0 1px 3px 0 fadeout(@bc-black, 70%));
    z-index: 1;
    padding: .5em .8em;
    overflow: hidden;
}

.CodeMirror-dialog input {
    font-family: @fontstack-sans-serif;
    border: 1px solid @content-color-weaker;
    outline: none;
    background: @background-color-3;
    width: 20em;
    margin: .3em .3em;
    color: inherit;
    &.no-results {
        background-color: mix(@background-color-3, #FF0000, 70%);
    }
}

.CodeMirror-searching {
    background-color: inherit;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    border: 1px solid #999;
    background-color: #FFFFFF;

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

    .quick-open-path {
        font-size: 11px;
        color: gray;
    }

    li {
        color: black;
        border-bottom: 1px solid;
        list-style: none;
        cursor: pointer;
        padding: 0px 2px 0px 4px;
    }
}

li.smart_autocomplete_highlight {
    background-color: #e0f0fa;
}

/*
 * 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 */
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;

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

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 {
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;
        float: left;
    }

    .content {
        height: 100%;
    }
}

.toolbar {
    /* make sure the shadow goes above other items */
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}

#status-bar {
    position: relative;
    background-color: @background-color-3;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    box-sizing: border-box;
    color: @bc-grey;
    font-family: @fontstack-sans-serif;
    font-size: 0.9em;
    line-height: 1;

    height: 20px;
    overflow: hidden;
    padding: 3px 20px 3px 10px;
}

#status-info {
    position: absolute;
    left: 8px;
    background-color: @background-color-3;
    white-space: nowrap;

    div {
        display: inline;
        margin-right: 20px;
    }
}

#status-indicators {
    position: absolute;
    right: 4px;
    background-color: @background-color-3;
    white-space: nowrap;

    &>div {
        display: inline;
        margin-left: 20px;

        &#busy-indicator {
            display: inline-block;
            vertical-align: middle;
            margin-top: -2px;
            width: 12px;
            height: 12px;
            background: url("images/small_spinner.svg") no-repeat;
            visibility: hidden;

            &.spin {
                -webkit-animation: rotating 1.5s linear infinite;
                visibility: visible;
            }
        }
    }
}

@-webkit-keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

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

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

#indent-type, #indent-width-label {
    margin-right: 2px;
}

#indent-type, #indent-width-label {
    cursor: pointer;
}

#indent-width-label {
    width: 14px;
}

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

#indent-width-input {
    font-size: 1em;
    height: 12px;
    line-height: 1;
    vertical-align: -2px;
    border: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    color: @bc-black;
    margin: 0;
    padding: 0;
    width: 14px;
    position: relative;
    left: -1px;
    top: -2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
}

#indent-width-input:focus {
    border: 1px solid rgba(9,64,253,0.84);
    outline: none;
}

#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 {
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: lighten(@bc-grey, @bc-color-step-size*4);

    .toolbar {
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        .box-shadow(0 -1px 3px 0 fadeout(@bc-black, 70%));
        .title {
            font-size: @label-font-size;
            font-weight: bold;
        }
        .close {
            position: absolute;
            right: 10px;
        }
    }

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

        td {
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #d2dcf8;
        }

        tr.selected td {
            background-color: @bc-light-blue;
        }
    }
}

#update-notification {
    padding-right: 5px;
    margin-bottom: -1px;
    .sprite-icon(0,0, 14px,14px, "images/updateSprites.svg");
    &:hover {
        .sprite-swap(0,14px);
    }
    display:none;
}

.jslint-disabled {
    font-size: 1em;
    color: @bc-grey;
}

.jslint-errors {
    font-size: 1em;
    color: @bc-red;
}

.jslint-valid {
    font-size: 1em;
    color: lighten(@bc-yellow, @bc-color-step-size*2);
}

#toolbar-go-live {
    padding-right: 8px;

    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0,0, 22px,11px, "images/live_development_sprites.svg");
    &:hover {
        .sprite-swap(0,11px);
    }
    // 'Connected' state
    &.success {
        .sprite-swap(0,22px);
    }
    &.success:hover {
        .sprite-swap(0,33px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0,44px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0,55px);
    }
    &.out-of-sync:hover {
        .sprite-swap(0,66px);
    }
}

/* Project panel */

#project-header {
    /* Fixed height blank space for now. The mockups have the window "stoplights" or a logo here. */
    height: 29px;
}

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

#file-section {
    .vbox;
    .box-flex(1);
    margin: 5px 0px 0px 0px;
    position: relative;

    .project-file-header-area {
        padding: 6px 26px 2px 10px;
        font-size: 13px;
        color: #929292;

        // extra right padding is for this icon
        .settings {
            position: absolute;
            right: 8px;
            width: 14px;
            height: 14px;
            background-image: url("images/settings_small.svg");
        }
    }

    .file-list-divider {
        border-bottom: 1px solid #9a9a9a;
        box-shadow: 0px 1px #eeeeee;
    }
}

#open-files-container {
    .box-flex(0);
    margin: 0 0 22px 0;
    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;
    }

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

    a {
        color: #BBB;

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

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

        cursor: default;
    }

    .selected a {
        color: #fff;
    }
}

.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: 10px;
    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: @triangle-size solid transparent;
    border-bottom: @triangle-size solid transparent;
    border-right: @triangle-size solid @background-color-3;

    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    width: 0;
    height: 0;

    .scale-x(0.9, 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: @triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }
}

#editor-holder .scroller-shadow {
    width: 100%;
}

.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;
    }

    &.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 */
    }
}

@sprite-size-18: 4px;

/** 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: @sprite-size-18;
    height: @sprite-size-18;
}

.disclosure-arrow-opened {
    .jstree-sprite;
    display: inline-block;
    background-position: -@sprite-size-18 0px;
}

.disclosure-arrow-closed {
    .jstree-sprite;
    display: inline-block;
    background-position: 0px 0px;
}
ins.jstree-icon {
    left: -12px !important;
}
/** 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: 3px 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 1px;
    }
}

/* Styles for inline editors */
.inline-widget {
    background-color:   @inline-background-color-1;

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

        .filename {
            font-family: @fontstack-sans-serif;
            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 {
        /* Don't show horizontal scrollbars within an inline editor--we want to scroll the outer editor */
        overflow-x: hidden;
        background-color: transparent;
    }
}

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

    /*width: 0;*/
    font-family: @fontstack-sans-serif;
    position: fixed;
    width: 250px;
    overflow: hidden;
    /*-webkit-transition: width 0.15s ease-out;*/
    background: @inline-background-color-2;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        -webkit-transition: height 0.1s ease-out;
        -webkit-transition: top 0.1s ease-out;
        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;
    }

    /*
     * 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: @triangle-size solid @inline-background-color-3;
        border-bottom: @triangle-size solid @inline-background-color-3;
        border-left: @triangle-size solid @inline-background-color-1;
        margin-top: -@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;
            -webkit-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();
}

/* Find & Replace search bars - temporary UI, to be replaced with a richer search feature later */

.CodeMirror-dialog {
    position: relative;
    z-index: @z-index-cm-dialog-override;
}

.CodeMirror-dialog > div {
    font-family: @fontstack-sans-serif;
    position: absolute;
    top: 0; left: 0; right: 0;
    background: @background-color-2;
    color: @content-color;
    border-bottom: 1px solid @bc-gray;
    .box-shadow(0 1px 3px 0 fadeout(@bc-black, 70%));
    z-index: 1;
    padding: .5em .8em;
    overflow: hidden;
}

.CodeMirror-dialog input {
    font-family: @fontstack-sans-serif;
    border: 1px solid @content-color-weaker;
    outline: none;
    background: @background-color-3;
    width: 20em;
    margin: .3em .3em;
    color: inherit;
    &.no-results {
        background-color: mix(@background-color-3, #FF0000, 70%);
    }
}

.CodeMirror-searching {
    background-color: inherit;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    border: 1px solid #999;
    background-color: #FFFFFF;

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

    .quick-open-path {
        font-size: 11px;
        color: gray;
    }

    li {
        color: black;
        border-bottom: 1px solid;
        list-style: none;
        cursor: pointer;
        padding: 0px 2px 0px 4px;
    }
}

li.smart_autocomplete_highlight {
    background-color: #e0f0fa;
}


Set default cursor on all inline editors

/*
 * 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 */
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;

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

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 {
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;
        float: left;
    }

    .content {
        height: 100%;
        position: relative;
    }
}

.toolbar {
    /* make sure the shadow goes above other items */
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}
#main-toolbar .buttons {
    vertical-align: middle;
}
#main-toolbar .buttons a {
    margin: 0px 8px 0px 0px !important;
    padding: 0 !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
}

#status-bar {
    position: relative;
    background-color: @background-color-3;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    box-sizing: border-box;
    color: @bc-grey;
    font-family: @fontstack-sans-serif;
    font-size: 0.9em;
    line-height: 1;

    height: 20px;
    overflow: hidden;
    padding: 3px 20px 3px 10px;
}

#status-info {
    position: absolute;
    left: 8px;
    background-color: @background-color-3;
    white-space: nowrap;

    div {
        display: inline;
        margin-right: 20px;
    }
}

#status-indicators {
    position: absolute;
    right: 4px;
    background-color: @background-color-3;
    white-space: nowrap;

    &>div {
        display: inline;
        margin-left: 20px;

        &#busy-indicator {
            display: inline-block;
            vertical-align: middle;
            margin-top: -2px;
            width: 12px;
            height: 12px;
            background: url("images/small_spinner.svg") no-repeat;
            visibility: hidden;

            &.spin {
                -webkit-animation: rotating 1.5s linear infinite;
                visibility: visible;
            }
        }
    }
}

@-webkit-keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

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

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

#indent-type, #indent-width-label {
    margin-right: 2px;
}

#indent-width-label {
    width: 14px;
}

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

#indent-width-input {
    font-size: 1em;
    height: 12px;
    line-height: 1;
    vertical-align: -2px;
    border: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    color: @bc-black;
    margin: 0;
    padding: 0;
    width: 14px;
    position: relative;
    left: -1px;
    top: -2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
}

#indent-width-input:focus {
    border: 1px solid rgba(9,64,253,0.84);
    outline: none;
}

#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 {
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: lighten(@bc-grey, @bc-color-step-size*4);

    .toolbar {
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        .box-shadow(0 -1px 3px 0 fadeout(@bc-black, 70%));
        .title {
            font-size: @label-font-size;
            font-weight: bold;
        }
        .close {
            position: absolute;
            right: 10px;
        }
    }

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

        td {
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #d2dcf8;
        }

        tr.selected td {
            background-color: @bc-light-blue;
        }
    }
}

#update-notification {
    padding-right: 5px;
    margin-bottom: -1px;
    .sprite-icon(0,0, 14px,14px, "images/updateSprites.svg");
    &:hover {
        .sprite-swap(0,14px);
    }
    display:none;
}

.jslint-disabled {
    font-size: 1em;
    color: @bc-grey;
}

.jslint-errors {
    font-size: 1em;
    color: @bc-red;
}

.jslint-valid {
    font-size: 1em;
    color: lighten(@bc-yellow, @bc-color-step-size*2);
}

#toolbar-go-live {
    padding-right: 8px;

    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0,0, 22px,16px, "images/live_development_sprites.svg");
    &:hover {
        .sprite-swap(0,16px);
    }
    // 'Connected' state
    &.success {
        .sprite-swap(0,32px);
    }
    &.success:hover {
        .sprite-swap(0,48px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0,64px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0,80px);
    }
    &.out-of-sync:hover {
        .sprite-swap(0,96px);
    }
}

/* Project panel */

#project-header {
    /* Fixed height blank space for now. The mockups have the window "stoplights" or a logo here. */
    height: 29px;
}

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

#file-section {
    .vbox;
    .box-flex(1);
    margin: 5px 0px 0px 0px;
    position: relative;

    .project-file-header-area {
        padding: 6px 6px 2px 10px;
        font-size: 13px;
        color: #929292;
    }

    .file-list-divider {
        border-bottom: 1px solid #9a9a9a;
        box-shadow: 0px 1px #eeeeee;
    }
}

#open-files-container {
    .box-flex(0);
    margin: 0 0 22px 0;
    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;
    }

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

    a {
        color: #BBB;

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

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

        cursor: default;
    }

    .selected a {
        color: #fff;
    }
}

.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: 10px;
    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: @triangle-size solid transparent;
    border-bottom: @triangle-size solid transparent;
    border-right: @triangle-size solid @background-color-3;

    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    width: 0;
    height: 0;

    .scale-x(0.9, 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: @triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }
}

#editor-holder .scroller-shadow {
    width: 100%;
}

.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;
    }

    &.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;
}

/** 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: 3px 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 1px;
    }
}

/* Styles for inline editors */
.inline-widget {
    background-color:   @inline-background-color-1;
    min-width: 250px;
    cursor: default;

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

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

        .filename {
            font-family: @fontstack-sans-serif;
            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: @fontstack-sans-serif;
    width: 250px;
    max-width: 50%;
    overflow: hidden;
    background: @inline-background-color-2;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        -webkit-transition: height 0.1s ease-out;
        -webkit-transition: top 0.1s ease-out;
        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;
    }

    /*
     * 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: @triangle-size solid @inline-background-color-3;
        border-bottom: @triangle-size solid @inline-background-color-3;
        border-left: @triangle-size solid @inline-background-color-1;
        margin-top: -@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;
            -webkit-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();
}

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

#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: -(@jstree-sprite-size*1 - 2px) -(@jstree-sprite-size*1 - 1px);
    }
    &.collapsed {
        background-position: -(@jstree-sprite-size*0 - 2px) -@jstree-sprite-size*1;
    }
}

/* Modal bar for Find/Quick Open */

.modal-bar {
    text-align: left;
    width: 100%;
    font-family: @fontstack-sans-serif;
    font-size: 13px;
    color: @content-color;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size);
    background: #eee;
    margin-left: -8px;
    margin-top: 4px;
    margin-bottom: -4px; // bleed into toolbar padding
    padding: 6px 14px 4px;
    overflow: hidden;
}

.modal-bar input {
    font-family: @fontstack-sans-serif;
    border: 1px solid @content-color-weaker;
    outline: none;
    background: @background-color-3;
    width: 20em;
    margin: .3em .3em;
    color: inherit;
    &.no-results {
        background-color: mix(@background-color-3, #FF0000, 70%);
    }
}

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

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

.CodeMirror-searching {
    background-color: inherit;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    border: 1px solid #999;
    background-color: #FFFFFF;

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

    .quick-open-path {
        font-size: 11px;
        color: gray;
    }

    li {
        color: black;
        border-bottom: 1px solid;
        list-style: none;
        cursor: default;
        padding: 0px 2px 0px 4px;
    }
}

li.smart_autocomplete_highlight {
    background-color: #e0f0fa;
}

.quicksearch-pathmatch {
    font-weight: bold;
    color: #555;
}

.quicksearch-namematch {
    font-weight: bold;
}

/*
 * 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 */
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;

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

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 {
    height: 100%;

    .sidebar {
        height: 100%;
        .vbox;
        width: @sidebar-width;
        float: left;
    }

    .content {
        height: 100%;
        position: relative;
    }
}

.toolbar {
    /* make sure the shadow goes above other items */
    z-index: @z-index-brackets-toolbar;
}

.busyCursor {
    cursor: wait !important;
}
#main-toolbar .buttons {
    vertical-align: middle;
}
#main-toolbar .buttons a {
    margin: 0px 8px 0px 0px !important;
    padding: 0 !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
}

#status-bar {
    position: relative;
    background-color: @background-color-3;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    box-sizing: border-box;
    color: @bc-grey;
    font-family: @fontstack-sans-serif;
    font-size: 0.9em;
    line-height: 1;

    height: 20px;
    overflow: hidden;
    padding: 3px 20px 3px 10px;
}

#status-info {
    position: absolute;
    left: 8px;
    background-color: @background-color-3;
    white-space: nowrap;

    div {
        display: inline;
        margin-right: 20px;
    }
}

#status-indicators {
    position: absolute;
    right: 4px;
    background-color: @background-color-3;
    white-space: nowrap;

    &>div {
        display: inline;
        margin-left: 20px;

        &#busy-indicator {
            display: inline-block;
            vertical-align: middle;
            margin-top: -2px;
            width: 12px;
            height: 12px;
            background: url("images/small_spinner.svg") no-repeat;
            visibility: hidden;

            &.spin {
                -webkit-animation: rotating 1.5s linear infinite;
                visibility: visible;
            }
        }
    }
}

@-webkit-keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

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

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

#indent-type, #indent-width-label {
    margin-right: 2px;
}

#indent-width-label {
    width: 14px;
}

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

#indent-width-input {
    font-size: 1em;
    height: 12px;
    line-height: 1;
    vertical-align: -2px;
    border: 1px solid darken(@background-color-3, @bc-color-step-size / 2);
    color: @bc-black;
    margin: 0;
    padding: 0;
    width: 14px;
    position: relative;
    left: -1px;
    top: -2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
}

#indent-width-input:focus {
    border: 1px solid rgba(9,64,253,0.84);
    outline: none;
}

#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 {
    display: none;
    height: 200px;
    border-top-style: solid;
    border-width: 1px;
    border-color: lighten(@bc-grey, @bc-color-step-size*4);

    .toolbar {
        height: auto;
        padding-top: @base-padding / 2;
        padding-bottom: @base-padding / 2;
        z-index: @z-index-brackets-results-panel;
        .box-shadow(0 -1px 3px 0 fadeout(@bc-black, 70%));
        .title {
            font-size: @label-font-size;
            font-weight: bold;
        }
        .close {
            position: absolute;
            right: 10px;
        }
    }

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

        td {
            padding-left: @base-padding;
            padding-right: @base-padding;
        }

        .highlight {
            background: #d2dcf8;
        }

        tr.selected td {
            background-color: @bc-light-blue;
        }
    }
}

#update-notification {
    padding-right: 5px;
    margin-bottom: -1px;
    .sprite-icon(0,0, 14px,14px, "images/updateSprites.svg");
    &:hover {
        .sprite-swap(0,14px);
    }
    display:none;
}

.jslint-disabled {
    font-size: 1em;
    color: @bc-grey;
}

.jslint-errors {
    font-size: 1em;
    color: @bc-red;
}

.jslint-valid {
    font-size: 1em;
    color: lighten(@bc-yellow, @bc-color-step-size*2);
}

#toolbar-go-live {
    padding-right: 8px;

    // Default icon is for the 'disconnected' state
    // The 'connecting failed' (.warning) state also maps here
    .sprite-icon(0,0, 22px,16px, "images/live_development_sprites.svg");
    &:hover {
        .sprite-swap(0,16px);
    }
    // 'Connected' state
    &.success {
        .sprite-swap(0,32px);
    }
    &.success:hover {
        .sprite-swap(0,48px);
    }
    // 'Connection in progress' state
    &.info {
        .sprite-swap(0,64px);
    }
    // 'Out-of-sync' state
    &.out-of-sync {
        .sprite-swap(0,80px);
    }
    &.out-of-sync:hover {
        .sprite-swap(0,96px);
    }
}

/* Project panel */

#project-header {
    /* Fixed height blank space for now. The mockups have the window "stoplights" or a logo here. */
    height: 29px;
}

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

#file-section {
    .vbox;
    .box-flex(1);
    margin: 5px 0px 0px 0px;
    position: relative;

    .project-file-header-area {
        padding: 6px 6px 2px 10px;
        font-size: 13px;
        color: #929292;
    }

    .file-list-divider {
        border-bottom: 1px solid #9a9a9a;
        box-shadow: 0px 1px #eeeeee;
    }
}

#open-files-container {
    .box-flex(0);
    margin: 0 0 22px 0;
    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;
    }

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

    a {
        color: #BBB;

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

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

        cursor: default;
    }

    .selected a {
        color: #fff;
    }
}

.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: 10px;
    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: @triangle-size solid transparent;
    border-bottom: @triangle-size solid transparent;
    border-right: @triangle-size solid @background-color-3;

    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    width: 0;
    height: 0;

    .scale-x(0.9, 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: @triangle-size * 2;
    }

    ul {
        padding-left: 8px;
    }
}

#editor-holder .scroller-shadow {
    width: 100%;
}

.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;
    }

    &.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;
}

/** 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: 3px 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 1px;
    }
}

/* Styles for inline editors */
.inline-widget {
    background-color:   @inline-background-color-1;
    min-width: 250px;

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

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

        .filename {
            font-family: @fontstack-sans-serif;
            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: @fontstack-sans-serif;
    width: 250px;
    max-width: 50%;
    overflow: hidden;
    background: @inline-background-color-2;
    cursor: default;

    .selection {
        width: 100%;
        background: #d0d5d5;
        position: absolute;
        -webkit-transition: height 0.1s ease-out;
        -webkit-transition: top 0.1s ease-out;
        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;
    }

    /*
     * 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: @triangle-size solid @inline-background-color-3;
        border-bottom: @triangle-size solid @inline-background-color-3;
        border-left: @triangle-size solid @inline-background-color-1;
        margin-top: -@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;
            -webkit-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();
}

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

#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: -(@jstree-sprite-size*1 - 2px) -(@jstree-sprite-size*1 - 1px);
    }
    &.collapsed {
        background-position: -(@jstree-sprite-size*0 - 2px) -@jstree-sprite-size*1;
    }
}

/* Modal bar for Find/Quick Open */

.modal-bar {
    text-align: left;
    width: 100%;
    font-family: @fontstack-sans-serif;
    font-size: 13px;
    color: @content-color;
    border-top: 1px solid darken(@background-color-3, @bc-color-step-size);
    background: #eee;
    margin-left: -8px;
    margin-top: 4px;
    margin-bottom: -4px; // bleed into toolbar padding
    padding: 6px 14px 4px;
    overflow: hidden;
}

.modal-bar input {
    font-family: @fontstack-sans-serif;
    border: 1px solid @content-color-weaker;
    outline: none;
    background: @background-color-3;
    width: 20em;
    margin: .3em .3em;
    color: inherit;
    &.no-results {
        background-color: mix(@background-color-3, #FF0000, 70%);
    }
}

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

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

.CodeMirror-searching {
    background-color: inherit;
}

/* Quick Open search bar & dropdown */

.smart_autocomplete_container {

    border: 1px solid #999;
    background-color: #FFFFFF;

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

    .quick-open-path {
        font-size: 11px;
        color: gray;
    }

    li {
        color: black;
        border-bottom: 1px solid;
        list-style: none;
        cursor: default;
        padding: 0px 2px 0px 4px;
    }
}

li.smart_autocomplete_highlight {
    background-color: #e0f0fa;
}

.quicksearch-pathmatch {
    font-weight: bold;
    color: #555;
}

.quicksearch-namematch {
    font-weight: bold;
}


less for loop

less for loop

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/'


Add a.btn selector for box campaign cta's

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/hevnly/asset-bazaar.git/'


Customize .nav-pills in AC

Customize .nav-pills in AC

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/kyfr59/atom-cg35.git/'


Header fix chrome

Header fix chrome

If header is fixed, then in chrome it sometimes may flicker a bit. This new commit fucking fixes it!

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/koderhtml/html5-css3-starting-template.git/'


reset table list style for article list

reset table list style for article list

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


Create lists.less

Create lists.less

//**** Lists ****//

//Default Style

ul, ol {
   margin: 0;
}

ul > li, ol > li {
   padding: @list-default-li-padding;
}

//Base Style

ul.list {
   padding: 0;
   display: block;
   list-style: none;
   width: 100%;
   margin-bottom: @list-margin-bottom;
}

ul.list > li {
   padding: @list-li-padding;
}

ul.list > li > a {
   display: block;
}

ul.list > li {
   display: block;
   border-bottom: 1px solid @list-border;
}

ul.list > li:first-child {
   border-top: 1px solid @list-border;
}

//Dashed Style

ul.list.list-dashed > li {
   display: block;
   border-bottom: 1px dashed @list-border;
}

ul.list.list-dashed > li:first-child {
   border-top: 1px dashed @list-border;
}

//Div List

div.list {
   padding: 0;
   display: block;
   list-style: none;
   border: 1px solid @list-border;
   border-radius: @border-radius;
}

div.list > .list-item {
   display: block;
   margin: 0;
   padding: @list-item-padding;
}

div.list > .list-item:not(:last-child) {
   border-bottom: 1px solid @list-border;
}

div.list > .list-item:first-child {
    border-top-left-radius: @border-radius - 1px;
	border-top-right-radius: @border-radius - 1px;
}

div.list > .list-item:last-child {
    border-bottom-left-radius: @border-radius - 1px;
	border-bottom-right-radius: @border-radius - 1px;
}

div.list > .list-item > * {
   margin: 0;
}

div.list > .list-item > h1, div.list > .list-item > h2, div.list > .list-item > h3, div.list > .list-item > h4, div.list > .list-item > h5, div.list > .list-item > h6, div.list > .list-item > .h1, div.list > .list-item > .h2, div.list > .list-item > .h3, div.list > .list-item > .h4, div.list > .list-item > .h5, div.list > .list-item > .h6 {
   margin-bottom: @list-item-inside-margin;
}

//Disabled Div List Item

div.list > .list-item.disabled {
    pointer-events: none;
    cursor: not-allowed;
	background: @gray-light_2;
    opacity: @button-disabled-opacity; //Same as buttons
}

//Primary

div.list.list-primary > .list-item.active {
	background: @button-primary;
}

div.list.list-primary > .list-item.active > * {
	color: @white;
}

//Success

div.list.list-success > .list-item.active {
	background: @button-success;
	color: @white;
}

div.list.list-success > .list-item.active > * {
	color: @white;
}

//Warning

div.list.list-warning > .list-item.active {
	background: @button-warning;
	color: @white;
}

div.list.list-warning > .list-item.active > * {
	color: @white;
}

//Error

div.list.list-error > .list-item.active {
	background: @button-error;
	color: @white;
}

div.list.list-error > .list-item.active > * {
	color: @white;
}

//Info

div.list.list-info > .list-item.active {
	background: @button-info;
	color: @white;
}

div.list.list-info > .list-item.active > * {
	color: @white;
}

//Styles

div.list.square {
    border-radius: @border-square-radius;
}

div.list.square > .list-item:first-child {
    border-top-left-radius: @border-square-radius;
	border-top-right-radius: @border-square-radius;
}

div.list.square > .list-item:last-child {
    border-bottom-left-radius: @border-square-radius;
	border-bottom-right-radius: @border-square-radius;
}

div.list.ultra-rounded {
    border-radius: @border-ultra-rounded-radius;
}

div.list.ultra-rounded > .list-item:first-child {
    border-top-left-radius: @border-ultra-rounded-radius - 1px;
	border-top-right-radius: @border-ultra-rounded-radius - 1px;
}

div.list.ultra-rounded > .list-item:last-child {
    border-bottom-left-radius: @border-ultra-rounded-radius - 1px;
	border-bottom-right-radius: @border-ultra-rounded-radius - 1px;
}

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


(fix-radio-group-input) fix for bullet point inside radio for input groups

.radio {
	&.highlight {
		padding: 4px;

		&.checked {
			background: #e9e9e9;
			border-radius: @baseBorderRadius;
		}
	}

	/* for keyboard tabbing */
	input[type="radio"]:focus + .radio-label,
	input[type="radio"]:hover + .radio-label,
	.radio-label:hover {
		color: @grayLight;
	}

}

.form-horizontal .radio-inline{
	padding-top: 0;
}

.input-group-addon.radio-custom.radio-inline {
	&:before {
		left: 11px;
		top: 9px;
	}

	&:after {
		left: 15px;
		top: 13px;
	}
}

.radio-custom {
	position: relative;

	&:after {
		background: transparent;
		border-radius: 6px;
		content: " ";
		height: 6px;
		left: 4px;
		position: absolute;
		top: 7px;
		width: 6px;
	}

	&:before
	{
		border: 1px solid #adadad;
		border-radius: 14px;
		content: " ";
		height: 14px;
		left: 0px;
		position: absolute;
		top: 3px;
		width: 14px;
	}

	&.checked {
		&:after {
			background: #fff;
		}

		&:before {
			background: #39b3d7;
			border-color: #39b3d7;
		}
	}

	&.disabled {
		cursor: not-allowed;

		&:after {
			cursor: not-allowed;
		}

		&:before {
			cursor: not-allowed;
			opacity: .5;
		}
	}

	&.radio-inline {
		&:after {
			left: 4px;
			top: 7px;
		}

		&:before {
			left: 0;
			top: 3px;
		}

		&.highlight {
			padding: 4px 4px 4px 24px;

			&:after {
				left: 8px;
				top: 11px;
			}

			&:before {
				left: 4px;
				top: 7px;
			}

			&.checked {
				background: #e9e9e9;
				border-radius: @baseBorderRadius;
			}
		}
	}

	/* for keyboard tabbing */
	input[type="radio"]:focus + .radio-label {
		color: @grayLight;
	}

}

.radio {
	&.highlight {
		padding: 4px;

		&.checked {
			background: #e9e9e9;
			border-radius: @baseBorderRadius;
		}
	}

	/* for keyboard tabbing */
	input[type="radio"]:focus + .radio-label,
	input[type="radio"]:hover + .radio-label,
	.radio-label:hover {
		color: @grayLight;
	}

}

.form-horizontal .radio-inline{
	padding-top: 0;
}

.input-group-addon.radio-custom.radio-inline:before {
	left: 11px;
	top: 9px;
}

.radio-custom {
	position: relative;

	&:after {
		background: transparent;
		border-radius: 6px;
		content: " ";
		height: 6px;
		left: 4px;
		position: absolute;
		top: 7px;
		width: 6px;
	}

	&:before
	{
		border: 1px solid #adadad;
		border-radius: 14px;
		content: " ";
		height: 14px;
		left: 0px;
		position: absolute;
		top: 3px;
		width: 14px;
	}

	&.checked {
		&:after {
			background: #fff;
		}

		&:before {
			background: #39b3d7;
			border-color: #39b3d7;
		}
	}

	&.disabled {
		cursor: not-allowed;

		&:after {
			cursor: not-allowed;
		}

		&:before {
			cursor: not-allowed;
			opacity: .5;
		}
	}

	&.radio-inline {
		&:after {
			left: 4px;
			top: 7px;
		}

		&:before {
			left: 0;
			top: 3px;
		}

		&.highlight {
			padding: 4px 4px 4px 24px;

			&:after {
				left: 8px;
				top: 11px;
			}

			&:before {
				left: 4px;
				top: 7px;
			}

			&.checked {
				background: #e9e9e9;
				border-radius: @baseBorderRadius;
			}
		}
	}

	/* for keyboard tabbing */
	input[type="radio"]:focus + .radio-label {
		color: @grayLight;
	}

}


Update core.less

Update core.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/Projectbird/Robin-less.git/'


Create thumbnails.less

Create thumbnails.less

//**** Thumbnails ****//

//Base Style

.thumbnail {
   display: block;
   padding: @thumbnail-padding;
   border: 1px solid @thumbnail-border;
   border-radius: @border-radius;
}

.thumbnail:hover {
   border-color: @thumbnail-hover-border;
}

.thumbnail > .caption {
   padding: @thumbnail-caption-padding;
}

//Primary

.thumbnail.thumbnail-primary:hover {
   border-color: @primary;
}

//Success

.thumbnail.thumbnail-success:hover {
   border-color: @success;
}

//Warning

.thumbnail.thumbnail-warning:hover {
   border-color: @warning;
}

//Error

.thumbnail.thumbnail-error:hover {
   border-color: @error;
}

//Info

.thumbnail.thumbnail-info:hover {
   border-color: @info;
}

//Styles (square-only)

.thumbnail.square {
   border-radius: @border-square-radius;
}

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


Add a copy of variables.less to account for the differences in fonts between inner and outer

/*
 * This is Circle's INNER adaptation of the bootstrap variables.less file. It should be used anywhere that variables.less is.
 *
 * To keep this easy to upgrade with new versions of bootstrap, add the
 * circle-overridden value directly below the value, and mark it as being from
 * circle.
 */

// Variables.less
// Variables to customize the look and feel of Bootstrap
// -----------------------------------------------------

// GLOBAL VALUES
// --------------------------------------------------

// Grays
// -------------------------
@black:                 #000;
@grayDarker:            #222;
@grayDark:              #333;
@gray:                  #555;
@grayLight:             #999;
@gray:                  #777; // circle
@grayLight:             #ccc; // circle
@grayLighter:           #eee;
@white:                 #fff;

// Accent colors
// -------------------------
@blue:                  #049cdb;
@blueDark:              #0064cd;
@blueDarker:            #1b4f8a; // circle
@blueDark:              #366aa4; // circle
@blue:                  #586e8a; // circle
@blueLight:             #d7dce3; // circle
@blueLighter:           #eff2f6; // circle
@green:                 #46a546;
@red:                   #9d261d;
@yellow:                #ffc40d;
@orange:                #f89406;
@pink:                  #c3325f;
@purple:                #7a43b6;

// Scaffolding
// -------------------------
@bodyBackground:        @white;
@textColor:             @grayDark;

// Links
// -------------------------
@linkColor:             #08c;
@linkColorHover:        darken(@linkColor, 15%);
@linkColor:               @blueDark; // circle
@linkColorHover:          @blueDarker; // circle

// Typography
// -------------------------
@sansFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
//@sansFontFamily:        "Open Sans", sans-serif; // circle outer, not inner
@serifFontFamily:       Georgia, "Times New Roman", Times, serif;
@monoFontFamily:        Menlo, Monaco, Consolas, "Courier New", monospace;

@baseFontSize:          13px;
//@baseFontSize:          15px; // circle outer, not inner
@baseFontFamily:        @sansFontFamily;
@baseLineHeight:        18px;
@altFontFamily:         @serifFontFamily;

@headingsFontFamily:    inherit; // empty to use BS default, @baseFontFamil
// @headingsFontFamily:    "Lato", sans-serif; // circle outer, not inner
@headingsFontWeight:    bold;    // instead of browser default, bold
@headingsColor:         inherit; // empty to use BS default, @textColor

// Tables
// -------------------------
@tableBackground:                   transparent; // overall background-color
@tableBackgroundAccent:             #f9f9f9; // for striping
@tableBackgroundHover:              #f5f5f5; // for hover
@tableBorder:                       #ddd; // table and cell border

// Buttons
// -------------------------
@btnBackground:                     @white;
@btnBackgroundHighlight:            darken(@white, 10%);
@btnBorder:                         #ccc;

@btnPrimaryBackground:              @linkColor;
@btnPrimaryBackgroundHighlight:     spin(@btnPrimaryBackground, 15%);

@btnInfoBackground:                 #5bc0de;
@btnInfoBackgroundHighlight:        #2f96b4;

@btnSuccessBackground:              #62c462;
@btnSuccessBackgroundHighlight:     #51a351;

@btnWarningBackground:              lighten(@orange, 15%);
@btnWarningBackgroundHighlight:     @orange;

@btnDangerBackground:               #ee5f5b;
@btnDangerBackgroundHighlight:      #bd362f;

@btnInverseBackground:              @gray;
@btnInverseBackgroundHighlight:     @grayDarker;

// Forms
// -------------------------
@inputBackground:               @white;
@inputBorder:                   #ccc;
@inputBorderRadius:             3px;
@inputDisabledBackground:       @grayLighter;
@formActionsBackground:         #f5f5f5;

// Dropdowns
// -------------------------
@dropdownBackground:            @white;
@dropdownBorder:                rgba(0,0,0,.2);
@dropdownLinkColor:             @grayDark;
@dropdownLinkColorHover:        @white;
@dropdownLinkBackgroundHover:   @linkColor;
@dropdownDividerTop:            #e5e5e5;
@dropdownDividerBottom:         @white;

// COMPONENT VARIABLES
// --------------------------------------------------

// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown:          1000;
@zindexPopover:           1010;
@zindexTooltip:           1020;
@zindexFixedNavbar:       1030;
@zindexModalBackdrop:     1040;
@zindexModal:             1050;

// Sprite icons path
// -------------------------
@iconSpritePath:          "../img/glyphicons-halflings.png";
@iconWhiteSpritePath:     "../img/glyphicons-halflings-white.png";
@iconSpritePath:          "../../../img/glyphicons-halflings.png";
@iconWhiteSpritePath:     "../../../img/glyphicons-halflings-white.png";

// Input placeholder text color
// -------------------------
@placeholderText:         @grayLight;

// Hr border color
// -------------------------
@hrBorder:                @grayLighter;

// Navbar
// -------------------------
@navbarHeight:                    40px;
@navbarBackground:                @grayDarker;
@navbarBackgroundHighlight:       @grayDark;

@navbarText:                      @grayLight;
@navbarLinkColor:                 @grayLight;
@navbarLinkColorHover:            @white;
@navbarLinkColorActive:           @navbarLinkColorHover;
@navbarLinkBackgroundHover:       transparent;
@navbarLinkBackgroundActive:      @navbarBackground;

@navbarSearchBackground:          lighten(@navbarBackground, 25%);
@navbarSearchBackgroundFocus:     @white;
@navbarSearchBorder:              darken(@navbarSearchBackground, 30%);
@navbarSearchPlaceholderColor:    #ccc;
@navbarBrandColor:                @navbarLinkColor;

// Hero unit
// -------------------------
@heroUnitBackground:              @grayLighter;
@heroUnitHeadingColor:            inherit;
@heroUnitLeadColor:               inherit;

// Form states and alerts
// -------------------------
@warningText:             #c09853;
@warningBackground:       #fcf8e3;
@warningBorder:           darken(spin(@warningBackground, -10), 3%);

@errorText:               #b94a48;
@errorBackground:         #f2dede;
@errorBorder:             darken(spin(@errorBackground, -10), 3%);

@successText:             #468847;
@successBackground:       #dff0d8;
@successBorder:           darken(spin(@successBackground, -10), 5%);

@infoText:                #3a87ad;
@infoBackground:          #d9edf7;
@infoBorder:              darken(spin(@infoBackground, -10), 7%);

// GRID
// --------------------------------------------------

// Default 940px grid
// -------------------------
@gridColumns:             12;
@gridColumnWidth:         60px;
@gridGutterWidth:         20px;
@gridRowWidth:            (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));

// Fluid grid
// -------------------------
@fluidGridColumnWidth:    6.382978723%;
@fluidGridGutterWidth:    2.127659574%;

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


Create example.less

Create example.less

.vue-star-rating{
	position:relative;
	.rating-star{
		.trans;
		float:left;
		color:#999;
		&.highlight{
			color:red;
		}
	}
	&:not([disabled='disabled']){
		.rating-star{
			cursor:pointer;
		}
	}
	&[disabled='disabled']{
		.rating-star{
			opacity:0.66;
		}
	}
	.disabled-message{
		.box;
		.default-font-size;
		.default-shadow;
		border:solid 0.05vw #999;
		border-radius:0.125vw;
		background-color:white;
		padding:0.5vw;
		position:absolute;
		right:0;
		width:22vw;
		z-index:30;
	}
}

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


Delete pages.less

Delete pages.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/huyhu/aniCtVip.git/'


Use full-width for embed preview

Use full-width for embed preview

@import (reference) "../../styles/custom.less";

.PostFeedEmbed {
  position: relative;
  margin: 4px 0;
  cursor: pointer;
  background-color: #000000;

  &__playButton {
    margin: 0 !important;
    position: absolute;
    display: flex;
    height: 100%;
    width: 100%;
    background: fade(@primary-color, 60%);

    & .iconfont {
      margin: auto;
      font-size: 6em;
      color: @white;
    }
  }

  &__preview {
    display: block;
    width: 100%;
    max-height: 400px;
    margin: 0 auto;
  }
}

@import (reference) "../../styles/custom.less";

.PostFeedEmbed {
  position: relative;
  margin: 4px 0;
  cursor: pointer;
  background-color: #000000;

  &__playButton {
    margin: 0 !important;
    position: absolute;
    display: flex;
    height: 100%;
    width: 100%;
    background: fade(@primary-color, 60%);

    & .iconfont {
      margin: auto;
      font-size: 6em;
      color: @white;
    }
  }

  &__preview {
    display: block;
    max-width: 100%;
    max-height: 400px;
    margin: 0 auto;
  }
}


style fixes

style fixes

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/esleau/esleau-theme.git/'