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

@import "bootstrap/variables.less";

/* colors */
@brown: #3A2C2B;
@red: #E33F3B;
@orange: #F3622D;
@darkRed: #AF2D24;
@linkRed: #DA4F49;
@greyBrown: #554D4C;
@greyBrownLighter: #A59D9D;
@blue: #049cdb;
@blueDark: #0064cd;
@green: #7FA30C;
@yellow: #ffcc00;
@pink: #c3325f;
@purple: #7a43b6;

/* brand */
@brandPrimary: @red;
@brandPrimaryDark: @darkRed;

/* base */
@background: #F2F2F2;
@leftPanel: @background;
@rightPanel: #CBCBCB;

/* font */
@fontGrey: #808080;
@defaultText: #4D4D4D;
@defaultHTag: #333333;

/* sublist */
@subListGray: #767F89;

/*nav*/
@primaryNav : @brown;
@navBG: @brandPrimaryDark;
@navBGHighlight: @brandPrimary;
@navBGHover: @brandPrimary;
@navWidth: 220px;
@navIconColor: @brandPrimaryDark;
@navIconHighlight: #FFFFFF;
@bottomNav: @greyBrown;
@NavIconActive: #ffffff;
@NavIcon: @brown;

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

/* document-header in doclist */
@docHeaderBG: #3a3a3a;
@docHeaderBorderBottom: #2a2a2a;
@docHeaderOtherBorders: #000;
@docHeaderLabels: #909090;
@docHeaderDocId: @brandPrimary;

/* checkboxes in doc-list */
@docCheckBoxUncheckedBG: #EFEFEF;
@docCheckBoxUncheckedBorder: 2px solid #999;
@docCheckBoxHoverBorder: 2px solid #ccc;
@docCheckBoxCheckedBorder: 2px solid #000;
@docCheckBoxCheckedBG: #3a3a3a;

/* sidebar */
@sidebarBG: #F2F2F2;
@sidebarWidth: 330px;

/* secondary sidebar */
@secondarySidebar: white;

/* links */
@linkColor: @brandPrimary;
@linkColorHover: @brandPrimaryDark;

/* borders */
@radius: 4px;
@baseBorderRadius: 0;

@darkBorder: #aaa;

/* shadows */
@boxShadow: 2px 2px rgba(0,0,0,0.2);
@boxShadowOff: 2px 2px rgba(0,0,0,0);
@boxShadowLeft: -4px 4px rgba(0,0,0,0.2);
@boxShadowLeftOff: -4px 4px rgba(0,0,0,0);
@textShadow: 1px 2px rgba(0,0,0,0.2);
@textShadowOff: 1px 2px rgba(0,0,0,0);

/* animation */
@transitionSpeed: .25s;
@transitionEaseType: linear;
@highlightEffectColor: #bbbbbb;

/* breakpoints */
@collapsedNavWidth: 64px;

/* padding and margins */
@panelPadding: 15px;

/* alerts */
@infoAlertColor: #329898;
@successAlertColor: #448c11;
@errorAlertColor: #c45b55;
