////
///
/// All the public variables that are used in the Smoother library that are of
/// the `Map` type.
///
/// @access public
/// @group Utilities
/// @type Map
///
////

/// A map of font stacks with web-safe fonts. Use with the font-stack function.
///
/// This map contains a collection of font stacks that can be used throughout
/// your project. Each key in the map represents a specific use case for the
/// font stack, such as primary, header, monospace, etc. The value associated
/// with each key is a list of font families, ordered by preference.
///
/// @todo Fill out the stack with the fonts you choose for your theme
///
/// @prop {List} primary - The primary font stack for body text.
/// @prop {List} header - The font stack for headers.
/// @prop {List} system - The font stack for system UI fonts.
/// @prop {List} monospace - The font stack for monospace fonts.
/// @prop {List} helvetica - The font stack for Helvetica-style sans-serif fonts.
/// @prop {List} lucida-grande - The font stack for Lucida Grande-style sans-serif fonts.
/// @prop {List} verdana - The font stack for Verdana-style sans-serif fonts.
/// @prop {List} georgia - The font stack for Georgia-style serif fonts.
///
/// @see {function} font-stack
$font-stacks: (
  'primary': (
    Roboto,
    system-ui,
    Ubuntu,
    Cantarell,
    Arial,
    'Noto Sans',
    'Segoe UI',
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ),
  'header': (
    Lato,
    Oxygen,
    'Open Sans',
    Montserrat,
    'PT Sans',
    Verdana,
    Arial,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol'
  ),
  'system': (
    // Newer browsers
    system-ui,
    // Safari for OS X and iOS (San Francisco)
    -apple-system,
    // Chrome < 56 for OS X (San Francisco)
    BlinkMacSystemFont,
    // Windows
    'Segoe UI',
    // Android
    Roboto,
    // Basic web fallback
    'Helvetica Neue',
    Helvetica,
    Arial,
    sans-serif,
    // Emoji fonts
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ),
  'monospace': (
    // Modern pan-device default
    ui-monospace,
    // macOS 10.10+
    Menlo,
    // macOS fallback
    Monaco,
    // Windows 6+
    Consolas,
    // Android 4+
    'Roboto Mono',
    // Ubuntu 10.10+
    'Ubuntu Monospace',
    // KDE Plasma 5+
    'Noto Mono',
    // KDE Plasma 4+
    'Oxygen Mono',
    // Linux/OpenOffice fallback
    'Liberation Mono',
    // Default fallback
    monospace,
    // Emoji fonts - Apple, Windows, Linux
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ),
  'helvetica': (
    Helvetica,
    'Helvetica Neue',
    'Helvetica-Neue',
    HelveticaNeue,
    Arial,
    'Nimbus Sans L',
    sans-serif
  ),
  'lucida-grande': (
    'Lucida Grande',
    'Lucida Sans Unicode',
    'Bitstream Vera Sans',
    sans-serif
  ),
  'verdana': (
    Verdana,
    Geneva,
    'DejaVu Sans',
    sans-serif
  ),
   'georgia': (
    Georgia,
    'URW Bookman L',
    serif
  )
) !default;

/// Map of custom timing functions based on Penner equations. Used by the
/// `timing` function.
///
/// Each of the map's key's is a string value that has a cubic-bezier timing
/// function curve as its value.
///
/// @prop {String} ease-in-quad
/// @prop {String} ease-in-cubic
/// @prop {String} ease-in-quart
/// @prop {String} ease-in-quint
/// @prop {String} ease-in-sine
/// @prop {String} ease-in-expo
/// @prop {String} ease-in-circ
/// @prop {String} ease-in-back
/// @prop {String} ease-out-quad
/// @prop {String} ease-out-cubic
/// @prop {String} ease-out-quart
/// @prop {String} ease-out-quint
/// @prop {String} ease-out-sine
/// @prop {String} ease-out-expo
/// @prop {String} ease-out-circ
/// @prop {String} ease-out-back
/// @prop {String} ease-in-out-quad
/// @prop {String} ease-in-out-cubic
/// @prop {String} ease-in-out-quart
/// @prop {String} ease-in-out-quint
/// @prop {String} ease-in-out-sine
/// @prop {String} ease-in-out-expo
/// @prop {String} ease-in-out-circ
/// @prop {String} ease-in-out-back
///
/// @see {function} timing
$map-timing-functions: (
  'ease-in-quad': cubic-bezier(0.55, 0.085, 0.68, 0.53),
  'ease-in-cubic': cubic-bezier(0.55, 0.055, 0.675, 0.19),
  'ease-in-quart': cubic-bezier(0.895, 0.03, 0.685, 0.22),
  'ease-in-quint': cubic-bezier(0.755, 0.05, 0.855, 0.06),
  'ease-in-sine': cubic-bezier(0.47, 0, 0.745, 0.715),
  'ease-in-expo': cubic-bezier(0.95, 0.05, 0.795, 0.035),
  'ease-in-circ': cubic-bezier(0.6, 0.04, 0.98, 0.335),
  'ease-in-back': cubic-bezier(0.6, -0.28, 0.735, 0.045),
  'ease-out-quad': cubic-bezier(0.25, 0.46, 0.45, 0.94),
  'ease-out-cubic': cubic-bezier(0.215, 0.61, 0.355, 1),
  'ease-out-quart': cubic-bezier(0.165, 0.84, 0.44, 1),
  'ease-out-quint': cubic-bezier(0.23, 1, 0.32, 1),
  'ease-out-sine': cubic-bezier(0.39, 0.575, 0.565, 1),
  'ease-out-expo': cubic-bezier(0.19, 1, 0.22, 1),
  'ease-out-circ': cubic-bezier(0.075, 0.82, 0.165, 1),
  'ease-out-back': cubic-bezier(0.175, 0.885, 0.32, 1.275),
  'ease-in-out-quad': cubic-bezier(0.455, 0.03, 0.515, 0.955),
  'ease-in-out-cubic': cubic-bezier(0.645, 0.045, 0.355, 1),
  'ease-in-out-quart': cubic-bezier(0.77, 0, 0.175, 1),
  'ease-in-out-quint': cubic-bezier(0.86, 0, 0.07, 1),
  'ease-in-out-sine': cubic-bezier(0.445, 0.05, 0.55, 0.95),
  'ease-in-out-expo': cubic-bezier(1, 0, 0, 1),
  'ease-in-out-circ': cubic-bezier(0.785, 0.135, 0.15, 0.86),
  'ease-in-out-back': cubic-bezier(0.68, -0.55, 0.265, 1.55)
) !default;

/// A comprehensive map associating all the direction/offset keywords with their
/// associated angles in degrees.
///
/// This map provides a detailed reference for various direction/offset keyword,
/// (such as those used in the CSS property `transform-origin`) each represented
/// by an angle in degrees. Each key in the map is a unitless number, which
/// represents an angle in degrees, and the value is a nested map containing the
/// 'name' of the direction/offset and its 'deg' angle, also as a unitless
/// number.
///
/// @prop {Map} 0 - The 'name' key with value of 'top' and a 'deg' key with value of 0
/// @prop {Map} 45 - The 'name' key with value of 'top right' and a 'deg' key with value of 45
/// @prop {Map} 90 - The 'name' key with value of 'right' and a 'deg' key with value of 90
/// @prop {Map} 135 - The 'name' key with value of 'bottom right' and a 'deg' key with value of 135
/// @prop {Map} 180 - The 'name' key with value of 'bottom' and a 'deg' key with value of 180
/// @prop {Map} 225 - The 'name' key with value of 'bottom left' and a 'deg' key with value of 225
/// @prop {Map} 270 - The 'name' key with value of 'left' and a 'deg' key with value of 270
/// @prop {Map} 315 - The 'name' key with value of 'top left' and a 'deg' key with value of 315
/// @prop {Map} 360 - The 'name' key with value of 'top' and a 'deg' key with value of 360
/// effectively wrapping around to the start.
///
/// @see {function} closest-direction
$map-directions: (
  0: (
    'name': 'top',
    'deg': 0
  ),
  45: (
    'name': 'top right',
    'deg': 45
  ),
  90: (
    'name': 'right',
    'deg': 90
  ),
  135: (
    'name': 'bottom right',
    'deg': 135
  ),
  180: (
    'name': 'bottom',
    'deg': 180
  ),
  225: (
    'name': 'bottom left',
    'deg': 225
  ),
  270: (
    'name': 'left',
    'deg': 270
  ),
  315: (
    'name': 'top left',
    'deg': 315
  ),
  360: (
    'name': 'top',
    'deg': 0
  )
) !default;

/// Map of only the position/offset keywords and their associated angles, in
/// degrees.
///
/// This map is designed to provide a simple way to reference position/offsets
/// (top, right, bottom, left) and their associated angles in degrees.
/// Each key in the map represents an angle in degrees, and the value is a map
/// containing the 'name' of the position and its 'deg' angle. This can be
/// particularly useful for calculations or when you need to reference positions
/// in a more dynamic way.
///
/// @prop {Map} 0 - The position name 'top' with an angle of 0 degrees.
/// @prop {Map} 90 - The position name 'right' with an angle of 90 degrees.
/// @prop {Map} 180 - The position name 'bottom' with an angle of 180 degrees.
/// @prop {Map} 270 - The position name 'left' with an angle of 270 degrees.
/// @prop {Map} 360 - The position name 'top' with an angle of 360 degrees,
/// effectively wrapping around to the start.
///
/// @see {function} closest-position
$map-positions: (
  0: (
    'name': 'top',
    'deg': 0
  ),
  90: (
    'name': 'right',
    'deg': 90
  ),
  180: (
    'name': 'bottom',
    'deg': 180
  ),
  270: (
    'name': 'left',
    'deg': 270
  ),
  360: (
    'name': 'top',
    'deg': 0
  )
) !default;

/// A map of all the units in CSS as string types for keys, with their values
/// being 1 numeric unit.
///
/// @see {function} str-to-num
$map-units: (
  'px': 1px,
  'cm': 1cm,
  'mm': 1mm,
  '%': 1%,
  'ch': 1ch,
  'pc': 1pc,
  'in': 1in,
  'em': 1em,
  'rem': 1rem,
  'pt': 1pt,
  'ex': 1ex,
  'vw': 1vw,
  'vh': 1vh,
  'vmin': 1vmin,
  'vmax': 1vmax,
  'svw': 1svw,
  'svh': 1svh,
  'svmin': 1svmin,
  'svmax': 1svmax,
  'lvw': 1lvw,
  'lvh': 1lvh,
  'lvmin': 1lvmin,
  'lvmax': 1lvmax,
  'dvw': 1dvw,
  'dvh': 1dvh,
  'dvmin': 1dvmin,
  'dvmax': 1dvmax,
  'lh': 1lh,
  'rlh': 1rlh,
  'vb': 1vb,
  'vi': 1vi,
  'svb': 1svb,
  'svi': 1svi,
  'lvb': 1lvb,
  'lvi': 1lvi,
  'dvb': 1dvb,
  'dvi': 1dvi,
  'cap': 1cap,
  'rcap': 1rcap,
  'fr': 1fr,
  'ic': 1ic,
  'ric': 1ric,
  'cqw': 1cqw,
  'cqh': 1cqh,
  'cqi': 1cqi,
  'cqb': 1cqb,
  'cqmin': 1cqmin,
  'cqmax': 1cqmax,
  'gd': 1gd,
  'dppx': 1dppx,
  'dpcm': 1dpcm,
  'dpi': 1dpi,
  'Q': 1Q,
  'x': 1x,
  'deg': 1deg,
  'rad': 1rad,
  'grad': 1grad,
  'turn': 1turn,
  'Hz': 1Hz,
  'kHz': 1kHz
) !default;

/// Map of keywords, each with their own list of potential aliases.
///
/// Used by the is-alias and resolve-alias functions to allow a greater set
/// of possible inputs when using functions and mixins.
///
/// @see {function} is-alias
/// @see {function} resolve-alias
$map-alias-resolutions: (
  'bottom': (
    'bottom',
    'btm',
    'b',
    'down',
    'd'
  ),
  'top': (
    'top',
    'up',
    'u',
    't',
    '^'
  ),
  'left': (
    'left-side',
    'left side',
    'leftside',
    'l-side',
    'l side',
    'lside',
    'left',
    '<-',
    '<',
    'l'
  ),
  'right': (
    'right-side',
    'right side',
    'rightside',
    'r-side',
    'r side',
    'rside',
    'right',
    '->',
    '>',
    'r'
  ),
  'top left': (
    'top-left',
    'top left',
    'topleft',
    'left-top',
    'left top',
    'lefttop',
    'up-left',
    'up left',
    'upleft',
    'left-up',
    'left up',
    'leftup',
    'top-l',
    'top l',
    'topl',
    'l-top',
    'l top',
    'ltop',
    'up-l',
    'up l',
    'upl',
    'l-up',
    'l up',
    'lup',
    't-l',
    't l',
    'tl',
    'l-t',
    'l t',
    'lt',
    'u-l',
    'u l',
    'ul',
    'l-u',
    'l u',
    'lu',
    '^ <-',
    '<- ^',
    '^<-',
    '<-^',
    '^ <',
    '< ^',
    '^<',
    '<^'
  ),
  'top right': (
    'top-right',
    'top right',
    'topright',
    'right-top',
    'right top',
    'righttop',
    'up-right',
    'up right',
    'upright',
    'right-up',
    'right up',
    'rightup',
    'top-r',
    'top r',
    'r-top',
    'r top',
    'up-r',
    'up r',
    'r-up',
    'r up',
    't-r',
    'r-t',
    't r',
    'r t',
    'tr',
    'rt',
    'u-r',
    'r-u',
    'u r',
    'r u',
    'ur',
    'ru',
    '^ ->',
    '-> ^',
    '^->',
    '->^',
    '^ >',
    '> ^',
    '^>',
    '>^'
  ),
  'bottom right': (
    'bottom-right',
    'bottom right',
    'bottomright',
    'right-bottom',
    'right bottom',
    'rightbottom',
    'down-right',
    'down right',
    'right-down',
    'right down',
    'rightdown',
    'bottom-r',
    'bottom r',
    'bottomr',
    'r-bottom',
    'r bottom',
    'rbottom',
    'down-r',
    'down r',
    'downr',
    'r-down',
    'r down',
    'rdown',
    'btm-right',
    'btm right',
    'btmright',
    'right-btm',
    'right btm',
    'rightbtm',
    'btm-r',
    'btm r',
    'btmr',
    'r-btm',
    'r btm',
    'rbtm',
    'b-right',
    'b right',
    'bright',
    'd-right',
    'd right',
    'dright',
    'right-d',
    'right d',
    'rightd',
    'd-r',
    'd r',
    'dr',
    'r-d',
    'r d',
    'rd',
    'b-r',
    'b r',
    'br',
    'r-b',
    'r b',
    'rb',
    'v ->',
    '-> v',
    'v->',
    '->v',
    'v >',
    '> v',
    'v>',
    '>v'
  ),
  'bottom left': (
    'bottom-left',
    'bottom left',
    'bottomleft',
    'left-bottom',
    'left bottom',
    'leftbottom',
    'bottom-l',
    'bottom l',
    'bottoml',
    'l-bottom',
    'l bottom',
    'lbottom',
    'btm-left',
    'btm left',
    'btmleft',
    'left-btm',
    'left btm',
    'leftbtm',
    'btm-l',
    'btm l',
    'btml',
    'l-btm',
    'l btm',
    'lbtm',
    'b-left',
    'b left',
    'bleft',
    'down-left',
    'down left',
    'downleft',
    'd-left',
    'd left',
    'dleft',
    'left-d',
    'left d',
    'leftd',
    'd-l',
    'd l',
    'dl',
    'l-d',
    'l d',
    'ld',
    'b-l',
    'b l',
    'bl',
    'l-b',
    'l b',
    'lb',
    'v <-',
    '<- v',
    'v<-',
    '<-v',
    'v <',
    '< v',
    'v<',
    '<v'
  ),
  'left-to-right': (
    'horizontally',
    'horizontal',
    'horiz',
    'horz',
    'h',
    'left-to-right',
    'left to right',
    'lefttoright',
    'left-right',
    'left right',
    'leftright',
    'to-right',
    'to right',
    'toright',
    'torght',
    'l-to-r',
    'l to r',
    'l-2-r',
    'l 2 r',
    'l2r',
    'l-r',
    'l r',
    'lr',
    '90deg',
    90deg,
    '90d',
    '90',
    90,
    '-270deg',
    -270deg,
    '-270d' -270,
    0.25turn,
    '0.25turn',
    '.25turn',
    0.25,
    0.25t,
    '0.25t',
    '.25t',
    -0.75,
    -0.75turn,
    '-0.75',
    '-0.75turn',
    '-0.75t'
  ),
  'right-to-left': (
    'right-to-left',
    'right to left',
    'righttoleft',
    'right-left',
    'right left',
    'rightleft',
    'to left',
    'to-left',
    'toleft',
    'r to l',
    'r-to-l',
    'r-2-l',
    'r 2 l',
    'r2l',
    'r-l',
    'r l',
    'rl',
    270,
    270deg,
    270d,
    '270',
    '270deg',
    '270d',
    -90,
    -90deg,
    '-90',
    '-90deg',
    '-90d',
    -90d,
    0.75,
    0.75t,
    '0.75turn',
    '.75turn',
    '0.75t',
    '.75t',
    -0.25,
    -0.25turn,
    '-0.25turn',
    '-.25turn',
    '-0.25t',
    '-.25t'
  ),
  'top-to-bottom': (
    'vertically',
    'vertical',
    'vert',
    'v',
    'top-to-bottom',
    'top to bottom',
    'toptobottom',
    'top-bottom',
    'top bottom',
    'topbottom',
    'top-to-btm',
    'top to btm',
    'toptobtm',
    'top-2-bottom',
    'top-2-btm',
    'top-btm',
    'top btm',
    'topbtm',
    'to-bottom',
    'to bottom',
    'tobottom',
    'tobtm',
    't-t-b',
    't t b',
    't-2-b',
    't 2 b',
    'ttb',
    't2b',
    'tb',
    180,
    '180',
    180deg,
    '180deg',
    '180d',
    180d,
    -180,
    '-180',
    '-180deg',
    '-180d',
    -180d,
    0.5,
    0.5t,
    0.5turn,
    '0.5turn',
    '0.5t',
    -0.5,
    -0.5turn,
    -0.5t,
    '-0.5',
    '-0.5turn',
    '-0.5t',
    3.14rad,
    '3.14rad',
    200grad,
    '200grad'
  ),
  'bottom-to-top': (
    'bottom-to-top',
    'bottom to top',
    'bottomtotop',
    'bottom-top',
    'bottom top',
    'bottomtop',
    'btm-to-top',
    'btm to top',
    'btmtotop',
    'bottom-2-top',
    'btm-2-top',
    'btm2top',
    'btm-top',
    'btm top',
    'btmtop',
    'to-top',
    'to top',
    'totop',
    'b-t-t',
    'b t t',
    'b-2-t',
    'bt 2 t',
    'btt',
    'b2t',
    'bt',
    0,
    '0',
    0deg,
    '0deg',
    '0d',
    0d,
    -360,
    '-360',
    '-360deg',
    '-360d',
    -360d,
    0t,
    0turn,
    '0turn',
    '0t',
    -1,
    -1turn,
    -1t,
    '-1',
    '-1turn',
    '-1t',
    0rad,
    '0rad',
    0grad,
    '0grad'
  ),
  'bottom-left-to-top-right': (
    'right-diagonal',
    'right diagonal',
    'rightdiagonal',
    'right-diag',
    'right diag',
    'rightdiag',
    'r-diag',
    'r diag',
    'rdiag',
    'diagonal-1',
    'diagonal 1',
    'diagonal1',
    'diagonal',
    'diag-1',
    'diag 1',
    'diag',
    'd1',
    'bottom-left-to-top-right',
    'bottom-left to top-right',
    'bottom left to top right',
    'bottom-left top-right',
    'bottom left top right',
    'to top right',
    'to-top-right',
    'totopright',
    'bl-to-tr',
    'bl to tr',
    'b-l to t-r',
    'b-l 2 t-r',
    'b-l-2-t-r',
    'bl 2 tr',
    'bl2tr',
    'b-l-t-r',
    'b-l t-r',
    'bl-tr',
    'bl tr',
    'bltr',
    45,
    45d,
    '45',
    '45deg',
    '45d',
    -315,
    -315d,
    -315deg,
    '-315',
    '-315deg',
    '-315d',
    0.125,
    0.125t,
    '0.125',
    '.125',
    '0.125t',
    '.125t',
    -0.875,
    -0.875t,
    -0.875turn,
    '-0.875',
    '-.875',
    '-0.875turn',
    '-.875turn',
    '-0.875t',
    '-.875t',
    0.7854rad,
    '0.7854rad',
    50grad,
    '50grad'
  ),
  'bottom-right-to-top-left': (
    'left-diagonal',
    'left diagonal',
    'leftdiagonal',
    'left-diag',
    'left diag',
    'leftdiag',
    'l-diag',
    'l diag',
    'ldiag',
    'diagonal-2',
    'diagonal 2',
    'diagonal2',
    'diag-2',
    'diag 2',
    'diag2',
    'd2',
    'bottom-right-to-top-left',
    'bottom-right to top-left',
    'bottom right to top left',
    'bottom-right top-left',
    'bottom right top left',
    'btm-right-to-top-left',
    'btm-right to top-left',
    'btm right to top left',
    'btm-right top-left',
    'btm right top left',
    'to top left',
    'to-top-left',
    'totopleft',
    'br-to-tl',
    'br to tl',
    'b-r to t-l',
    'b-r 2 t-l',
    'b-r-2-t-l',
    'br 2 tl',
    'br2tl',
    'b-r-t-l',
    'b-r t-l',
    'br-tl',
    'br tl',
    'brtl',
    135,
    135d,
    '135',
    '135deg',
    '135d',
    -225,
    -225d,
    -225deg,
    '-225',
    '-225deg',
    '-225d',
    0.375,
    0.375t,
    '0.375',
    '.375',
    '0.375t',
    '.375t',
    -0.625,
    -0.625t,
    -0.625turn,
    '-0.625',
    '-.625',
    '-0.625turn',
    '-.625turn',
    '-0.625t',
    '-.625t',
    2.3561rad,
    2.3562rad,
    '2.3561rad',
    '2.3562rad',
    150grad,
    '150grad'
  ),
  'top-right-to-bottom-left': (
    'diagonal-3',
    'diagonal 3',
    'diagonal3',
    'diag-3',
    'diag 3',
    'diag3',
    'd3',
    'top-right-to-bottom-left',
    'top-right to bottom-left',
    'top right to bottom left',
    'top-right bottom-left',
    'top right bottom left',
    'top-right-to-btm-left',
    'top-right to btm-left',
    'top right to btm left',
    'top-right btm-left',
    'top right btm left',
    'to botom left',
    'to-bottom-left',
    'tobottomleft',
    'tr-to-bl',
    'tr to bl',
    't-r to b-l',
    't-r 2 b-l',
    't-r-2-b-l',
    'tr 2 bl',
    'tr2bl',
    't-r-b-l',
    't-r b-l',
    'tr-bl',
    'tr bl',
    'trbl',
    225,
    225d,
    '225',
    '225deg',
    '225d',
    -135,
    -135d,
    -135deg,
    '-135',
    '-135deg',
    '-135d',
    0.625,
    0.625t,
    '0.625',
    '.625',
    '0.625t',
    '.625t',
    -0.375,
    -0.375t,
    -0.375turn,
    '-0.375',
    '-.375',
    '-0.375turn',
    '-.375turn',
    '-0.375t',
    '-.375t',
    3.927rad,
    3.9269rad,
    3.92699rad,
    '3.927rad',
    '3.9269rad',
    '3.92699rad',
    250grad,
    '250grad'
  ),
  'top-left-to-bottom-right': (
    'diagonal-4',
    'diagonal 4',
    'diagonal4',
    'diag-4',
    'diag 4',
    'diag4',
    'd4',
    'top-left-to-bottom-right',
    'top-left to bottom-right',
    'top left to bottom right',
    'top-left bottom-right',
    'top left bottom right',
    'top-left-to-btm-right',
    'top-left to btm-right',
    'top left to btm right',
    'top-left btm-right',
    'top left btm right',
    'to bottom right',
    'to-bottom-right',
    'tobottomright',
    'tobtmright',
    'tl-to-br',
    'tl to br',
    'tltobr',
    't-l to b-r',
    't-l 2 b-r',
    't-l-2-b-r',
    'tl 2 br',
    'tl2br',
    't-l-b-r',
    't-l b-r',
    'tl-br',
    'tl br',
    'tlbr',
    315,
    315d,
    '315',
    '315deg',
    '315d',
    -45,
    -45d,
    -45deg,
    '-45',
    '-45deg',
    '-45d',
    0.375,
    0.375t,
    '0.375',
    '.375',
    '0.375t',
    '.375t',
    -0.875,
    -0.875t,
    -0.875turn,
    '-0.875',
    '-.875',
    '-0.875turn',
    '-.875turn',
    '-0.875t',
    '-.875t',
    5.4978rad,
    '5.4978rad',
    350grad,
    '350grad'
  ),
  'radial': (
    'ellipse at center',
    'ellipse-at-center',
    'ellipse at centre',
    'ellipse-at-centre',
    'center-ellipse',
    'center ellipse',
    'ellipse-center',
    'ellipse center',
    'centre-ellipse',
    'centre ellipse',
    'ellipse-centre',
    'ellipse centre',
    'ellipse',
    'ellip',
    'radial',
    'rad'
  ),
  'center': (
    'center',
    'centre',
    'middle',
    'mid',
    'cent',
    'cen',
    'c'
  ),
  'forwards': (
    'forwards',
    'forward',
    'fwards',
    'fward',
    'front',
    'frnt',
    'fwd',
    'fw',
    'f'
  ),
  'backwards': (
    'backwards',
    'backward',
    'bckwrd',
    'bwards',
    'bward',
    'back',
    'bck',
    'bw'
  ),
  'expand': (
    'expand',
    'grow',
    'exp',
    'ex',
    'e'
  ),
  'contract': (
    'contract',
    'shrink',
    'cont',
    'con'
  ),
  'reverse': (
    'reverses',
    'reverse',
    'rev',
    'rvs'
  ),
  'alternate': (
    'alternates',
    'alternate',
    'alt',
    'a'
  ),
  'alternate-reverse': (
    'alternate-reverse',
    'alternate reverse',
    'alternatereverse',
    'reverse-alternate',
    'reverse alternate',
    'reversealternate',
    'alt-reverse',
    'alt reverse',
    'altreverse',
    'reverse-alt',
    'reverse alt',
    'reversealt',
    'alternate-rev',
    'alternate rev',
    'alternaterev',
    'rev-alternate',
    'rev alternate',
    'revalternate',
    'alt-rev',
    'alt rev',
    'altrev',
    'rev-alt',
    'rev alt',
    'revalt',
    'alternate-rvs',
    'alternate rvs',
    'alternatervs',
    'rvs-alternate',
    'rvs alternate',
    'rvsalternate',
    'alt-rvs',
    'alt rvs',
    'altrvs',
    'rvs-alt',
    'rvs alt',
    'rvsalt',
    'alt-r',
    'alt r',
    'altr',
    'r-alt',
    'r alt',
    'ralt',
    'a-rev',
    'a rev',
    'arev',
    'rev-a',
    'rev a',
    'reva',
    'a-rvs',
    'a rvs',
    'arvs',
    'rvs-a',
    'rvs a',
    'rvsa',
    'a-r',
    'a r',
    'ar',
    'r-a',
    'r a',
    'ra'
  ),
  'normal': (
    'default',
    'normal',
    'norm',
    'dflt',
    'nor',
    'def'
  ),
  'none': (
    'none',
    'nothing',
    'nil',
    'n/a',
    'no',
    'n'
  ),
  'background': (
    'background',
    'bground',
    'bg'
  ),
  'foreground': (
    'foreground',
    'fground',
    'fg'
  ),
  'background-color': (
    'background-color',
    'background color',
    'bground-color',
    'bground color',
    'bg-color',
    'bg color',
    'bgcolor',
    'bg-col',
    'bg col',
    'bgcol',
    'bg-c',
    'bg c',
    'bgc'
  ),
  'background-image': (
    'background-image',
    'background image',
    'background-img',
    'background img',
    'bground-image',
    'bground-img',
    'bg-image',
    'bg image',
    'bgimage',
    'bg-img',
    'bg img',
    'bgimg',
    'bg-i',
    'bg i',
    'bgi'
  ),
  'infinite': (
    'infinite',
    'inf',
  ),
  'deg': (
    'degrees',
    'degree',
    'degs',
    'deg'
  ),
  'rad': (
    'radians',
    'radian',
    'rads',
    'rad'
  ),
  'turn': (
    'turns',
    'turn',
    'trn'
  ),
  'grad': (
    'gradians',
    'gradian',
    'grads',
    'grad'
  ),
  'transparent': (
    'transparent',
    'transp',
    'trans',
    'clear',
    'tran',
    'tp'
  ),
  'row-reverse': (
    'row-reverse',
    'row reverse',
    'row-rvs',
    'row rvs',
    'row r',
    'row-r',
    'rowr',
    'r-rvs',
    'r rvs',
    'rrvs',
    'r-r',
    'r r',
    'rr'
  ),
  'column': (
    'columns',
    'column',
    'col'
  ),
  'column-reverse': (
    'column-reverse',
    'column reverse',
    'column-rvs',
    'column rvs',
    'column r',
    'column-r',
    'columnr',
    'col-reverse',
    'col reverse',
    'colreverse',
    'col-rvs',
    'col rvs',
    'colrvs',
    'col r',
    'col-r',
    'colr',
    'c-rvs',
    'c rvs',
    'crvs',
    'c-r',
    'c r',
    'cr'
  )
) !default;
