{
  "version": 3,
  "sources": ["lib/incito-browser/incito.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/overflow.styl", "node_modules/nib/lib/nib/flex.styl", "node_modules/nib/lib/nib/border.styl", "node_modules/nib/lib/nib/size.styl", "node_modules/stylus/lib/functions/index.styl", "lib/kits/incito-publication/viewer.styl", "node_modules/nib/lib/nib/flex.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/border-radius.styl", "lib/kits/core-ui/page-decorations.styl", "node_modules/nib/lib/nib/border-radius.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/flex.styl", "lib/kits/core-ui/popover.styl", "node_modules/nib/lib/nib/positions.styl", "node_modules/nib/lib/nib/border-radius.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/text/ellipsis.styl", "lib/verso-browser/page_spread.styl", "node_modules/nib/lib/nib/flex.styl", "node_modules/nib/lib/nib/positions.styl", "node_modules/nib/lib/nib/vendor.styl", "lib/verso-browser/verso.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/overflow.styl", "node_modules/nib/lib/nib/positions.styl", "lib/kits/paged-publication/viewer.styl", "node_modules/nib/lib/nib/overflow.styl", "node_modules/nib/lib/nib/flex.styl", "node_modules/nib/lib/nib/vendor.styl", "node_modules/nib/lib/nib/positions.styl", "node_modules/nib/lib/nib/border-radius.styl", "node_modules/nib/lib/nib/border.styl", "node_modules/nib/lib/nib/size.styl", "node_modules/stylus/lib/functions/index.styl"],
  "sourcesContent": [".incito\n    position relative\n    font-family -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif\n    box-sizing border-box\n    text-rendering optimizeLegibility\n\n    *:before,\n    *,\n    *:after\n        box-sizing inherit\n        \n    [data-link]\n        cursor pointer\n\n.incito__view\n    transform-origin 0 0\n    overflow hidden\n    margin 0\n    padding 0\n    display block\n    background-repeat no-repeat\n    border 0\n    \n    &[data-gravity=\"center_horizontal\"]\n        margin-left auto !important\n        margin-right auto !important\n\n    &[data-gravity=\"left_horizontal\"]\n        margin-right auto !important\n\n    &[data-gravity=\"right_horizontal\"]\n        margin-left auto !important\n\n.incito__video-embed-view > iframe\n    width 100%\n    height 100%\n    border 0\n\n.incito__text-view\n    margin 0\n    font-family inherit\n    word-break break-word\n    overflow-wrap break-word\n    word-wrap break-word\n    text-overflow ellipsis\n    -moz-osx-font-smoothing grayscale\n    font-smoothing antialiased\n\n    a\n        color inherit\n        text-decoration underline\n\n    &[data-single-line=\"true\"]\n        white-space nowrap\n\n    [data-name=\"superscript\"]\n        vertical-align 0.5em\n        position relative\n        font-size 0.6em\n\n.incito__image-view\n    border none\n    box-shadow none\n\n.incito__absolute-layout-view\n    position relative\n    \n    > *\n        position absolute\n\n.incito__carousel-layout-view\n    display flex\n    flex-direction row\n    justify-content flex-start\n    align-items center\n    overflow hidden\n\n.incito--visible .incito__carousel-layout-view\n    overflow-x auto\n    scroll-snap-type x mandatory\n    scroll-snap-stop always\n\n.incito__carousel-layout-view > *\n    flex 0 0 auto\n    scroll-snap-align start\n    display flex\n    justify-content center\n    align-items center\n    box-sizing border-box\n\n.incito__carousel-layout-view::-webkit-scrollbar\n    display none\n\n.incito__video-view\n    max-width unset", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "/*\n * Overflow utility. Maps to regular overflow, and adds an ellipsis value.\n *\n * Synopsis:\n *\n *   overflow: <type>\n *\n * Examples:\n *\n *     overflow: auto\n *     overflow: hidden\n *     overflow: ellipsis\n *\n */\n\noverflow()\n  if arguments[0] == ellipsis\n    ellipsis()\n  else\n    overflow: arguments\n", "/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n//    - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n  if flex == type || inline-flex == type\n    if box in flex-version\n      if flex == type\n        display: -ms-flexbox args\n        display: vendor-value(box args, only: moz webkit)\n      else\n        display: -ms-inline-flexbox args\n        display: vendor-value(inline-box args, only: moz webkit)\n    if flex in flex-version\n      display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n  else\n    display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n//    - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n  if box in flex-version\n    if row-reverse == direction || column-reverse == direction\n      vendor('box-direction', reverse, ignore: ms official)\n\n    if row == direction || row-reverse == direction\n      vendor('box-orient', horizontal, ignore: ms official)\n    else if column == direction || column-reverse == direction\n      vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n  if box in flex-version\n    // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n    //    on box vs. flex values.\n    if 'wrap' == value || wrap-reverse == value\n      vendor('box-lines', multiple, ignore: ms official)\n    else if nowrap == value\n      vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n  // obsolete\n  -flex-obsolete-direction(direction)\n\n  // new\n  if flex in flex-version\n    vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n  // obsolete\n  -flex-obsolete-wrap(value)\n\n  if flex in flex-version\n    vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n  // obsolete\n  -flex-obsolete-direction(arguments[0])\n  -flex-obsolete-direction(arguments[1])\n  -flex-obsolete-wrap(arguments[0])\n  -flex-obsolete-wrap(arguments[1])\n\n  // new\n  if flex in flex-version\n    vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n  // obsolete\n  if box in flex-version\n    vendor('box-ordinal-group', arguments, ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-order', arguments, only: ms)\n    vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n//    - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n  // obsolete\n  if box in flex-version\n    vendor('box-flex', growth)\n\n  // new\n  if flex in flex-version\n    vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n  if flex in flex-version\n    vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n  if flex in flex-version\n    vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n  // obsolete\n  if box in flex-version\n    shrink = 1\n\n    if none == growth || initial == growth\n      // Well known values\n      shrink = 0 if none == growth\n      growth = 0\n    else if is-width(growth) == true\n      // Basis is defined as the first parameter\n      growth = arguments[1] || 0\n      shrink = arguments[2] if 3 <= length(arguments)\n    else if arguments[1] && is-width(arguments[1]) == false\n      // Growth is first and shrink is second\n      shrink = arguments[1]\n\n    // Since we can't make the distinction between growing and shrinking in the box model, take\n    // the one that provides the most flexibility.\n    vendor('box-flex', max(growth, shrink), ignore: ms)\n\n  // new\n  if flex in flex-version\n    vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else if space-around == align\n    return distribute\n  else if space-between == align\n    return justify\n  else\n    return align\n\n//\n// 8. Alignment\n//    - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-pack', -convert-justify(align), only: ms)\n    vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n  // WARN: Obsolete spec does not allow for adjustment here\n  if flex in flex-version\n    vendor('flex-line-pack', -convert-justify(align), only: ms)\n    vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else\n    return align\n\nalign-items(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-align', -convert-alignment(align), only: ms)\n    vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n  // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n  if flex in flex-version\n    vendor('align-self', align, only: webkit official)\n    vendor('flex-item-align', -convert-alignment(align), only: ms)\n", "/*\n * border: <color>\n * border: ...\n */\n\nborder(color, args...)\n  if color is a 'color'\n    border: 1px solid color args\n  else\n    border: arguments\n", "/*\n * Size utility.\n *\n * Synopsis:\n *\n *   size: <width> <height> | <width & height>\n *\n * Examples:\n *\n *     size: 100% 30px\n *       yields:\n *         width: 100%\n *         height: 30px\n *\n *     size: 5px\n *       yields:\n *         width: 5px\n *         height: 5px\n *\n */\n\nsize()\n  if length(arguments) == 1\n    width: arguments[0]\n    height: arguments[0]\n  else\n    width: arguments[0]\n    height: arguments[1]\n", "called-from = ()\n\nvendors = moz webkit o ms official\n\n// stringify the given arg\n\n-string(arg)\n  type(arg) + ' ' + arg\n\n// require a color\n\nrequire-color(color)\n  unless color is a 'color'\n    error('RGB or HSL value expected, got a ' + -string(color))\n\n// require a unit\n\nrequire-unit(n)\n  unless n is a 'unit'\n    error('unit expected, got a ' + -string(n))\n\n// require a string\n\nrequire-string(str)\n  unless str is a 'string' or str is a 'ident'\n    error('string expected, got a ' + -string(str))\n\n// Math functions\n\nabs(n) { math(n, 'abs') }\nmin(a, b) { a < b ? a : b }\nmax(a, b) { a > b ? a : b }\n\n// Trigonometrics\nPI = -math-prop('PI')\n\nradians-to-degrees(angle)\n  angle * (180 / PI)\n\ndegrees-to-radians(angle)\n  angle * (PI / 180)\n\nsin(n)\n  n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n  round(math(n, 'sin'), 9)\n\ncos(n)\n  n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n  round(math(n, 'cos'), 9)\n\n// Rounding Math functions\n\nceil(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'ceil') / multiplier\n\nfloor(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'floor') / multiplier\n\nround(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'round') / multiplier\n\n// return the sum of the given numbers\n\nsum(nums)\n  sum = 0\n  sum += n for n in nums\n\n// return the average of the given numbers\n\navg(nums)\n  sum(nums) / length(nums)\n\n// return a unitless number, or pass through\n\nremove-unit(n)\n  if typeof(n) is \"unit\"\n    unit(n, \"\")\n  else\n    n\n\n// convert a percent to a decimal, or pass through\n\npercent-to-decimal(n)\n  if unit(n) is \"%\"\n    remove-unit(n) / 100\n  else\n    n\n\n// check if n is an odd number\n\nodd(n)\n  1 == n % 2\n\n// check if n is an even number\n\neven(n)\n  0 == n % 2\n\n// check if color is light\n\nlight(color)\n  lightness(color) >= 50%\n\n// check if color is dark\n\ndark(color)\n  lightness(color) < 50%\n\n// desaturate color by amount\n\ndesaturate(color, amount)\n  adjust(color, 'saturation', - amount)\n\n// saturate color by amount\n\nsaturate(color = '', amount = 100%)\n  if color is a 'color'\n    adjust(color, 'saturation', amount)\n  else\n    unquote( \"saturate(\" + color + \")\" )\n\n// darken by the given amount\n\ndarken(color, amount)\n  adjust(color, 'lightness', - amount)\n\n// lighten by the given amount\n\nlighten(color, amount)\n  adjust(color, 'lightness', amount)\n\n// decrease opacity by amount\n\nfade-out(color, amount)\n  color - rgba(black, percent-to-decimal(amount))\n\n// increase opacity by amount\n\nfade-in(color, amount)\n  color + rgba(black, percent-to-decimal(amount))\n\n// spin hue by a given amount\n\nspin(color, amount)\n  color + unit(amount, deg)\n\n// mix two colors by a given amount\n\nmix(color1, color2, weight = 50%)\n  unless weight in 0..100\n    error(\"Weight must be between 0% and 100%\")\n\n  if length(color1) == 2\n    weight = color1[0]\n    color1 = color1[1]\n\n  else if length(color2) == 2\n    weight = 100 - color2[0]\n    color2 = color2[1]\n\n  require-color(color1)\n  require-color(color2)\n\n  p = unit(weight / 100, '')\n  w = p * 2 - 1\n\n  a = alpha(color1) - alpha(color2)\n\n  w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n  w2 = 1 - w1\n\n  channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n  rgb = ()\n\n  for pair in channels\n    push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n\n  a1 = alpha(color1) * p\n  a2 = alpha(color2) * (1 - p)\n  alpha = a1 + a2\n\n  rgba(rgb[0], rgb[1], rgb[2], alpha)\n\n// invert colors, leave alpha intact\n\ninvert(color = '')\n  if color is a 'color'\n    rgba(#fff - color, alpha(color))\n  else\n    unquote( \"invert(\" + color + \")\" )\n\n// give complement of the given color\n\ncomplement( color )\n  spin( color, 180 )\n\n// give grayscale of the given color\n\ngrayscale( color = '' )\n  if color is a 'color'\n    desaturate( color, 100% )\n  else\n    unquote( \"grayscale(\" + color + \")\" )\n\n// mix the given color with white\n\ntint( color, percent )\n  mix( white, color, percent )\n\n// mix the given color with black\n\nshade( color, percent )\n  mix( black, color, percent )\n\n// return the last value in the given expr\n\nlast(expr)\n  expr[length(expr) - 1]\n\n// return keys in the given pairs or object\n\nkeys(pairs)\n  ret = ()\n  if type(pairs) == 'object'\n    for key in pairs\n      push(ret, key)\n  else\n    for pair in pairs\n      push(ret, pair[0]);\n  ret\n\n// return values in the given pairs or object\n\nvalues(pairs)\n  ret = ()\n  if type(pairs) == 'object'\n    for key, val in pairs\n      push(ret, val)\n  else\n    for pair in pairs\n      push(ret, pair[1]);\n  ret\n\n// join values with the given delimiter\n\njoin(delim, vals...)\n  buf = ''\n  vals = vals[0] if length(vals) == 1\n  for val, i in vals\n    buf += i ? delim + val : val\n\n// add a CSS rule to the containing block\n\n// - This definition allows add-property to be used as a mixin\n// - It has the same effect as interpolation but allows users\n//   to opt for a functional style\n\nadd-property-function = add-property\nadd-property(name, expr)\n  if mixin\n    {name} expr\n  else\n    add-property-function(name, expr)\n\nprefix-classes(prefix)\n  -prefix-classes(prefix, block)\n\n// Caching mixin, use inside your functions to enable caching by extending.\n\n$stylus_mixin_cache = {}\ncache()\n  $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n  if $key in $stylus_mixin_cache\n    @extend {\"$cache_placeholder_for_\" + $stylus_mixin_cache[$key]}\n  else if 'cache' in called-from\n    {block}\n  else\n    $id = length($stylus_mixin_cache)\n\n    &,\n    /$cache_placeholder_for_{$id}\n      $stylus_mixin_cache[$key] = $id\n      {block}\n\n// Percentage function to convert a number, e.g. \".45\", into a percentage, e.g. \"45%\"\n\npercentage(num)\n  return unit(num * 100, '%')\n\n// Returns the position of a `value` within a `list`\n\nindex(list, value)\n  for val, i in list\n    return i if val == value\n", ".sgn__incito\n    position relative\n    outline 0\n    letter-spacing normal\n\n    &.sgn-incito--started\n        .sgn-incito__progress\n            display inline-block\n\n.sgn-incito__progress\n    box-sizing border-box\n    position fixed\n    left 50%\n    bottom 20px\n    display none\n    z-index 2\n    background-color #000\n    color #fff\n    width 100px\n    margin-left -50px\n    text-align center\n    padding 8px 0\n    border-radius 6px\n    font-weight bold\n    font-size 14px\n    font-family \"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif\n    letter-spacing -1px\n    line-height 1\n\n    &:hover\n        opacity 1\n    \n    @media (min-width: 700px)\n        padding 16px 0\n        font-size 18px\n\n    @supports (unquote('max(20px, env(safe-area-inset-bottom))'))\n        bottom unquote('max(20px, env(safe-area-inset-bottom))')", "/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n//    - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n  if flex == type || inline-flex == type\n    if box in flex-version\n      if flex == type\n        display: -ms-flexbox args\n        display: vendor-value(box args, only: moz webkit)\n      else\n        display: -ms-inline-flexbox args\n        display: vendor-value(inline-box args, only: moz webkit)\n    if flex in flex-version\n      display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n  else\n    display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n//    - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n  if box in flex-version\n    if row-reverse == direction || column-reverse == direction\n      vendor('box-direction', reverse, ignore: ms official)\n\n    if row == direction || row-reverse == direction\n      vendor('box-orient', horizontal, ignore: ms official)\n    else if column == direction || column-reverse == direction\n      vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n  if box in flex-version\n    // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n    //    on box vs. flex values.\n    if 'wrap' == value || wrap-reverse == value\n      vendor('box-lines', multiple, ignore: ms official)\n    else if nowrap == value\n      vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n  // obsolete\n  -flex-obsolete-direction(direction)\n\n  // new\n  if flex in flex-version\n    vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n  // obsolete\n  -flex-obsolete-wrap(value)\n\n  if flex in flex-version\n    vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n  // obsolete\n  -flex-obsolete-direction(arguments[0])\n  -flex-obsolete-direction(arguments[1])\n  -flex-obsolete-wrap(arguments[0])\n  -flex-obsolete-wrap(arguments[1])\n\n  // new\n  if flex in flex-version\n    vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n  // obsolete\n  if box in flex-version\n    vendor('box-ordinal-group', arguments, ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-order', arguments, only: ms)\n    vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n//    - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n  // obsolete\n  if box in flex-version\n    vendor('box-flex', growth)\n\n  // new\n  if flex in flex-version\n    vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n  if flex in flex-version\n    vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n  if flex in flex-version\n    vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n  // obsolete\n  if box in flex-version\n    shrink = 1\n\n    if none == growth || initial == growth\n      // Well known values\n      shrink = 0 if none == growth\n      growth = 0\n    else if is-width(growth) == true\n      // Basis is defined as the first parameter\n      growth = arguments[1] || 0\n      shrink = arguments[2] if 3 <= length(arguments)\n    else if arguments[1] && is-width(arguments[1]) == false\n      // Growth is first and shrink is second\n      shrink = arguments[1]\n\n    // Since we can't make the distinction between growing and shrinking in the box model, take\n    // the one that provides the most flexibility.\n    vendor('box-flex', max(growth, shrink), ignore: ms)\n\n  // new\n  if flex in flex-version\n    vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else if space-around == align\n    return distribute\n  else if space-between == align\n    return justify\n  else\n    return align\n\n//\n// 8. Alignment\n//    - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-pack', -convert-justify(align), only: ms)\n    vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n  // WARN: Obsolete spec does not allow for adjustment here\n  if flex in flex-version\n    vendor('flex-line-pack', -convert-justify(align), only: ms)\n    vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else\n    return align\n\nalign-items(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-align', -convert-alignment(align), only: ms)\n    vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n  // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n  if flex in flex-version\n    vendor('align-self', align, only: webkit official)\n    vendor('flex-item-align', -convert-alignment(align), only: ms)\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "/*\n * Helper for border-radius().\n */\n\n-apply-border-radius(pos, importance)\n  if length(pos) == 3\n    // border-radius: <top | bottom> <left | right> <n>\n    y = pos[0]\n    x = pos[1]\n    // We don't use vendor for boder-radius anymore\n    // vendor('border-radius-%s%s' % pos, pos[2], only: webkit official)\n    {'border-%s-%s-radius' % pos}: pos[2] importance\n  else if pos[0] in (top bottom)\n    // border-radius: <top | bottom> <n>\n    -apply-border-radius(pos[0] left pos[1], importance)\n    -apply-border-radius(pos[0] right pos[1], importance)\n  else if pos[0] in (left right)\n    // border-radius: <left | right> <n>\n    unshift(pos, top);\n    -apply-border-radius(pos, importance)\n    pos[0] = bottom\n    -apply-border-radius(pos, importance)\n\n/*\n * border-radius supporting augmented behavior.\n *\n * Examples:\n *\n *    border-radius: 2px 5px\n *    border-radius: top 5px bottom 10px\n *    border-radius: left 5px\n *    border-radius: top left 5px\n *    border-radius: top left 10px bottom right 5px\n *    border-radius: top left 10px, bottom right 5px\n *\n */\n\nborder-radius()\n  pos = ()\n  augmented = false\n  importance = arguments[length(arguments) - 1] == !important ? !important : unquote('')\n\n  for args in arguments\n    for arg in args\n      if arg is a 'ident'\n        append(pos, arg)\n        augmented = true\n      else\n        append(pos, arg)\n        if augmented\n          -apply-border-radius(pos, importance)\n          pos = ()\n  border-radius pos unless augmented\n", ".sgn__pp\n    .sgn-pagedecoration\n        position absolute\n        outline 0\n        background-color #fff\n        color #3e3e3e\n        border-radius 12px\n        padding 8px 16px\n        box-shadow rgba(0, 0, 0,  0.4) 0px 5px 16px, rgba(0, 0, 0, 0.2) 0px 0px 1px\n        bottom 26px\n        left 50%\n        transform translateX(-50%)\n        animation-name sgn-animate-pagedecoration\n        animation-timing-function ease\n        animation-duration .5s\n        z-index 99\n\n        a\n            text-decoration none\n            color inherit\n            \n            .sgn-pagedecoration-item__domain\n                font-size 14px\n                margin 0\n                text-align center\n\n    .sgn-pagedecoration-hidden\n        display none\n\n@keyframes sgn-animate-pagedecoration\n    0%\n        opacity 0\n    10%\n        opacity 0\n    100%\n        opacity 1\n\n.sgn__pp\n    &[data-component-template-disable-header=\"true\"]\n        .sgn-pagedecoration-center\n            bottom 50px\n", "/*\n * Helper for border-radius().\n */\n\n-apply-border-radius(pos, importance)\n  if length(pos) == 3\n    // border-radius: <top | bottom> <left | right> <n>\n    y = pos[0]\n    x = pos[1]\n    // We don't use vendor for boder-radius anymore\n    // vendor('border-radius-%s%s' % pos, pos[2], only: webkit official)\n    {'border-%s-%s-radius' % pos}: pos[2] importance\n  else if pos[0] in (top bottom)\n    // border-radius: <top | bottom> <n>\n    -apply-border-radius(pos[0] left pos[1], importance)\n    -apply-border-radius(pos[0] right pos[1], importance)\n  else if pos[0] in (left right)\n    // border-radius: <left | right> <n>\n    unshift(pos, top);\n    -apply-border-radius(pos, importance)\n    pos[0] = bottom\n    -apply-border-radius(pos, importance)\n\n/*\n * border-radius supporting augmented behavior.\n *\n * Examples:\n *\n *    border-radius: 2px 5px\n *    border-radius: top 5px bottom 10px\n *    border-radius: left 5px\n *    border-radius: top left 5px\n *    border-radius: top left 10px bottom right 5px\n *    border-radius: top left 10px, bottom right 5px\n *\n */\n\nborder-radius()\n  pos = ()\n  augmented = false\n  importance = arguments[length(arguments) - 1] == !important ? !important : unquote('')\n\n  for args in arguments\n    for arg in args\n      if arg is a 'ident'\n        append(pos, arg)\n        augmented = true\n      else\n        append(pos, arg)\n        if augmented\n          -apply-border-radius(pos, importance)\n          pos = ()\n  border-radius pos unless augmented\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n//    - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n  if flex == type || inline-flex == type\n    if box in flex-version\n      if flex == type\n        display: -ms-flexbox args\n        display: vendor-value(box args, only: moz webkit)\n      else\n        display: -ms-inline-flexbox args\n        display: vendor-value(inline-box args, only: moz webkit)\n    if flex in flex-version\n      display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n  else\n    display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n//    - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n  if box in flex-version\n    if row-reverse == direction || column-reverse == direction\n      vendor('box-direction', reverse, ignore: ms official)\n\n    if row == direction || row-reverse == direction\n      vendor('box-orient', horizontal, ignore: ms official)\n    else if column == direction || column-reverse == direction\n      vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n  if box in flex-version\n    // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n    //    on box vs. flex values.\n    if 'wrap' == value || wrap-reverse == value\n      vendor('box-lines', multiple, ignore: ms official)\n    else if nowrap == value\n      vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n  // obsolete\n  -flex-obsolete-direction(direction)\n\n  // new\n  if flex in flex-version\n    vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n  // obsolete\n  -flex-obsolete-wrap(value)\n\n  if flex in flex-version\n    vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n  // obsolete\n  -flex-obsolete-direction(arguments[0])\n  -flex-obsolete-direction(arguments[1])\n  -flex-obsolete-wrap(arguments[0])\n  -flex-obsolete-wrap(arguments[1])\n\n  // new\n  if flex in flex-version\n    vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n  // obsolete\n  if box in flex-version\n    vendor('box-ordinal-group', arguments, ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-order', arguments, only: ms)\n    vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n//    - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n  // obsolete\n  if box in flex-version\n    vendor('box-flex', growth)\n\n  // new\n  if flex in flex-version\n    vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n  if flex in flex-version\n    vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n  if flex in flex-version\n    vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n  // obsolete\n  if box in flex-version\n    shrink = 1\n\n    if none == growth || initial == growth\n      // Well known values\n      shrink = 0 if none == growth\n      growth = 0\n    else if is-width(growth) == true\n      // Basis is defined as the first parameter\n      growth = arguments[1] || 0\n      shrink = arguments[2] if 3 <= length(arguments)\n    else if arguments[1] && is-width(arguments[1]) == false\n      // Growth is first and shrink is second\n      shrink = arguments[1]\n\n    // Since we can't make the distinction between growing and shrinking in the box model, take\n    // the one that provides the most flexibility.\n    vendor('box-flex', max(growth, shrink), ignore: ms)\n\n  // new\n  if flex in flex-version\n    vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else if space-around == align\n    return distribute\n  else if space-between == align\n    return justify\n  else\n    return align\n\n//\n// 8. Alignment\n//    - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-pack', -convert-justify(align), only: ms)\n    vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n  // WARN: Obsolete spec does not allow for adjustment here\n  if flex in flex-version\n    vendor('flex-line-pack', -convert-justify(align), only: ms)\n    vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else\n    return align\n\nalign-items(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-align', -convert-alignment(align), only: ms)\n    vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n  // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n  if flex in flex-version\n    vendor('align-self', align, only: webkit official)\n    vendor('flex-item-align', -convert-alignment(align), only: ms)\n", ".sgn-popover\n    fixed top left\n    right 0\n    bottom 0\n    z-index 3\n\n.sgn-popover__menu\n    position absolute\n    z-index 4\n    outline 0\n    background-color #fff\n    color #000\n    border-radius 12px\n    max-width 220px\n    min-width 170px\n    box-shadow 0 0 8px rgba(#000, 0.2)\n\n    ul\n        list-style-type none\n        margin 0\n        padding 0\n\n    li\n        margin 0\n        padding 8px 0\n        border-bottom 1px solid #e6e6e6\n        cursor pointer\n\n        &:first-child\n            padding-top 0\n\n        &:last-child\n            border-bottom 0\n            padding-bottom 0\n\n.sgn-popover__content\n    padding 8px\n\n.sgn-popover-item__title\n    font-size 16px\n    overflow ellipsis\n    margin 0\n\n.sgn-popover-item__subtitle\n    font-size 14px\n    margin 0\n    overflow ellipsis\n\n.sgn-popover__header\n    padding 10px 12px\n    line-height 1\n    font-size 16px\n    text-align center\n    background-color #f9f9f9\n    border-radius top left 12px\n    border-radius top right 12px\n    border-bottom 1px solid #e6e6e6\n\n.sgn-popover__background\n    absolute top left\n    right 0\n    bottom 0\n    cursor pointer", "// helper\n\n-pos(type, args)\n  i = 0\n  position: unquote(type)\n  for j in (1..4)\n    if length(args) > i\n      {args[i]}: args[i + 1] is a 'unit' ? args[i += 1] : 0\n    i += 1\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   fixed: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     fixed: top left\n *     fixed: top 5px left\n *     fixed: top left 5px\n *     fixed: top 5px left 5px\n *\n */\n\nfixed()\n  -pos('fixed', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   absolute: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     absolute: top left\n *     absolute: top 5px left\n *     absolute: top left 5px\n *     absolute: top 5px left 5px\n *\n */\n\nabsolute()\n  -pos('absolute', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   relative: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     relative: top left\n *     relative: top 5px left\n *     relative: top left 5px\n *     relative: top 5px left 5px\n *\n */\n\nrelative()\n  -pos('relative', arguments)\n", "/*\n * Helper for border-radius().\n */\n\n-apply-border-radius(pos, importance)\n  if length(pos) == 3\n    // border-radius: <top | bottom> <left | right> <n>\n    y = pos[0]\n    x = pos[1]\n    // We don't use vendor for boder-radius anymore\n    // vendor('border-radius-%s%s' % pos, pos[2], only: webkit official)\n    {'border-%s-%s-radius' % pos}: pos[2] importance\n  else if pos[0] in (top bottom)\n    // border-radius: <top | bottom> <n>\n    -apply-border-radius(pos[0] left pos[1], importance)\n    -apply-border-radius(pos[0] right pos[1], importance)\n  else if pos[0] in (left right)\n    // border-radius: <left | right> <n>\n    unshift(pos, top);\n    -apply-border-radius(pos, importance)\n    pos[0] = bottom\n    -apply-border-radius(pos, importance)\n\n/*\n * border-radius supporting augmented behavior.\n *\n * Examples:\n *\n *    border-radius: 2px 5px\n *    border-radius: top 5px bottom 10px\n *    border-radius: left 5px\n *    border-radius: top left 5px\n *    border-radius: top left 10px bottom right 5px\n *    border-radius: top left 10px, bottom right 5px\n *\n */\n\nborder-radius()\n  pos = ()\n  augmented = false\n  importance = arguments[length(arguments) - 1] == !important ? !important : unquote('')\n\n  for args in arguments\n    for arg in args\n      if arg is a 'ident'\n        append(pos, arg)\n        augmented = true\n      else\n        append(pos, arg)\n        if augmented\n          -apply-border-radius(pos, importance)\n          pos = ()\n  border-radius pos unless augmented\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "/*\n * Ellipsis with wrapping disabled by default.\n */\n\nellipsis(no-wrap = true)\n  if no-wrap\n    white-space: nowrap\n  overflow: hidden\n  text-overflow: ellipsis\n", ".verso__page-spread\n    position absolute\n    top 0\n    left 0\n    width 100%\n    height 100%\n    display none\n\n    for $percentage in (1..100)\n        &[data-width=\\\"{$percentage}\\\"]\n            width ($percentage)%\n    \n.verso__page\n    absolute top left\n    bottom 0\n    width 100%\n    transform-style preserve-3d // Ensure smooth zooming\n    background-repeat no-repeat\n    background-position center center\n\n.verso--scrollable\n    overflow-y auto\n    -webkit-overflow-scrolling touch\n    \n// Position verso and recto using translateX to ensure subpixel rendering.\n.verso-page--verso\n    background-position right center\n    transform translateX(0)\n    width 50%\n\n.verso-page--recto\n    background-position left center\n    transform translateX(100%)\n    width 50%\n\n.verso__overlay\n    absolute top left\n    width 0%\n    height 0%\n    z-index 2\n    display block\n    cursor pointer\n", "/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n//    - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n  if flex == type || inline-flex == type\n    if box in flex-version\n      if flex == type\n        display: -ms-flexbox args\n        display: vendor-value(box args, only: moz webkit)\n      else\n        display: -ms-inline-flexbox args\n        display: vendor-value(inline-box args, only: moz webkit)\n    if flex in flex-version\n      display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n  else\n    display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n//    - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n  if box in flex-version\n    if row-reverse == direction || column-reverse == direction\n      vendor('box-direction', reverse, ignore: ms official)\n\n    if row == direction || row-reverse == direction\n      vendor('box-orient', horizontal, ignore: ms official)\n    else if column == direction || column-reverse == direction\n      vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n  if box in flex-version\n    // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n    //    on box vs. flex values.\n    if 'wrap' == value || wrap-reverse == value\n      vendor('box-lines', multiple, ignore: ms official)\n    else if nowrap == value\n      vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n  // obsolete\n  -flex-obsolete-direction(direction)\n\n  // new\n  if flex in flex-version\n    vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n  // obsolete\n  -flex-obsolete-wrap(value)\n\n  if flex in flex-version\n    vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n  // obsolete\n  -flex-obsolete-direction(arguments[0])\n  -flex-obsolete-direction(arguments[1])\n  -flex-obsolete-wrap(arguments[0])\n  -flex-obsolete-wrap(arguments[1])\n\n  // new\n  if flex in flex-version\n    vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n  // obsolete\n  if box in flex-version\n    vendor('box-ordinal-group', arguments, ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-order', arguments, only: ms)\n    vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n//    - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n  // obsolete\n  if box in flex-version\n    vendor('box-flex', growth)\n\n  // new\n  if flex in flex-version\n    vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n  if flex in flex-version\n    vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n  if flex in flex-version\n    vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n  // obsolete\n  if box in flex-version\n    shrink = 1\n\n    if none == growth || initial == growth\n      // Well known values\n      shrink = 0 if none == growth\n      growth = 0\n    else if is-width(growth) == true\n      // Basis is defined as the first parameter\n      growth = arguments[1] || 0\n      shrink = arguments[2] if 3 <= length(arguments)\n    else if arguments[1] && is-width(arguments[1]) == false\n      // Growth is first and shrink is second\n      shrink = arguments[1]\n\n    // Since we can't make the distinction between growing and shrinking in the box model, take\n    // the one that provides the most flexibility.\n    vendor('box-flex', max(growth, shrink), ignore: ms)\n\n  // new\n  if flex in flex-version\n    vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else if space-around == align\n    return distribute\n  else if space-between == align\n    return justify\n  else\n    return align\n\n//\n// 8. Alignment\n//    - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-pack', -convert-justify(align), only: ms)\n    vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n  // WARN: Obsolete spec does not allow for adjustment here\n  if flex in flex-version\n    vendor('flex-line-pack', -convert-justify(align), only: ms)\n    vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else\n    return align\n\nalign-items(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-align', -convert-alignment(align), only: ms)\n    vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n  // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n  if flex in flex-version\n    vendor('align-self', align, only: webkit official)\n    vendor('flex-item-align', -convert-alignment(align), only: ms)\n", "// helper\n\n-pos(type, args)\n  i = 0\n  position: unquote(type)\n  for j in (1..4)\n    if length(args) > i\n      {args[i]}: args[i + 1] is a 'unit' ? args[i += 1] : 0\n    i += 1\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   fixed: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     fixed: top left\n *     fixed: top 5px left\n *     fixed: top left 5px\n *     fixed: top 5px left 5px\n *\n */\n\nfixed()\n  -pos('fixed', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   absolute: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     absolute: top left\n *     absolute: top 5px left\n *     absolute: top left 5px\n *     absolute: top 5px left 5px\n *\n */\n\nabsolute()\n  -pos('absolute', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   relative: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     relative: top left\n *     relative: top 5px left\n *     relative: top left 5px\n *     relative: top 5px left 5px\n *\n */\n\nrelative()\n  -pos('relative', arguments)\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", ".verso\n    position relative\n    outline 0\n    box-sizing border-box\n    overflow hidden\n\n    &[data-pinching=\"true\"]\n        .verso__page-spread:not([data-active=\"true\"])\n            visibility hidden\n\n    *,\n    *:before,\n    *:after\n        box-sizing inherit\n\n.verso__scroller\n    absolute top left\n    right 0\n    bottom 0\n    transform-origin 0 0\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "/*\n * Overflow utility. Maps to regular overflow, and adds an ellipsis value.\n *\n * Synopsis:\n *\n *   overflow: <type>\n *\n * Examples:\n *\n *     overflow: auto\n *     overflow: hidden\n *     overflow: ellipsis\n *\n */\n\noverflow()\n  if arguments[0] == ellipsis\n    ellipsis()\n  else\n    overflow: arguments\n", "// helper\n\n-pos(type, args)\n  i = 0\n  position: unquote(type)\n  for j in (1..4)\n    if length(args) > i\n      {args[i]}: args[i + 1] is a 'unit' ? args[i += 1] : 0\n    i += 1\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   fixed: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     fixed: top left\n *     fixed: top 5px left\n *     fixed: top left 5px\n *     fixed: top 5px left 5px\n *\n */\n\nfixed()\n  -pos('fixed', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   absolute: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     absolute: top left\n *     absolute: top 5px left\n *     absolute: top left 5px\n *     absolute: top 5px left 5px\n *\n */\n\nabsolute()\n  -pos('absolute', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   relative: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     relative: top left\n *     relative: top 5px left\n *     relative: top left 5px\n *     relative: top 5px left 5px\n *\n */\n\nrelative()\n  -pos('relative', arguments)\n", ".sgn__pp\n    position relative\n    color #000\n    overflow hidden\n    outline 0\n\n    &:not([data-started])\n        .sgn-pp__progress-label,\n        .sgn-pp__progress,\n        .sgn-pp__control\n            display none\n    \n    &[data-started]\n        .sgn-pp__control\n            transition opacity ease 1s\n        \n        .sgn-pp__progress,\n        .sgn-pp__progress-label\n            transition all ease 1s\n\n    &[data-color-brightness=\"dark\"]\n        color #fff\n\n    &[data-layout-absolute=\"true\"]\n        absolute top left\n        right 0\n        bottom 0\n        z-index 1\n\n    &[data-layout-fixed=\"true\"]\n        fixed top left\n        right 0\n        bottom 0\n        z-index 1\n\n    &[data-navigating=\"true\"]\n        .verso--scrollable\n            overflow hidden\n\n    &[data-idle=\"true\"]\n        .sgn-pp__progress-label:not(.sgn-pp--hidden),\n        .sgn-pp__progress:not(.sgn-pp--hidden)\n            animation progressAnimation 2s 1 forwards\n\n    &[data-zoomed-in=\"true\"]\n        .sgn-pp__progress,\n        .sgn-pp__progress-label,\n        .sgn-pp__control\n            display none\n\n    [data-active=\"true\"]\n        .sgn-pp-page__loader\n            animation pageLoaderAnimation 2s infinite\n            animation-delay 0.5s\n    \n    > .verso\n        absolute top left\n        right 0\n        bottom 0\n        z-index 1\n\n    .sgn-pp--hidden\n        pointer-events none !important\n        cursor default !important\n        opacity 0 !important\n\n.sgn-pp__pages\n    display none\n\n.sgn-pp__progress\n    position absolute\n    left 0\n    right 0\n    bottom 0\n    z-index 2\n    height 4px\n    \n.sgn-pp-progress__bar\n    width 0%\n    height 4px\n    background-color rgba(#000, 0.3)\n\n.sgn-pp__progress-label\n    position absolute\n    left 50%\n    bottom 12px\n    transform translateX(-50%)\n    width auto\n    display inline-block\n    z-index 2\n    background-color rgba(#000, 0.3)\n    color #fff\n    text-align center\n    padding 6px 18px\n    border-radius 6px\n    font-weight bold\n    font-size 14px\n    font-family \"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif\n    letter-spacing -1px\n\n.sgn-pp__control\n    position absolute\n    top 50%\n    z-index 2\n    width 40px\n    height 50px\n    margin-top -25px\n    line-height 0.5\n    text-align center\n    color #fff\n    text-shadow 0 0 18px rgba(#000, 0.24), -1px -1px 1px rgba(#000, 0.3), 1px -1px 1px rgba(#000, 0.3), -1px 1px 1px rgba(#000, 0.3), 1px 1px 1px rgba(#000, 0.3)\n    text-decoration none\n    font-family 'Arial Rounded MT Bold', 'Helvetica Rounded', Arial, sans-serif\n    font-weight normal\n    font-size 80px\n    opacity 0.5\n    \n    &:hover,\n    &:focus\n        color #fff\n        text-decoration none\n    \n    &:hover,\n    &:active\n        opacity 1\n\n    &[data-direction=\"prev\"]\n        left 0\n    \n    &[data-direction=\"next\"]\n        right 0\n\n    // Show controls when using an accurate pointing device pointer device such as a mouse.\n    @media (pointer: coarse)\n        display none\n\n.sgn-pp__page\n    background-size contain\n\n.sgn-pp-page__loader\n    display table\n    width 100%\n    height 100%\n    text-align center\n    color inherit\n    font-size 4em\n    font-weight bold\n    font-family inherit\n    \n    > *\n        display table-cell\n        vertical-align middle\n\n.sgn-pp__hotspot\n    background-color rgba(#fff, 0.1)\n    box-shadow 0 0 15px rgba(#000, 0.3)\n    border-radius 4px\n    border 2px solid rgba(#fff, 0.8)\n    opacity 0\n    \n    &:hover\n    &:focus\n        opacity 1\n\n.sgn-pagedecoration-hotspot\n    position absolute\n    z-index 99\n    box-shadow unset\n    border 0\n    opacity 1\n    background-color unset\n\n.sgn-pagedecoration-hotspot-link\n    text-decoration none\n    font-size 14px\n\n.sgn-pagedecoration-hotspot-link-content\n    display flex\n    align-items flex-end\n    padding 0.5rem\n    width 100%\n    height 100%\n\n    &:hover\n        background-color rgba(#fff, 0.1)\n        box-shadow 0 0 15px rgba(#000, 0.3)\n        border-radius 4px\n        border 2px solid rgba(#fff, 0.8)\n\n.sgn-pagedecoration-hotspot-link-label\n    position absolute\n    right 4px\n    top 4px\n    color #3e3e3e\n    border-radius 6px\n    padding 6px\n    background-color #fff\n    box-shadow rgba(0, 0, 0,  0.4) 0px 5px 16px, rgba(0, 0, 0, 0.2) 0px 0px 1px\n\n@media (pointer: coarse)\n    .sgn-pp__hotspot\n        opacity 0 !important\n\n.sgn-pp__page-spread--dark\n    background-color rgba(#000, 0.35)\n    color #fff\n\n@keyframes progressAnimation\n    0%\n        opacity 1\n    \n    100%\n        opacity 0.2\n\n@keyframes pageLoaderAnimation\n    0%\n        opacity 1\n    \n    50%\n        opacity 0.2\n    \n    100%\n        opacity 1", "/*\n * Overflow utility. Maps to regular overflow, and adds an ellipsis value.\n *\n * Synopsis:\n *\n *   overflow: <type>\n *\n * Examples:\n *\n *     overflow: auto\n *     overflow: hidden\n *     overflow: ellipsis\n *\n */\n\noverflow()\n  if arguments[0] == ellipsis\n    ellipsis()\n  else\n    overflow: arguments\n", "/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n//    - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n  if flex == type || inline-flex == type\n    if box in flex-version\n      if flex == type\n        display: -ms-flexbox args\n        display: vendor-value(box args, only: moz webkit)\n      else\n        display: -ms-inline-flexbox args\n        display: vendor-value(inline-box args, only: moz webkit)\n    if flex in flex-version\n      display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n  else\n    display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n//    - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n  if box in flex-version\n    if row-reverse == direction || column-reverse == direction\n      vendor('box-direction', reverse, ignore: ms official)\n\n    if row == direction || row-reverse == direction\n      vendor('box-orient', horizontal, ignore: ms official)\n    else if column == direction || column-reverse == direction\n      vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n  if box in flex-version\n    // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n    //    on box vs. flex values.\n    if 'wrap' == value || wrap-reverse == value\n      vendor('box-lines', multiple, ignore: ms official)\n    else if nowrap == value\n      vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n  // obsolete\n  -flex-obsolete-direction(direction)\n\n  // new\n  if flex in flex-version\n    vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n  // obsolete\n  -flex-obsolete-wrap(value)\n\n  if flex in flex-version\n    vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n  // obsolete\n  -flex-obsolete-direction(arguments[0])\n  -flex-obsolete-direction(arguments[1])\n  -flex-obsolete-wrap(arguments[0])\n  -flex-obsolete-wrap(arguments[1])\n\n  // new\n  if flex in flex-version\n    vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n  // obsolete\n  if box in flex-version\n    vendor('box-ordinal-group', arguments, ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-order', arguments, only: ms)\n    vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n//    - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n  // obsolete\n  if box in flex-version\n    vendor('box-flex', growth)\n\n  // new\n  if flex in flex-version\n    vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n  if flex in flex-version\n    vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n  if flex in flex-version\n    vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n  // obsolete\n  if box in flex-version\n    shrink = 1\n\n    if none == growth || initial == growth\n      // Well known values\n      shrink = 0 if none == growth\n      growth = 0\n    else if is-width(growth) == true\n      // Basis is defined as the first parameter\n      growth = arguments[1] || 0\n      shrink = arguments[2] if 3 <= length(arguments)\n    else if arguments[1] && is-width(arguments[1]) == false\n      // Growth is first and shrink is second\n      shrink = arguments[1]\n\n    // Since we can't make the distinction between growing and shrinking in the box model, take\n    // the one that provides the most flexibility.\n    vendor('box-flex', max(growth, shrink), ignore: ms)\n\n  // new\n  if flex in flex-version\n    vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else if space-around == align\n    return distribute\n  else if space-between == align\n    return justify\n  else\n    return align\n\n//\n// 8. Alignment\n//    - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-pack', -convert-justify(align), only: ms)\n    vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n  // WARN: Obsolete spec does not allow for adjustment here\n  if flex in flex-version\n    vendor('flex-line-pack', -convert-justify(align), only: ms)\n    vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n  if flex-start == align\n    return start\n  else if flex-end == align\n    return end\n  else\n    return align\n\nalign-items(align)\n  // obsolete\n  if box in flex-version\n    vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n  // new\n  if flex in flex-version\n    vendor('flex-align', -convert-alignment(align), only: ms)\n    vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n  // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n  if flex in flex-version\n    vendor('align-self', align, only: webkit official)\n    vendor('flex-item-align', -convert-alignment(align), only: ms)\n", "use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n  if auto == val\n    return true\n  else if val && 'unit' == type(val)\n    // Stylus does not short circuit so we need to perform this as a distinct\n    // operation to prevent errors\n    return '' != unit(val)\n  return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n  need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n      if official == prefix\n        if need_normalize\n          {prop}: normalize(prop,('%s' % args))\n        else\n          {prop}: args\n      else\n        newprop = prop\n        newprop = '-' + prefix + '-' + prop if vendor-property\n\n        if need_normalize\n          {newprop}: normalize(prop,('%s' % args),prefix)\n        else\n          {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n  prop = current-property[0]\n  for prefix in vendor-prefixes\n    unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n      add-property(prop, '-%s-%s' % (prefix arg))\n  arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n  vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n  vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n  vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n  vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n  vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n  vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n  vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n  vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n  vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n  vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n  vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n  legacy_args = ()\n  importance = unquote('')\n  for subargs in args\n    for arg in subargs\n      if arg in (border-box padding-box content-box)\n        arg = unquote('border')  if arg == border-box\n        arg = unquote('padding') if arg == padding-box\n        arg = unquote('content') if arg == content-box\n      if arg != '!important'\n        push(legacy_args,arg)\n      else\n        importance = !important\n  vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n  if arguments[0] == text\n    vendor('background-clip', arguments, only: webkit)\n  else\n    legacy-bg-values('background-clip', arguments)\n    background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n  legacy-bg-values('background-origin', arguments)\n  background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n  vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n    vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n  vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n  vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n  vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n  vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n  vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n  vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n  vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n  vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n  if mixin\n    vendor('perspective', arguments, only: webkit moz ms official)\n  else\n    'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n  vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n  opacity: n args\n  if support-for-ie\n    if n == inherit or n == initial\n      -ms-filter: n args\n      filter: n args\n    else\n      val = round(n * 100)\n      if val == 100\n        -ms-filter: none args\n        filter: none args\n      else\n        -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n        filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n  vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n  white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n  vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n  vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n  vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n  vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n  vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n  vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n  vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n  vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n  vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n  vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n  vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n  vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n  vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n  vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n  vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n  vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n  vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n  vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n  vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n  vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n  vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n  vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n  vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n *    // Default syntax\n *    body\n *      placeholder(color #333, font-weight normal)\n *\n *    // The comma is important\n *    .placeholder-red\n *      placeholder(color red,)\n *\n *    // We can pass a function\n *    green-placeholder()\n *      color green\n *    .placeholder-green\n *      placeholder(green-placeholder)\n *\n *    // We can pass a hash\n *    textarea\n *      placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n  for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n    &:{v}-placeholder\n      for pair in arguments\n        if typeof(pair) == 'function'\n          pair()\n        else if pair is not null && pair[0] is not null\n          {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background', arguments, vendor-property: false)\n  else\n    background arguments\n\nbackground-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('background-image', arguments, vendor-property: false)\n  else\n    background-image arguments\n\ncursor()\n  if match('-gradient\\(', ''+arguments)\n    vendor('cursor', arguments, vendor-property: false)\n  else\n    cursor arguments\n\nlist-style()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style', arguments, vendor-property: false)\n  else\n    list-style arguments\n\nlist-style-image()\n  if match('-gradient\\(', ''+arguments)\n    vendor('list-style-image', arguments, vendor-property: false)\n  else\n    list-style-image arguments\n", "// helper\n\n-pos(type, args)\n  i = 0\n  position: unquote(type)\n  for j in (1..4)\n    if length(args) > i\n      {args[i]}: args[i + 1] is a 'unit' ? args[i += 1] : 0\n    i += 1\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   fixed: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     fixed: top left\n *     fixed: top 5px left\n *     fixed: top left 5px\n *     fixed: top 5px left 5px\n *\n */\n\nfixed()\n  -pos('fixed', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   absolute: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     absolute: top left\n *     absolute: top 5px left\n *     absolute: top left 5px\n *     absolute: top 5px left 5px\n *\n */\n\nabsolute()\n  -pos('absolute', arguments)\n\n/*\n * Position utility.\n *\n * Synopsis:\n *\n *   relative: <pos> [n] <pos> [n]\n *\n * Examples:\n *\n *     relative: top left\n *     relative: top 5px left\n *     relative: top left 5px\n *     relative: top 5px left 5px\n *\n */\n\nrelative()\n  -pos('relative', arguments)\n", "/*\n * Helper for border-radius().\n */\n\n-apply-border-radius(pos, importance)\n  if length(pos) == 3\n    // border-radius: <top | bottom> <left | right> <n>\n    y = pos[0]\n    x = pos[1]\n    // We don't use vendor for boder-radius anymore\n    // vendor('border-radius-%s%s' % pos, pos[2], only: webkit official)\n    {'border-%s-%s-radius' % pos}: pos[2] importance\n  else if pos[0] in (top bottom)\n    // border-radius: <top | bottom> <n>\n    -apply-border-radius(pos[0] left pos[1], importance)\n    -apply-border-radius(pos[0] right pos[1], importance)\n  else if pos[0] in (left right)\n    // border-radius: <left | right> <n>\n    unshift(pos, top);\n    -apply-border-radius(pos, importance)\n    pos[0] = bottom\n    -apply-border-radius(pos, importance)\n\n/*\n * border-radius supporting augmented behavior.\n *\n * Examples:\n *\n *    border-radius: 2px 5px\n *    border-radius: top 5px bottom 10px\n *    border-radius: left 5px\n *    border-radius: top left 5px\n *    border-radius: top left 10px bottom right 5px\n *    border-radius: top left 10px, bottom right 5px\n *\n */\n\nborder-radius()\n  pos = ()\n  augmented = false\n  importance = arguments[length(arguments) - 1] == !important ? !important : unquote('')\n\n  for args in arguments\n    for arg in args\n      if arg is a 'ident'\n        append(pos, arg)\n        augmented = true\n      else\n        append(pos, arg)\n        if augmented\n          -apply-border-radius(pos, importance)\n          pos = ()\n  border-radius pos unless augmented\n", "/*\n * border: <color>\n * border: ...\n */\n\nborder(color, args...)\n  if color is a 'color'\n    border: 1px solid color args\n  else\n    border: arguments\n", "/*\n * Size utility.\n *\n * Synopsis:\n *\n *   size: <width> <height> | <width & height>\n *\n * Examples:\n *\n *     size: 100% 30px\n *       yields:\n *         width: 100%\n *         height: 30px\n *\n *     size: 5px\n *       yields:\n *         width: 5px\n *         height: 5px\n *\n */\n\nsize()\n  if length(arguments) == 1\n    width: arguments[0]\n    height: arguments[0]\n  else\n    width: arguments[0]\n    height: arguments[1]\n", "called-from = ()\n\nvendors = moz webkit o ms official\n\n// stringify the given arg\n\n-string(arg)\n  type(arg) + ' ' + arg\n\n// require a color\n\nrequire-color(color)\n  unless color is a 'color'\n    error('RGB or HSL value expected, got a ' + -string(color))\n\n// require a unit\n\nrequire-unit(n)\n  unless n is a 'unit'\n    error('unit expected, got a ' + -string(n))\n\n// require a string\n\nrequire-string(str)\n  unless str is a 'string' or str is a 'ident'\n    error('string expected, got a ' + -string(str))\n\n// Math functions\n\nabs(n) { math(n, 'abs') }\nmin(a, b) { a < b ? a : b }\nmax(a, b) { a > b ? a : b }\n\n// Trigonometrics\nPI = -math-prop('PI')\n\nradians-to-degrees(angle)\n  angle * (180 / PI)\n\ndegrees-to-radians(angle)\n  angle * (PI / 180)\n\nsin(n)\n  n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n  round(math(n, 'sin'), 9)\n\ncos(n)\n  n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n  round(math(n, 'cos'), 9)\n\n// Rounding Math functions\n\nceil(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'ceil') / multiplier\n\nfloor(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'floor') / multiplier\n\nround(n, precision = 0)\n  multiplier = 10 ** precision\n  math(n * multiplier, 'round') / multiplier\n\n// return the sum of the given numbers\n\nsum(nums)\n  sum = 0\n  sum += n for n in nums\n\n// return the average of the given numbers\n\navg(nums)\n  sum(nums) / length(nums)\n\n// return a unitless number, or pass through\n\nremove-unit(n)\n  if typeof(n) is \"unit\"\n    unit(n, \"\")\n  else\n    n\n\n// convert a percent to a decimal, or pass through\n\npercent-to-decimal(n)\n  if unit(n) is \"%\"\n    remove-unit(n) / 100\n  else\n    n\n\n// check if n is an odd number\n\nodd(n)\n  1 == n % 2\n\n// check if n is an even number\n\neven(n)\n  0 == n % 2\n\n// check if color is light\n\nlight(color)\n  lightness(color) >= 50%\n\n// check if color is dark\n\ndark(color)\n  lightness(color) < 50%\n\n// desaturate color by amount\n\ndesaturate(color, amount)\n  adjust(color, 'saturation', - amount)\n\n// saturate color by amount\n\nsaturate(color = '', amount = 100%)\n  if color is a 'color'\n    adjust(color, 'saturation', amount)\n  else\n    unquote( \"saturate(\" + color + \")\" )\n\n// darken by the given amount\n\ndarken(color, amount)\n  adjust(color, 'lightness', - amount)\n\n// lighten by the given amount\n\nlighten(color, amount)\n  adjust(color, 'lightness', amount)\n\n// decrease opacity by amount\n\nfade-out(color, amount)\n  color - rgba(black, percent-to-decimal(amount))\n\n// increase opacity by amount\n\nfade-in(color, amount)\n  color + rgba(black, percent-to-decimal(amount))\n\n// spin hue by a given amount\n\nspin(color, amount)\n  color + unit(amount, deg)\n\n// mix two colors by a given amount\n\nmix(color1, color2, weight = 50%)\n  unless weight in 0..100\n    error(\"Weight must be between 0% and 100%\")\n\n  if length(color1) == 2\n    weight = color1[0]\n    color1 = color1[1]\n\n  else if length(color2) == 2\n    weight = 100 - color2[0]\n    color2 = color2[1]\n\n  require-color(color1)\n  require-color(color2)\n\n  p = unit(weight / 100, '')\n  w = p * 2 - 1\n\n  a = alpha(color1) - alpha(color2)\n\n  w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n  w2 = 1 - w1\n\n  channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n  rgb = ()\n\n  for pair in channels\n    push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n\n  a1 = alpha(color1) * p\n  a2 = alpha(color2) * (1 - p)\n  alpha = a1 + a2\n\n  rgba(rgb[0], rgb[1], rgb[2], alpha)\n\n// invert colors, leave alpha intact\n\ninvert(color = '')\n  if color is a 'color'\n    rgba(#fff - color, alpha(color))\n  else\n    unquote( \"invert(\" + color + \")\" )\n\n// give complement of the given color\n\ncomplement( color )\n  spin( color, 180 )\n\n// give grayscale of the given color\n\ngrayscale( color = '' )\n  if color is a 'color'\n    desaturate( color, 100% )\n  else\n    unquote( \"grayscale(\" + color + \")\" )\n\n// mix the given color with white\n\ntint( color, percent )\n  mix( white, color, percent )\n\n// mix the given color with black\n\nshade( color, percent )\n  mix( black, color, percent )\n\n// return the last value in the given expr\n\nlast(expr)\n  expr[length(expr) - 1]\n\n// return keys in the given pairs or object\n\nkeys(pairs)\n  ret = ()\n  if type(pairs) == 'object'\n    for key in pairs\n      push(ret, key)\n  else\n    for pair in pairs\n      push(ret, pair[0]);\n  ret\n\n// return values in the given pairs or object\n\nvalues(pairs)\n  ret = ()\n  if type(pairs) == 'object'\n    for key, val in pairs\n      push(ret, val)\n  else\n    for pair in pairs\n      push(ret, pair[1]);\n  ret\n\n// join values with the given delimiter\n\njoin(delim, vals...)\n  buf = ''\n  vals = vals[0] if length(vals) == 1\n  for val, i in vals\n    buf += i ? delim + val : val\n\n// add a CSS rule to the containing block\n\n// - This definition allows add-property to be used as a mixin\n// - It has the same effect as interpolation but allows users\n//   to opt for a functional style\n\nadd-property-function = add-property\nadd-property(name, expr)\n  if mixin\n    {name} expr\n  else\n    add-property-function(name, expr)\n\nprefix-classes(prefix)\n  -prefix-classes(prefix, block)\n\n// Caching mixin, use inside your functions to enable caching by extending.\n\n$stylus_mixin_cache = {}\ncache()\n  $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n  if $key in $stylus_mixin_cache\n    @extend {\"$cache_placeholder_for_\" + $stylus_mixin_cache[$key]}\n  else if 'cache' in called-from\n    {block}\n  else\n    $id = length($stylus_mixin_cache)\n\n    &,\n    /$cache_placeholder_for_{$id}\n      $stylus_mixin_cache[$key] = $id\n      {block}\n\n// Percentage function to convert a number, e.g. \".45\", into a percentage, e.g. \"45%\"\n\npercentage(num)\n  return unit(num * 100, '%')\n\n// Returns the position of a `value` within a `list`\n\nindex(list, value)\n  for val, i in list\n    return i if val == value\n"],
  "mappings": "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,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI,SAAO;;AADX,CATR,kBASQ,CAAA;AACI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",
  "names": []
}
