// #############################################################################
// #############################################################################
// Color definitions used throughout WComponents.
//
// We try to use a simple triad based scheme for the main components. Highlights
// and transient effects should then work with that default scheme.
//
// The colour scheme is defined first using `$std-*` var names. These colours
// are then used to define a set of default functional colours. Finally some
// components have specific colour definitions.
//
// This method grew out of a need to support a LOT of design changes and some
// themes had literally scores of colour definitions (at one stage there was one
// with 50 shades of grey). It is not ideal and is slowly being phased out.
// #############################################################################
// #############################################################################

// #############################################################################
// These two are pretty common. You probably don't _really_ want to over-ride
// them but they can be. I saw a theme which used a very dark grey instead of
// black.
$std-color-white: #fff !default;
$std-color-black: #000 !default;

// #############################################################################
// #############################################################################
// MAIN COLOR SCHEME.
//
// Colours starting $std-* should not appear outside of this file. They are used
// to ensure consistency between components and are being phased out.
// #############################################################################
// #############################################################################

// #############################################################################
// The three main spot colours.
// #############################################################################
// The primary color is the root of the colour scheme and is generally used as
// a heading and link colour and can be used for significant panel decoration.
// FOr example, using the defaults WSection and WPanel Type CHROME use this as
// the heading background.
$std-color-primary: #45699f !default;
// The secondary colour is an accent color related to primary.
$std-color-secondary: #880ce8 !default;
// The tertiary colour is a background colour commonly used for shaded panels,
// secondary headings, menu bars etc.
$std-color-tertiary: #f3f3f3 !default;

// Main colour accents are used as background/foreground combo (or vice versa)
// and must meet 4.5:1 contrast ratio with the main colour definitions above
$std-color-primary-accent: $std-color-white !default;
$std-color-secondary-accent: $std-color-white !default;
$std-color-tertiary-accent: $std-color-primary !default;
// #############################################################################
// #############################################################################

// #############################################################################
// DISABLED
// #############################################################################
// Disabled control colours are special. They are harder to get 4.5:1 and still
// look disabled!
$wc-clr-disabled-fg: #696969 !default;
$wc-clr-disabled-bg: #f3f3f3 !default;
// Disabled controls when against a darker colour (such as the primary heading
// background).
// Must pass 4.5:1 against $std-color-primary.
$wc-clr-alternate-disabled: #ccc !default;
// #############################################################################
// END OF SCHEME.
// #############################################################################

// #############################################################################
// #############################################################################
// FUNCTIONAL COLOURS
// #############################################################################
// #############################################################################

// #############################################################################
// GLOBAL COLOURS
// #############################################################################
// The "global" foreground colour is the colour for normal text and anything you
// want to emulate normal text. This should be explicitly set even if it is
// black so it does not have the ability to set -1 to leave it out.
$wc-clr-global-fg: $std-color-black !default;
// The "global" nackground colour is _most likely_ your body background colour
// and the colour of anything which needs to reset a background. This should be
// explicitly set even if it is white so it does not have the ability to set
// -1 to leave it out.
$wc-clr-global-bg: $std-color-white !default;

// #############################################################################
// TRANSIENTS AND ACCENTS
// Wherever there is a background there should be a foreground and vice-versa.
// Each foreground:background pair must have a contrast ration no less than
// 4.5:1 or 1:4.5
// #############################################################################
// hover/focus
// Invite colours are not applied if $wc-clr-invite-bg == -1.
$wc-clr-invite-fg: $std-color-black !default;
$wc-clr-invite-bg: #bbd6ff !default;
// Selected
$wc-clr-selected-fg: #fafafa !default;
$wc-clr-selected-bg: #6a6a6a !default;
// Highlights. These are for sections of the UI which should **subtlely** stand
// out as different.
$wc-clr-highlight-bg: #f2f2f2 !default;
$wc-clr-highlight-fg: $std-color-black !default;
// The rgba colour is used when highlights overlay other colours. At the moment
// this is only in table rows which may overlay coloured columns.
$wc-clr-highlight-bg-rgba: rgba(0, 0, 0, .02) !default;
// #############################################################################

// #############################################################################
// COMMON BORDERS
// #############################################################################
$wc-clr-border: #ccc !default;
// This will make inputs (except checkbox/radio), textareas and selects (with
// either multiple or size attributes set) have a border:
// * of this colour **and**
// * of width $wc-border-width (default 1px) **and**
// * of style $wc-border-style (default solid)  **and**
// * 1px padding.
// Set it to -1 to not set any of these styles on any of these elements.
// If this is set to -1 then there will be further small changes to the style of
// an opener button in combos, take a look if you change this.
$wc-clr-border-form-control: $wc-clr-border !default;

// #############################################################################
// BODY
// Yeah, I know, this should just be $wc-clr-global-bg etc but hey, who am
// I to force you to be consistent?
// #############################################################################
$wc-ui-body-bg: $wc-clr-global-bg !default;
$wc-ui-body-fg: $wc-clr-global-fg !default;

// #############################################################################
// LINKS
// #############################################################################
// Set to -1 to not output a colour block for `a` elements.
$wc-clr-link: $std-color-primary !default;
// Set to -1 to not output a colour block for a:visited
$wc-clr-link-visited: $std-color-secondary !default;

// #############################################################################
// HEADINGS h1 ... h6
// #############################################################################
// Set to -1 to not output a colour block for headings
// NOTE though that h1 as a WPanel (ACTION or CHROME) or WSection heading is
// treated differently.
$wc-clr-heading: $std-color-primary !default;

// #############################################################################
// required field marker
// #############################################################################
$wc-clr-required-marker: $std-color-secondary !default;

// #############################################################################
// aria-busy components. Set each to -1 to not use that particular colour rule.
// #############################################################################
$wc-clr-busy-fg: rgba(0, 0, 0, .25) !default;
$wc-clr-busy-input-border: rgba(0, 0, 0, .1) !default;
$wc-clr-busy-loading-icon: $wc-clr-disabled-fg !default;

// #############################################################################
// FEEDBACK
// #############################################################################
// TODO: the variable names here are a bit misleading as the fg colour is used
// in the foreground of inline message iconography, the background of the
// message box header and border of the message box.
// Error messages - usually red
$wc-clr-error-fg: #af0000 !default;
// Background of input, textarea, select in an error state. Set to -1 to disable
// error backgrounds.
$wc-clr-error-bg: #ffdfdf !default;
// Information level messages - usually blue
$wc-clr-info-fg: $std-color-primary !default;
// Success messages - usually green
$wc-clr-success-fg: #060 !default;
// Warning messages - usually orange
$wc-clr-warning-fg: #cf4000 !default;
// Message box WMessageBox, WValidationErrors. Needs to be 1:4.5 compared with
// the -fg colours above.
$wc-clr-msgbox-header-fg: $std-color-white !default;

// #############################################################################
// Section headers: WSection, WPanel Type.CHROME
// #############################################################################
// The background colour of a section heading. Set to -1 and sections will not
// have background or foreground overrides of normal header/h1 styles.
$wc-clr-section-heading-bg: $std-color-primary !default;
$wc-clr-section-heading-fg: $std-color-primary-accent !default;
$wc-clr-section-heading-fg-disabled: $wc-clr-alternate-disabled !default;

// #############################################################################
// Dialog frames (WDialog, image editor)
// #############################################################################
$wc-clr-dialog-head-bg: $std-color-primary !default;
$wc-clr-dialog-head-fg: $std-color-primary-accent !default;

// #############################################################################
// Accesskey pop-up
// #############################################################################
$wc-clr-tooltip-fg: $wc-clr-highlight-fg !default;
$wc-clr-tooltip-bg: $wc-clr-highlight-bg !default;

// #############################################################################
// modal shim
// #############################################################################
$wc-clr-modal-shim: rgba(0, 0, 0, .9) !default;
$wc-clr-modal-shim-fg: $std-color-black !default;

// #############################################################################
// WCollapsible
// #############################################################################
$wc-clr-collapsible-header-fg: $wc-clr-global-fg !default;
$wc-clr-collapsible-header-bg: -1 !default;

// #############################################################################
// WLabel
// #############################################################################
$wc-clr-label-fg: -1 !default;
$wc-clr-label-bg: -1 !default;
$wc-clr-label-hint: $std-color-secondary !default;

// #############################################################################
// WMenu
// #############################################################################
//generic menu colours
$wc-clr-menu-bg: $std-color-tertiary !default;
$wc-clr-menu-fg: $wc-clr-global-fg !default;
//NOTE: hover and focus effects use the global invite colours.

// #############################################################################
// WPanel
// #############################################################################
// Type.ACTION
$wc-clr-panel-action-header-bg: $std-color-secondary !default;
$wc-clr-panel-action-header-fg: $std-color-secondary-accent !default;
$wc-clr-panel-action-bg: $std-color-white !default;
$wc-clr-panel-action-border: $std-color-secondary !default;
// Type.CHROME uses section colours.
// Type.FEATURE
// Set to -1 to not use either colour
$wc-clr-panel-feature-fg: $std-color-tertiary-accent !default;
$wc-clr-panel-feature-bg: $std-color-tertiary !default;
// Type.FOOTER
// Set to -1 to not use either colour
$wc-clr-panel-footer-fg: $std-color-tertiary-accent !default;
$wc-clr-panel-footer-bg: $std-color-tertiary !default;
// Type.HEADER
// Set the background colour to -1 to ignore all header colours.
$wc-clr-panel-header-bg: $std-color-primary !default;
$wc-clr-panel-header-fg: $std-color-primary-accent !default;

// #############################################################################
// WTable
// #############################################################################
// Apply to all WTables
// turn off by setting to -1
// your _really_ should set neither or both.
$wc-clr-table-bg: -1 !default;
$wc-clr-table-fg: -1 !default;
// Header colours
// ALL header colours can be turned off by setting $wc-clr-table-head-bg to -1
$wc-clr-table-head-bg: $std-color-primary !default;
$wc-clr-table-head-fg: $std-color-primary-accent !default;
$wc-clr-table-head-disabled: $wc-clr-alternate-disabled !default;
// sorted th colours
// can be turned off by setting $wc-clr-table-head-sorted-bg to -1
$wc-clr-table-head-sorted-bg: $wc-clr-highlight-bg !default;
$wc-clr-table-head-sorted-fg: $wc-clr-highlight-fg !default;
$wc-clr-table-head-sorted-disabled-fg: $wc-clr-disabled-fg !default;
// footer colours
// turn off by setting $wc-clr-table-foot-bg to -1
$wc-clr-table-foot-bg: -1 !default;
$wc-clr-table-foot-fg: $std-color-primary-accent !default;
$wc-color-table-foot-disabled: $wc-clr-disabled-fg !default;
// row and column striping - do not turn this off, just use the Java API!
// however setting this to -1 will prevent the colours being set.
$wc-clr-table-zebra-bg: $wc-clr-highlight-bg-rgba !default;
// sorted column colour, set to -1 to not set.
$wc-clr-table-col-sorted-bg: $wc-clr-highlight-bg-rgba !default;
// Table row focus must be translucent with alpha no greater than .5. Set to
// -1 to not use this invite style.
$wc-clr-table-invite-bg: rgba(204, 229, 255, .5) !default;

// #############################################################################
// WTabSet
// #############################################################################
$wc-clr-tab-inactive: $std-color-tertiary !default;
$wc-clr-tab-active: $std-color-white !default;

// #############################################################################
// WToggleButton
// #############################################################################
$wc-clr-togglebutton-selected: $wc-clr-selected-bg !default; //#86d993;
