/**
 * Some variables and mixins for Kalamar,
 * other Sass styles will use.
 */

/**
 * Official IDS colors
 */
$ids-orange-1: rgb(246, 168,   0);
$ids-orange-2: rgb(242, 148,   0);
$ids-grey-1:   rgb(135, 136, 138);
$ids-grey-2:   rgb(217, 218, 219);
$ids-blue-1:   rgb(  0, 158, 224); // Pragmatik
$ids-blue-2:   rgb(188, 228, 247); // Pragmatik
$ids-green-1:  rgb( 99, 111,   7); // Grammatik
$ids-green-2:  rgb(227, 232, 163); // Grammatik
$ids-pink-1:   rgb(193,   0,  43); // Lexik
$ids-pink-2:   rgb(250, 243, 222); // Lexik

$black: #333;

/**
 * Orange Colors
 */
$light-orange:   #f4eebb; // #ffe56a;
$middle-orange:  #ffd080;
$dark-orange:    $ids-orange-1; // #ffa500;
$darker-orange:  #ff8000;
$darkest-orange: #e55d00;
// $light-orange-2: #f4eebb;, #ffd080;
// Yellow: #fff48d

/**
 * Green Colors
 */
$dark-green:     $ids-green-1; // #496000;
// $middle-green:   lighten($ids-green-1, 5%);
$middle-green:   lighten($ids-green-1, 9%);
$light-green:    lighten($ids-green-1, 13%); // #7ba400;
$lightest-green: #d8e38c; // lighten($ids-green-1, 26%);

/**
 * Blue Colors
 */
$light-blue:     $ids-blue-2;
$dark-blue:      $ids-blue-1;
$darkest-blue:   darken($dark-blue, 40%);

/**
 * Grey Colors
 */
$middle-grey:  $ids-grey-1; // #999;
$light-grey:   $ids-grey-2; // #ddd;
$dark-grey:    darken($middle-grey, 15%);
$nearly-white: #fefefe;

/**
 * Red Colors (no IDS relation)
 */
$middle-red: #c1002b;
$light-red: lighten($middle-red, 40%);
$dark-red: darken($middle-red, 40%);


/**
 * Basic shadows
 */
$dark-shadow: 1px 1px 1px rgba(0,0,0,0.3);
$light-shadow: 1px 1px rgba(255,255,255,0.5);

/**
 * KWIC colors
 */
$kwic-border:       $middle-grey;
$kwic-line-noneven: $light-grey;
$kwic-line-even:    $nearly-white;
$kwic-match-color:  $dark-grey;
$kwic-match-shadow: $light-shadow;

$kwic-highlight-1:  $middle-red;
$kwic-highlight-2:  $dark-blue;   // #009ee0;
$kwic-highlight-3:  $dark-orange; // #f29400;
$kwic-highlight-4:  $light-green;

$choose-bg:     $light-grey;
$choose-border-color: $middle-grey;
$choose-border: 2px solid $choose-border-color;
$choose-color:  $dark-grey;
$choose-blind-color:  $middle-grey;
$choose-box-shadow: 2px 2px 2px  rgba(0,0,0,0.2);
$standard-border-radius: 6px;
$item-padding: 3pt 6pt;
$button-width: 30px;
$base-padding: 8px;
$border-size: 2px;
$result-border-size: 1px;
$total-results: $light-green;

/**
 * Path information - relative to css!
 */
$img-path:  '../img';
$font-path: '../font';

/**
 * Margins
 */
$standard-margin: 40px;
$right-distance: $standard-margin;
$right-match-distance: $standard-margin / 2;
$logo-left-distance: 230px;

/**
 * Mixin for blind elements
 * (e.g., spans in elements with an icon background)
 */
@mixin blind {
  position: absolute;
  margin-left: -3000px;
}


/**
 * Chooseable items (default)
 */
@mixin choose-item {
  color: $choose-color;
  background-color: $choose-bg;
  border-color: $choose-border-color;
  text-shadow: $light-shadow;
}

/**
 * Chooseable items (mouse over)
 */
@mixin choose-hover {
  color: $nearly-white;
  text-shadow: none;
  background-color: $dark-orange;
  border-color: $darker-orange;
}

/**
 * Chooseable items (not available)
 */
@mixin choose-inactive {
  color: lighten($choose-color, 20%);
  background-color: lighten($choose-bg, 20%);
  border-color: transparent;
  text-shadow: none;
}

/**
 * Chooseable items (active)
 */
@mixin choose-active {
  color: $dark-green;
  text-shadow: none;
  background-color: $light-green;
  border-color: $dark-green;
}

/**
 * Chooseable items (action: remove something)
 */
@mixin choose-remove {
  color: $nearly-white;
  text-shadow: none;
  background-color: $middle-red;
  border-color: $dark-red;
}

@mixin cell-info {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 25em;
  overflow: hidden;
  padding: 1px 6px;
  margin: 0px;
}

/**
 * Mixin for basic color transition
 */
@mixin color-transition {
  transition: color 0.3s ease 0s;
}

@mixin input-field {
  outline: none;
  font-size: 11pt;
  border: $border-size solid $nearly-white;
  padding: 2px;
  margin: 0;
}

/**
 * Mixing for basic text padding
 */
@mixin standard-text-padding {
  padding-left: .4em;
  padding-right: .4em;
}


/**
 * Mixing for correct box sizing (probably not necessary)
 * DEPRECATED
 */
@mixin box-sizing-box() {
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
}

/**
 * Noisy background
 */
@mixin light-noise {
  background-image:url('#{$img-path}/noise.png');
}

/**
 * Mixin for no-appearance rules
 */
// https://css-tricks.com/almanac/properties/a/appearance/
@mixin no-appearance {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}


/**
 * Font Awesome symbol table
 */
$fa-bars:         "\f0c9";
$fa-extlink:      "\f08e";
$fa-up:           "\f0d8";
$fa-down:         "\f0d7";
$fa-close:        "\f00d";
$fa-download:     "\f019";
$fa-info:         "\f05a";
$fa-elipsis:      "\f141";
$fa-previous:     "\f0d9";
$fa-next:         "\f0da";
$fa-search:       "\f002";
$fa-rewrite:      "\f040";
$fa-login:        "\f090";
$fa-logout:       "\f08b";
$fa-tutorial:     "\f19d";
$fa-left-align:   "\f036";
$fa-right-align:  "\f038";
$fa-center-align: "\f037";
$fa-question:     "\f128";
$fa-checked:      "\f046";
$fa-check:        "\f096";
$fa-code:         "\f121";
$fa-marked:       "\f005";
// $fa-metadata:    "\f067";
$fa-metadata:     "\f055";
$fa-to-query:     "\f102";
$fa-cut:          "\f0c4";
$fa-plugin:       "\f1e6";