// Font stacks taken from http://cssfontstack.com/

$font-stacks: (
  // Sans Serif
  'sans'                 : ("Arial", sans-serif),
  'sans-serif'           : ("Arial", sans-serif),
  'arial'                : ("Arial", "Helvetica Neue", "Helvetica", sans-serif),
  'arial-black'          : ("Arial Black", "Arial Bold", "Gadget", sans-serif),
  'arial-narrow'         : ("Arial Narrow", "Arial", sans-serif),
  'arial-rounded'        : ("Arial Rounded MT Bold", "Helvetica Rounded", "Arial", sans-serif),
  'avant-garde'          : ("Avant Garde", "Avantgarde", "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif),
  'calibri'              : ("Calibri", "Candara", "Segoe", "Segoe UI", "Optima", "Arial", sans-serif),
  'candara'              : ("Candara", "Calibri", "Segoe", "Segoe UI", "Optima", "Arial", sans-serif),
  'century-gothic'       : ("Century Gothic", "CenturyGothic", "AppleGothic", sans-serif),
  'franklin-gothic'      : ("Franklin Gothic", "ITC Franklin Gothic", "Arial", sans-serif),
  'futura'               : ("Futura", "Trebuchet MS", "Arial", sans-serif),
  'geneva'               : ("Geneva", "Tahoma", "Verdana", sans-serif),
  'gill-sans'            : ("Gill Sans", "Gill Sans MT", "Calibri", sans-serif),
  'helvetica'            : ("HelveticaNeue", "Helvetica Neue", "Helvetica Neue", Helvetica, sans-serif),
  'impact'               : ("Impact", "Haettenschweiler", "Franklin Gothic Bold", "Charcoal", "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans serif),
  'lucidagrande'         : ("Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", sans-serif),
  'optima'               : ("Optima", "Segoe", "Segoe UI", "Candara", "Calibri", "Arial", sans-serif),
  'segoe'                : ("Segoe UI", "Frutiger", "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", "Arial", sans-serif),
  'tahoma'               : ("Tahoma", "Verdana", "Segoe", sans-serif),
  'trebuchet'            : ("Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Tahoma", sans-serif),
  'verdana'              : ("Verdana", "Geneva", sans-serif),
  'lato'                 : ("Lato", "lato", sans-serif),
  'open-sans'            : ("Open Sans", "open_sans", "OpenSans", sans-serif),

  // Serif
  'serif'                : (serif),
  'baskerville'          : ("Baskerville", "Baskerville Old Face", "Hoefler Text", "Garamond", "Times New Roman", serif),
  'big-caslon'           : ("Big Caslon", "Book Antiqua", "Palatino Linotype", "Georgia", serif),
  'bodoni'               : ("Bodoni MT", "Didot", "Didot LT STD", "Hoefler Text", "Garamond", "Times New Roman", serif),
  'book-antiqua'         : ("Book Antiqua", "Palatino", "Palatino Linotype", "Palatino LT STD", "Georgia", serif),
  'calisto'              : ("Calisto MT", "Bookman Old Style", "Bookman", "Goudy Old Style", "Garamond", "Hoefler Text", "Bitstream Charter", "Georgia", serif),
  'cambria'              : ("Cambria", "Georgia", serif),
  'didot'                : ("Didot", "Didot LT STD", "Hoefler Text", "Garamond", "Times New Roman", serif),
  'garamond'             : ("Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif),
  'georgia'              : ("Georgia", "Times", "Times New Roman", serif),
  'goudy'                : ("Goudy Old Style", "Garamond", "Big Caslon", "Times New Roman", serif),
  'hoefler-text'         : ("Hoefler Text", "Baskerville old face", "Garamond", "Times New Roman", serif),
  'lucida-bright'        : ("Lucida Bright", "Georgia", serif),
  'palatino'             : ("Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif),
  'perpetua'             : ("Perpetua", "Baskerville", "Big Caslon", "Palatino Linotype", "Palatino", "URW Palladio L", "Nimbus Roman No9 L", serif),
  'rockwell'             : ("Rockwell", "Courier Bold", "Courier", "Georgia", "Times", "Times New Roman", serif),
  'rockwell-extrabold'   : ("Rockwell Extra Bold", "Rockwell Bold", monospace),
  'times'                : ("Times New Roman", "Times", "Baskerville", "Georgia", serif),

  // Monospace
  'monospace'            : (monospace),
  'andale'               : ("Andale Mono", "AndaleMono", monospace),
  'consolas'             : ("Consolas", "monaco", monospace),
  'courier'              : ("Courier New", "Courier", "Lucida Sans Typewriter", "Lucida Typewriter", monospace),
  'lucida-console'       : ("Lucida Console", "Lucida Sans Typewriter", "Monaco", "Bitstream Vera Sans Mono", monospace),
  'lucida-typewriter'    : ("Lucida Sans Typewriter", "Lucida Console", "Monaco", "Bitstream Vera Sans Mono", monospace),
  'monaco'               : ("Monaco", "Consolas", "Lucida Console", monospace),

  // Fantasy
  'fantasy'              : (fantasy),
  'copperplate'          : ("Copperplate", "Copperplate Gothic Light", fantasy),
  'papyrus'              : ("Papyrus", fantasy),

  // Cursive
  'cursive'              : (cursive),
  'brush-script'         : ("Brush Script MT", cursive)
);

@function font-stack($key: 'sans-serif') {
  @if map-has-key($font-stacks, $key) {
    @return map-get($font-stacks, $key);
  }

  @warn "Unkown '#{$key}' in $font-stacks.";
  @return null;
}

// Alias
@function fs($key: 'sans-serif') {
  @return font-stack($key);
}
