/*  Licensed under the Apache License, Version 2.0 (the "License"); you may not
 *  use this file except in compliance with the License. You may obtain a copy of
 *  the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 *  License for the specific language governing permissions and limitations under
 *  the License.
 */

/* = color variables
   ---------------------------------------------------------------------- */
@brown: #3A2C2B;
@red: #E33F3B;
@darkRed: #AF2D24;
@linkRed: #DA4F49;
@greyBrown: #554D4C;
@fontGrey: #808080;
@secondarySidebar: #E4DFDC;


@orange: #F3622D;

/*nav*/
@primaryNav : @brown;
@navBG: @darkRed;
@navBGHighlight: @red;
@navBGHover: @red;
@navIconColor: @darkRed;
@navIconHighlight: #FFFFFF;
@bottomNav: @greyBrown;

/*top header*/
@breadcrumbBG: #F1F1F1;
@breadcrumbText: @red;
@breadcrumbArrow: #999999;
@breadcrumbBorder: @red;

/*background colors*/
@background: #F2F2F2;
@leftPanel: @background;
@rightPanel: #CBCBCB;
@defaultText: #4D4D4D;
@defaultHTag: #333333;

@saveButton: #80A221;

@collapsedNavWidth: 62px;
@navWidth: 220px;
@sidebarBG: #F2F2F2;
@sidebarWidth: 330px;

@NavIconActive: #ffffff;
@NavIcon: @brown;


/*buttons */
@redButton: @red;
@linkColor: @red;
@blue:                  #049cdb;
@blueDark:              #0064cd;
@green:                 #7FA30C;
//@red:                   #9d261d;
@yellow:                #ffcc00;
@pink:                  #c3325f;
@purple:                #7a43b6;




@boxShadow: 2px 2px rgba(0,0,0,0.2);
@boxShadowOff: 2px 2px rgba(0,0,0,0);
@textShadow: 1px 2px rgba(0,0,0,0.2);
@textShadowOff: 1px 2px rgba(0,0,0,0);

@radius: 4px;
@transitionSpeed: .25s;
@transitionEaseType: linear;

