compass-recipes 0.2.2 → 0.3.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. data/LICENSE +6 -2
  2. data/README.md +103 -29
  3. data/VERSION +1 -1
  4. data/fonts/icons/entypo/entypo-webfont.eot +0 -0
  5. data/fonts/icons/entypo/entypo-webfont.svg +198 -0
  6. data/fonts/icons/entypo/entypo-webfont.ttf +0 -0
  7. data/fonts/icons/entypo/entypo-webfont.woff +0 -0
  8. data/fonts/icons/heydings-controls/SIL Open Font License 1.1.txt +91 -0
  9. data/fonts/icons/heydings-controls/demo.html +33 -0
  10. data/fonts/icons/heydings-controls/heydings_controls-webfont.eot +0 -0
  11. data/fonts/icons/heydings-controls/heydings_controls-webfont.svg +85 -0
  12. data/fonts/icons/heydings-controls/heydings_controls-webfont.ttf +0 -0
  13. data/fonts/icons/heydings-controls/heydings_controls-webfont.woff +0 -0
  14. data/fonts/icons/heydings-controls/stylesheet.css +16 -0
  15. data/fonts/icons/heydings/SIL Open Font License 1.1.txt +91 -0
  16. data/fonts/icons/heydings/demo.html +33 -0
  17. data/fonts/icons/heydings/heydings_icons-webfont.eot +0 -0
  18. data/fonts/icons/heydings/heydings_icons-webfont.svg +94 -0
  19. data/fonts/icons/heydings/heydings_icons-webfont.ttf +0 -0
  20. data/fonts/icons/heydings/heydings_icons-webfont.woff +0 -0
  21. data/fonts/icons/heydings/stylesheet.css +16 -0
  22. data/fonts/icons/icomoon/License.txt +1 -0
  23. data/fonts/icons/icomoon/Read Me.txt +5 -0
  24. data/fonts/icons/icomoon/icomoon.eot +0 -0
  25. data/fonts/icons/icomoon/icomoon.svg +35 -0
  26. data/fonts/icons/icomoon/icomoon.ttf +0 -0
  27. data/fonts/icons/icomoon/icomoon.woff +0 -0
  28. data/fonts/icons/iconic/SIL Open Font License 1.1.txt +91 -0
  29. data/fonts/icons/iconic/demo.html +38 -0
  30. data/fonts/icons/iconic/iconic_fill.eot +0 -0
  31. data/fonts/icons/iconic/iconic_fill.svg +475 -0
  32. data/fonts/icons/iconic/iconic_fill.ttf +0 -0
  33. data/fonts/icons/iconic/iconic_fill.woff +0 -0
  34. data/fonts/icons/iconic/iconic_stroke.eot +0 -0
  35. data/fonts/icons/iconic/iconic_stroke.svg +492 -0
  36. data/fonts/icons/iconic/iconic_stroke.ttf +0 -0
  37. data/fonts/icons/iconic/iconic_stroke.woff +0 -0
  38. data/fonts/icons/iconic/stylesheet.css +28 -0
  39. data/fonts/icons/modern-pictograms/Modern Pictograms SIL OFL Font License 1.1.txt +94 -0
  40. data/fonts/icons/modern-pictograms/demo.html +33 -0
  41. data/fonts/icons/modern-pictograms/modernpics-webfont.eot +0 -0
  42. data/fonts/icons/modern-pictograms/modernpics-webfont.svg +136 -0
  43. data/fonts/icons/modern-pictograms/modernpics-webfont.ttf +0 -0
  44. data/fonts/icons/modern-pictograms/modernpics-webfont.woff +0 -0
  45. data/fonts/icons/modern-pictograms/stylesheet.css +16 -0
  46. data/fonts/icons/socialico/FFF_EULA_license.pdf +0 -0
  47. data/fonts/icons/socialico/Socialico-webfont.otf +0 -0
  48. data/fonts/icons/socialico/socialico-webfont.eot +0 -0
  49. data/fonts/icons/socialico/socialico-webfont.svg +123 -0
  50. data/fonts/icons/socialico/socialico-webfont.ttf +0 -0
  51. data/fonts/icons/socialico/socialico-webfont.woff +0 -0
  52. data/fonts/icons/websymbols/OFL-FAQ.txt +369 -0
  53. data/fonts/icons/websymbols/OFL.txt +97 -0
  54. data/fonts/icons/websymbols/websymbols-regular-webfont.eot +0 -0
  55. data/fonts/icons/websymbols/websymbols-regular-webfont.svg +108 -0
  56. data/fonts/icons/websymbols/websymbols-regular-webfont.ttf +0 -0
  57. data/fonts/icons/websymbols/websymbols-regular-webfont.woff +0 -0
  58. data/lib/compass-recipes.rb +3 -0
  59. data/lib/compass-recipes/sass_extensions.rb +13 -0
  60. data/lib/compass-recipes/sass_extensions/_error.rb +9 -0
  61. data/lib/compass-recipes/sass_extensions/background_noise.rb +48 -0
  62. data/lib/compass-recipes/sass_extensions/gravatar.rb +60 -0
  63. data/lib/compass-recipes/sass_extensions/highres.rb +31 -0
  64. data/lib/compass-recipes/sass_extensions/math.rb +8 -0
  65. data/stylesheets/_recipes.scss +7 -3
  66. data/stylesheets/recipes/_animation.scss +3 -0
  67. data/stylesheets/recipes/_background.scss +15 -0
  68. data/stylesheets/recipes/_base.scss +1 -0
  69. data/stylesheets/recipes/_color.scss +171 -0
  70. data/stylesheets/recipes/_effect.scss +6 -1
  71. data/stylesheets/recipes/_font.scss +32 -0
  72. data/stylesheets/recipes/_google-webfont.scss +15 -0
  73. data/stylesheets/recipes/_icon-font.scss +224 -0
  74. data/stylesheets/recipes/_icons.scss +15 -10
  75. data/stylesheets/recipes/_media-queries.scss +72 -0
  76. data/stylesheets/recipes/_shared.scss +5 -4
  77. data/stylesheets/recipes/_ui.scss +5 -2
  78. data/stylesheets/recipes/animation/_animation.scss +145 -0
  79. data/stylesheets/recipes/animation/_fade.scss +29 -0
  80. data/stylesheets/recipes/animation/_keyframes.scss +17 -0
  81. data/stylesheets/recipes/animation/_timing-function.scss +29 -0
  82. data/stylesheets/recipes/background/_blueprint-grid.scss +52 -0
  83. data/stylesheets/recipes/background/_carbon-fiber.scss +33 -0
  84. data/stylesheets/recipes/background/_checkerboard.scss +61 -0
  85. data/stylesheets/recipes/background/_cicada.scss +42 -0
  86. data/stylesheets/recipes/background/_gradients.scss +81 -0
  87. data/stylesheets/recipes/background/_houndstooth.scss +51 -0
  88. data/stylesheets/recipes/background/_lined-paper.scss +30 -0
  89. data/stylesheets/recipes/background/_madras.scss +84 -0
  90. data/stylesheets/recipes/background/_noise.scss +47 -0
  91. data/stylesheets/recipes/background/_polka-dot.scss +28 -0
  92. data/stylesheets/recipes/background/_radial-overlay.scss +15 -0
  93. data/stylesheets/recipes/background/_rainbow.scss +27 -0
  94. data/stylesheets/recipes/background/_stripes.scss +46 -0
  95. data/stylesheets/recipes/background/_tablecloth.scss +30 -0
  96. data/stylesheets/recipes/background/_tartan.scss +81 -0
  97. data/stylesheets/recipes/base/_normalize.scss +455 -0
  98. data/stylesheets/recipes/color/_name.scss +151 -0
  99. data/stylesheets/recipes/effect/_bevel.scss +37 -0
  100. data/stylesheets/recipes/effect/_corner-folded.scss +26 -0
  101. data/stylesheets/recipes/effect/_corners-tucked.scss +48 -0
  102. data/stylesheets/recipes/effect/_cutout.scss +20 -0
  103. data/stylesheets/recipes/{enhancement/_corner-folded.scss → effect/_folded-corner.scss} +7 -1
  104. data/stylesheets/recipes/effect/_glass.scss +22 -9
  105. data/stylesheets/recipes/effect/_ribbon-tied.scss +133 -0
  106. data/stylesheets/recipes/effect/_ribbon.scss +102 -0
  107. data/stylesheets/recipes/effect/_scatter.scss +22 -0
  108. data/stylesheets/recipes/effect/_tape.scss +43 -0
  109. data/stylesheets/recipes/helper/_gravatar.scss +79 -0
  110. data/stylesheets/recipes/layout/_flexible-box-model.scss +68 -0
  111. data/stylesheets/recipes/shadow/_drop.scss +1 -1
  112. data/stylesheets/recipes/shadow/_top-edge.scss +1 -1
  113. data/stylesheets/recipes/shadow/drop/_curved.scss +5 -3
  114. data/stylesheets/recipes/shadow/drop/_flying.scss +12 -20
  115. data/stylesheets/recipes/shadow/drop/_transform-requirement.scss +3 -1
  116. data/stylesheets/recipes/shape/_polygon.scss +1 -0
  117. data/stylesheets/recipes/shape/_symbol.scss +5 -1
  118. data/stylesheets/recipes/shape/polygon/_rhombus.scss +10 -0
  119. data/stylesheets/recipes/shape/polygon/_star.scss +97 -29
  120. data/stylesheets/recipes/shape/polygon/_triangle.scss +9 -4
  121. data/stylesheets/recipes/shape/symbol/_diamond.scss +33 -0
  122. data/stylesheets/recipes/shape/symbol/_egg.scss +13 -0
  123. data/stylesheets/recipes/shape/symbol/_heart.scss +2 -1
  124. data/stylesheets/recipes/shape/symbol/_infinity.scss +3 -1
  125. data/stylesheets/recipes/shape/symbol/_pacman.scss +18 -0
  126. data/stylesheets/recipes/shape/symbol/_yin-yang.scss +49 -0
  127. data/stylesheets/recipes/shared/_clearfix.scss +28 -14
  128. data/stylesheets/recipes/shared/_pseudo-element.scss +13 -4
  129. data/stylesheets/recipes/shared/_user-select.scss +6 -0
  130. data/stylesheets/recipes/ui/_button.scss +122 -0
  131. data/stylesheets/recipes/ui/_convex.scss +8 -1
  132. data/stylesheets/recipes/ui/_glossy.scss +13 -12
  133. data/stylesheets/recipes/ui/_gradient.scss +4 -0
  134. data/stylesheets/recipes/ui/_helper.scss +1 -0
  135. data/stylesheets/recipes/ui/_keyboard.scss +106 -0
  136. data/stylesheets/recipes/ui/_menu.scss +1 -0
  137. data/stylesheets/recipes/ui/_overlay.scss +22 -0
  138. data/stylesheets/recipes/ui/_separator.scss +37 -0
  139. data/stylesheets/recipes/ui/border/_bevel.scss +3 -0
  140. data/stylesheets/recipes/ui/button/_state-selectors.scss +40 -0
  141. data/stylesheets/recipes/ui/button/style/_default.scss +12 -0
  142. data/stylesheets/recipes/ui/button/style/todo/_bonbon.scss +489 -0
  143. data/stylesheets/recipes/ui/button/style/todo/_bourbon.scss +169 -0
  144. data/stylesheets/recipes/ui/button/style/todo/_fancy.sass +178 -0
  145. data/stylesheets/recipes/ui/button/style/todo/_necolas-animated.scss +81 -0
  146. data/stylesheets/recipes/ui/button/style/todo/_ubuwaits.scss +654 -0
  147. data/stylesheets/recipes/ui/helper/_arrow.scss +72 -0
  148. data/stylesheets/recipes/ui/helper/_tag.scss +14 -0
  149. data/stylesheets/recipes/ui/loader/_pulse.scss +124 -0
  150. data/stylesheets/recipes/ui/{_menu-dropdown.scss → menu/_dropdown.scss} +11 -3
  151. data/templates/gravatar/getElementsByClassName.js +23 -0
  152. data/templates/gravatar/gravatar.js +117 -0
  153. data/templates/gravatar/manifest.rb +19 -0
  154. data/templates/gravatar/md5.js +14 -0
  155. data/templates/icon-fonts/fonts/icons/entypo/entypo-webfont.eot +0 -0
  156. data/templates/icon-fonts/fonts/icons/entypo/entypo-webfont.svg +198 -0
  157. data/templates/icon-fonts/fonts/icons/entypo/entypo-webfont.ttf +0 -0
  158. data/templates/icon-fonts/fonts/icons/entypo/entypo-webfont.woff +0 -0
  159. data/templates/icon-fonts/fonts/icons/heydings-controls/SIL Open Font License 1.1.txt +91 -0
  160. data/templates/icon-fonts/fonts/icons/heydings-controls/demo.html +33 -0
  161. data/templates/icon-fonts/fonts/icons/heydings-controls/heydings_controls-webfont.eot +0 -0
  162. data/templates/icon-fonts/fonts/icons/heydings-controls/heydings_controls-webfont.svg +85 -0
  163. data/templates/icon-fonts/fonts/icons/heydings-controls/heydings_controls-webfont.ttf +0 -0
  164. data/templates/icon-fonts/fonts/icons/heydings-controls/heydings_controls-webfont.woff +0 -0
  165. data/templates/icon-fonts/fonts/icons/heydings-controls/stylesheet.css +16 -0
  166. data/templates/icon-fonts/fonts/icons/heydings/SIL Open Font License 1.1.txt +91 -0
  167. data/templates/icon-fonts/fonts/icons/heydings/demo.html +33 -0
  168. data/templates/icon-fonts/fonts/icons/heydings/heydings_icons-webfont.eot +0 -0
  169. data/templates/icon-fonts/fonts/icons/heydings/heydings_icons-webfont.svg +94 -0
  170. data/templates/icon-fonts/fonts/icons/heydings/heydings_icons-webfont.ttf +0 -0
  171. data/templates/icon-fonts/fonts/icons/heydings/heydings_icons-webfont.woff +0 -0
  172. data/templates/icon-fonts/fonts/icons/heydings/stylesheet.css +16 -0
  173. data/templates/icon-fonts/fonts/icons/icomoon/License.txt +1 -0
  174. data/templates/icon-fonts/fonts/icons/icomoon/Read Me.txt +5 -0
  175. data/templates/icon-fonts/fonts/icons/icomoon/icomoon.eot +0 -0
  176. data/templates/icon-fonts/fonts/icons/icomoon/icomoon.svg +35 -0
  177. data/templates/icon-fonts/fonts/icons/icomoon/icomoon.ttf +0 -0
  178. data/templates/icon-fonts/fonts/icons/icomoon/icomoon.woff +0 -0
  179. data/templates/icon-fonts/fonts/icons/iconic/SIL Open Font License 1.1.txt +91 -0
  180. data/templates/icon-fonts/fonts/icons/iconic/demo.html +38 -0
  181. data/templates/icon-fonts/fonts/icons/iconic/iconic_fill.eot +0 -0
  182. data/templates/icon-fonts/fonts/icons/iconic/iconic_fill.svg +475 -0
  183. data/templates/icon-fonts/fonts/icons/iconic/iconic_fill.ttf +0 -0
  184. data/templates/icon-fonts/fonts/icons/iconic/iconic_fill.woff +0 -0
  185. data/templates/icon-fonts/fonts/icons/iconic/iconic_stroke.eot +0 -0
  186. data/templates/icon-fonts/fonts/icons/iconic/iconic_stroke.svg +492 -0
  187. data/templates/icon-fonts/fonts/icons/iconic/iconic_stroke.ttf +0 -0
  188. data/templates/icon-fonts/fonts/icons/iconic/iconic_stroke.woff +0 -0
  189. data/templates/icon-fonts/fonts/icons/iconic/stylesheet.css +28 -0
  190. data/templates/icon-fonts/fonts/icons/modern-pictograms/Modern Pictograms SIL OFL Font License 1.1.txt +94 -0
  191. data/templates/icon-fonts/fonts/icons/modern-pictograms/demo.html +33 -0
  192. data/templates/icon-fonts/fonts/icons/modern-pictograms/modernpics-webfont.eot +0 -0
  193. data/templates/icon-fonts/fonts/icons/modern-pictograms/modernpics-webfont.svg +136 -0
  194. data/templates/icon-fonts/fonts/icons/modern-pictograms/modernpics-webfont.ttf +0 -0
  195. data/templates/icon-fonts/fonts/icons/modern-pictograms/modernpics-webfont.woff +0 -0
  196. data/templates/icon-fonts/fonts/icons/modern-pictograms/stylesheet.css +16 -0
  197. data/templates/icon-fonts/fonts/icons/socialico/FFF_EULA_license.pdf +0 -0
  198. data/templates/icon-fonts/fonts/icons/socialico/Socialico-webfont.otf +0 -0
  199. data/templates/icon-fonts/fonts/icons/socialico/socialico-webfont.eot +0 -0
  200. data/templates/icon-fonts/fonts/icons/socialico/socialico-webfont.svg +123 -0
  201. data/templates/icon-fonts/fonts/icons/socialico/socialico-webfont.ttf +0 -0
  202. data/templates/icon-fonts/fonts/icons/socialico/socialico-webfont.woff +0 -0
  203. data/templates/icon-fonts/fonts/icons/websymbols/OFL-FAQ.txt +369 -0
  204. data/templates/icon-fonts/fonts/icons/websymbols/OFL.txt +97 -0
  205. data/templates/icon-fonts/fonts/icons/websymbols/websymbols-regular-webfont.eot +0 -0
  206. data/templates/icon-fonts/fonts/icons/websymbols/websymbols-regular-webfont.svg +108 -0
  207. data/templates/icon-fonts/fonts/icons/websymbols/websymbols-regular-webfont.ttf +0 -0
  208. data/templates/icon-fonts/fonts/icons/websymbols/websymbols-regular-webfont.woff +0 -0
  209. data/templates/icon-fonts/manifest.rb +17 -0
  210. metadata +225 -20
  211. data/stylesheets/recipes/_enhancement.scss +0 -1
  212. data/stylesheets/recipes/_pattern.scss +0 -0
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>
5
+ This is a custom SVG webfont generated by Font Squirrel.
6
+ Copyright : Copyright c 2011 by Just Be Nice studio All rights reserved
7
+ Designer : Igor Kiselev
8
+ Foundry : Just Be Nice studio
9
+ Foundry URL : httpwwwjustbenicestudiocom
10
+ </metadata>
11
+ <defs>
12
+ <font id="WebSymbolsRegular" horiz-adv-x="1000" >
13
+ <font-face units-per-em="1000" ascent="801" descent="-199" />
14
+ <missing-glyph horiz-adv-x="250" />
15
+ <glyph unicode=" " horiz-adv-x="250" />
16
+ <glyph unicode="&#x09;" horiz-adv-x="250" />
17
+ <glyph unicode="&#xa0;" horiz-adv-x="250" />
18
+ <glyph unicode="!" />
19
+ <glyph unicode="#" horiz-adv-x="965" d="M207 259q0 -26 -42 -26h-16v52h23q35 0 35 -26zM190 355q0 -23 -34 -23h-7v46h8q33 0 33 -23zM265 -112h62v241h-62v-148h-1l-115 148h-62v-241h62v147h1zM388 -112h63v241h-63v-241zM270 252q0 55 -49 62q27 14 27 49q0 63 -72 63h-89v-241h96q37 0 62 16t25 51z M684 -107v75q-21 -26 -54 -26q-29 0 -47 18.5t-18 47.5q0 28 18 47t46 19q35 0 55 -26v75q-31 12 -57 12q-53 0 -90 -37.5t-37 -89.5q0 -54 37.5 -90t91.5 -36q22 0 55 11zM309 185h137v53h-74v42h70v53h-70v40h74v53h-137v-241zM222 561v162h-136v-51h74v-112 q0 -31 -18 -31q-11 0 -27 19l-34 -36q23 -36 62 -36q38 0 58.5 23t20.5 62zM740 -112h137v53h-75v41h71v53h-71v41h75v53h-137v-241zM484 588v135h-63v-126q0 -20 -2 -32t-12 -23t-28 -11q-27 0 -35 17.5t-8 48.5v126h-63v-135q0 -57 24.5 -84.5t81.5 -27.5q56 0 80.5 27.5 t24.5 84.5zM697 564q0 27 -16.5 43t-35.5 20.5t-35.5 11.5t-16.5 18q0 10 8.5 15t18.5 5q23 0 42 -16l25 49q-35 20 -76 20q-36 0 -59.5 -22.5t-23.5 -58.5q0 -29 16 -45t35.5 -19.5t35.5 -10.5t16 -20q0 -12 -9 -18.5t-21 -6.5q-25 0 -56 25l-26 -50q37 -28 84 -28 q43 0 68.5 22.5t25.5 65.5zM838 670h52v53h-166v-53h51v-187h63v187zM965 801v-1000h-965v1000h965z" />
20
+ <glyph unicode="%" d="M306 -32l161 -168h-467v467l168 -161l161 161q29 29 69 29t69 -29t29 -69t-29 -69zM1000 800v-467l-168 161l-161 -161q-29 -29 -69 -29t-69 29t-29 69t29 69l161 161l-161 168h467z" />
21
+ <glyph unicode="&#x26;" d="M644 382l116 -102v280h-280l102 -116l-13 -13l-213 -213l-116 102v-280h280l-102 116zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
22
+ <glyph unicode="'" d="M654 300l346 -346l-154 -154l-346 346l-346 -346l-154 154l346 346l-346 346l154 154l346 -346l346 346l154 -154z" />
23
+ <glyph unicode="(" d="M547 68l71 71l-161 161l161 161l-71 71l-233 -232zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
24
+ <glyph unicode=")" d="M453 68l233 232l-233 232l-71 -71l161 -161l-161 -161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
25
+ <glyph unicode="*" d="M740 220l180 180h-120q-30 92 -118.5 152.5t-186.5 60.5q-131 0 -224 -92.5t-93 -223.5t93 -223.5t224 -92.5t223 92l-62 71q-66 -64 -156 -64q-91 0 -155.5 64.5t-64.5 155.5t64.5 155.5t155.5 64.5q95 0 156 -64q8 -8 11.5 -16.5t6.5 -20.5t6 -19h-120zM1000 300 q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
26
+ <glyph unicode="+" d="M560 242h235v118h-235v235h-118v-235h-236v-118h236v-236h118v236zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
27
+ <glyph unicode="," d="M840 505q28 28 28 67.5t-28 67.5t-67.5 28t-67.5 -28t-28 -67.5t28 -67.5t67.5 -28t67.5 28zM1000 665v-270l-595 -595l-405 405l595 595h270z" />
28
+ <glyph unicode="-" d="M206 242h589v118h-589v-118zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
29
+ <glyph unicode="." horiz-adv-x="1179" d="M1179 729q-250 -222 -600 -750l-115 -179q-144 180 -464 500l107 107l286 -250q150 150 279 271.5t205.5 187.5t131.5 111t77 59l21 14q4 0 11 -2t26 -19.5t35 -49.5z" />
30
+ <glyph unicode="/" d="M260 354l-54 -53q71 -71 129 -133.5t81 -89.5l22 -26q8 13 22 35.5t56.5 85.5t83.5 118.5t95 119.5t99 104q-18 35 -36 35q-10 -6 -32 -22t-113.5 -97.5t-210.5 -200.5zM500 801q136 0 251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251 t67 251t182 182t251 67z" />
31
+ <glyph unicode="0" d="M188 -26l-83 83l187 187l83 -83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
32
+ <glyph unicode="1" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
33
+ <glyph unicode="2" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
34
+ <glyph unicode="3" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 604h-118v265h118v-265z" />
35
+ <glyph unicode="4" d="M812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
36
+ <glyph unicode="5" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
37
+ <glyph unicode="6" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
38
+ <glyph unicode="7" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265z" />
39
+ <glyph unicode=":" d="M661 182l71 71l-232 233l-232 -233l71 -71l161 161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
40
+ <glyph unicode=";" d="M500 114l232 233l-71 71l-161 -161l-161 161l-71 -71zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
41
+ <glyph unicode="&#x3c;" horiz-adv-x="654" d="M308 300l346 -346l-154 -154l-500 500l500 500l154 -154z" />
42
+ <glyph unicode="&#x3e;" horiz-adv-x="654" d="M154 800l500 -500l-500 -500l-154 154l346 346l-346 346z" />
43
+ <glyph unicode="?" horiz-adv-x="586" d="M379 507q0 36 -25 61t-61 25t-61 -25t-25 -61t25 -61t61 -25t61 25t25 61zM586 507q0 -7 -1.5 -21t-17.5 -71.5t-43.5 -130t-88 -202t-142.5 -282.5q-82 153 -142.5 282t-88 204t-43 128t-17.5 73l-2 20q0 121 86 207t207 86t207 -86t86 -207z" />
44
+ <glyph unicode="@" horiz-adv-x="1360" d="M157 -42h1048v558l-494 -412h-61l-493 412v-558zM174 639l507 -423l507 423h-1014zM105 796h1152q43 0 74 -31t31 -74v-785q0 -44 -31 -74.5t-74 -30.5h-1152q-43 0 -74 30.5t-31 74.5v785q0 43 31 74t74 31z" />
45
+ <glyph unicode="A" horiz-adv-x="1113" d="M1113 507q0 -67 -26.5 -129.5t-73.5 -109.5l-448 -444l-62 61l448 444q74 72 74 178q0 89 -58.5 147.5t-147.5 58.5q-102 0 -180 -75l-493 -489q-59 -59 -59 -133q0 -57 37 -93.5t94 -36.5q75 0 134 59l377 372q53 55 53 97q0 21 -16 33t-38 12q-48 0 -86 -40l-340 -336 l-61 61l339 336q66 66 148 66q58 0 100 -37t42 -94q0 -78 -79 -159l-377 -372q-84 -84 -196 -84q-93 0 -155.5 61.5t-62.5 154.5q0 110 84 194l493 489q104 101 242 101q125 0 209.5 -84t84.5 -209z" />
46
+ <glyph unicode="B" d="M250 -75q0 -52 -36.5 -88.5t-88.5 -36.5t-88.5 36.5t-36.5 88.5t36.5 88.5t88.5 36.5t88.5 -36.5t36.5 -88.5zM660 -200h-192q0 194 -137 331t-331 137v192q179 0 331 -88.5t240.5 -240.5t88.5 -331zM1000 -200h-193q0 164 -64 314t-172 258t-257.5 172t-313.5 64v192 q203 0 388 -79.5t319 -213.5t213.5 -319t79.5 -388z" />
47
+ <glyph unicode="C" horiz-adv-x="1435" d="M1435 83q0 -111 -75.5 -192.5t-185.5 -89.5v-1h-870v1q-7 -1 -21 -1q-117 0 -200 83t-83 200q0 74 37 139t101 103q-8 32 -8 62q0 117 83 200t200 83q103 0 186 -70q43 91 128.5 145.5t185.5 54.5q144 0 246 -102t102 -246q0 -55 -16 -103q85 -29 137.5 -103t52.5 -163z " />
48
+ <glyph unicode="D" horiz-adv-x="1091" d="M91 -108h636v364h-636v-364zM818 256h182v363h-636v-182h454v-181zM1091 801v-636h-273v-364h-818v636h273v364h818z" />
49
+ <glyph unicode="F" horiz-adv-x="1391" d="M1391 419v-10l-68 -523q-5 -35 -33.5 -60.5t-64.5 -25.5h-1058q-36 0 -65.5 25.5t-33.5 60.5l-67 523q-1 3 -1 10q0 33 22.5 54.5t55.5 21.5h1235q33 0 55.5 -21.5t22.5 -54.5zM1313 583h-1235q9 48 27 67t34.5 17t34 3.5t25.5 28.5l24 72q77 29 208 29q89 0 164 -29 l25 -72q24 -23 32.5 -26t43.5 -3h485q84 0 110 -22q12 -11 22 -65z" />
50
+ <glyph unicode="H" horiz-adv-x="1500" d="M308 300l346 -346l-154 -154l-500 500l500 500l154 -154zM1000 800l500 -500l-500 -500l-154 154l346 346l-346 346z" />
51
+ <glyph unicode="I" horiz-adv-x="1360" d="M1163 7q2 -1 1 -4t-4 -3h-955h-1q-4 0 -4 4v2q18 36 135 280t144 299q1 2 3.5 2.5t3.5 -1.5l311 -386l152 122h7l1 -2q39 -50 101.5 -155t104.5 -158zM1120 480q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z M120 -80h1120v760h-1120v-760zM1360 800v-1000h-1360v1000h1360z" />
52
+ <glyph unicode="J" horiz-adv-x="1360" d="M760 120l117 -120h-636l-1 360h-240l300 320l300 -320h-240v-240h400zM1120 320h240l-300 -320l-300 320h240v240h-400l-117 120h636z" />
53
+ <glyph unicode="K" d="M613 445l-115 -115q-26 17 -56 17q-44 0 -75 -31l-175 -176q-31 -29 -31 -74q0 -44 30.5 -74.5t74.5 -30.5q25 0 49.5 12t32.5 34h238l-132 -129q-80 -78 -188 -78q-110 0 -188 78t-78 188q0 112 78 188l175 176q78 78 189 78q97 0 171 -63zM1000 534q0 -112 -78 -188 l-175 -176q-78 -78 -189 -78q-97 0 -171 63l115 115q26 -17 56 -17q44 0 75 31l175 176q31 29 31 74q0 44 -30.5 74.5t-74.5 30.5q-25 0 -49.5 -12t-32.5 -34h-238l132 129q80 78 188 78q110 0 188 -78t78 -188z" />
54
+ <glyph unicode="L" d="M681 391q0 113 -79.5 193t-192.5 80t-193 -80t-80 -193t80 -192.5t193 -79.5t192.5 79.5t79.5 192.5zM746 160l254 -255l-105 -105l-254 254q-106 -72 -232 -72q-169 0 -289 120t-120 289t120 289t289 120t289 -120t120 -289q0 -127 -72 -231z" />
55
+ <glyph unicode="M" horiz-adv-x="1360" d="M80 -120h120v80h-120v-80zM280 -120h120v80h-120v-80zM520 -120h120v80h-120v-80zM80 40h320v520h-320v-520zM720 -120h120v80h-120v-80zM80 640h120v80h-120v-80zM960 -120h120v80h-120v-80zM520 40h320v520h-320v-520zM280 640h120v80h-120v-80zM1160 -120h120v80h-120 v-80zM520 640h120v80h-120v-80zM960 40h320v520h-320v-520zM720 640h120v80h-120v-80zM960 640h120v80h-120v-80zM1160 640h120v80h-120v-80zM1360 800v-1000h-1360v1000h1360z" />
56
+ <glyph unicode="N" horiz-adv-x="1063" d="M775 800q126 0 207 -80t81 -207v-60q0 -285 -532 -653q-531 367 -531 653v60q0 127 80.5 207t206.5 80q81 0 134 -30.5t110 -98.5q58 68 111 98.5t133 30.5z" />
57
+ <glyph unicode="O" horiz-adv-x="1063" d="M946 458v50q0 58 -39 113.5t-95 61.5q-12 2 -37 2q-53 0 -83 -19.5t-72 -68.5l-89 -105l-89 105q-42 49 -72 68.5t-83 19.5q-24 0 -37 -2q-56 -6 -93.5 -60t-40.5 -115v-50q0 -30 17 -75q68 -199 398 -441q329 239 399 441q16 50 16 75zM1063 513v-60q0 -285 -532 -653 q-531 367 -531 653v60q0 127 80.5 207t206.5 80q81 0 134 -30.5t110 -98.5q58 68 111 98.5t133 30.5q126 0 207 -80t81 -207z" />
58
+ <glyph unicode="P" d="M680 100q0 -25 -17.5 -42.5t-42.5 -17.5q-26 0 -42 18l-120 120q-18 18 -18 62v320q0 25 17.5 42.5t42.5 17.5t42.5 -17.5t17.5 -42.5v-315l102 -103q18 -16 18 -42zM883 300q0 158 -112.5 270.5t-270.5 112.5q-126 0 -226 -74l2 -2q-48 -35 -83 -83l-2 2 q-74 -100 -74 -226q0 -158 112.5 -270.5t270.5 -112.5q126 0 226 74l-2 2q48 35 83 83l2 -2q74 100 74 226zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
59
+ <glyph unicode="Q" d="M585 496q0 -36 -24.5 -62t-60.5 -26t-60.5 26t-24.5 62t24.5 62t60.5 26t60.5 -26t24.5 -62zM727 217q0 26 -17.5 44.5t-42.5 18.5q-15 0 -28 -8q-70 -36 -140 -36q-69 0 -138 36q-16 7 -28 7q-25 0 -42.5 -18.5t-17.5 -44.5q0 -68 147 -97l-117 -121q-18 -18 -18 -44 t17.5 -44.5t42.5 -18.5t43 18l112 116l112 -116q18 -18 43 -18t42.5 18.5t17.5 44.5t-18 44l-117 121q147 30 147 98zM705 496q0 87 -59 150t-146 63t-146 -63t-59 -150t59 -150t146 -63t146 63t59 150zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
60
+ <glyph unicode="R" horiz-adv-x="1050" d="M1050 415q0 -15 -29 -38l-275 -200l105 -323q5 -17 5 -30q0 -24 -18 -24q-17 0 -38 17l-275 199l-275 -199q-23 -17 -39 -17q-18 0 -18 23q0 11 6 31l105 323l-275 200q-29 21 -29 37q0 23 49 23l340 -1l104 324q12 40 32 40q19 0 31 -40l106 -324l339 1q49 0 49 -22z " />
61
+ <glyph unicode="S" d="M652 300q0 60 -43 102t-103 42t-102.5 -42t-42.5 -102t42.5 -102t102.5 -42t103 42t43 102zM1000 372v-142l-185 -26q-10 -27 -21 -50l120 -157l-102 -100l-159 118q-20 -10 -51 -21l-30 -194h-143l-27 197q-21 7 -43 18l-161 -119l-101 100l121 160q-11 21 -19 46 l-199 28v142l199 28q7 21 19 45l-120 159l101 100l160 -119q15 8 47 20l28 195h143l28 -195q22 -7 48 -19l158 117l102 -100l-119 -156q13 -27 20 -48z" />
62
+ <glyph unicode="T" horiz-adv-x="925" d="M641 181v106q-33 -19 -87 -30.5t-100.5 -18.5t-90.5 -19.5t-70 -42.5t-26 -79q0 -62 40 -94.5t103 -32.5q103 0 167 55t64 156zM925 -173h-264q-15 40 -18 92q-120 -119 -306 -119q-95 0 -169 29t-121 95t-47 162q0 40 8.5 74t21 59.5t35.5 47.5t43 36.5t53.5 27.5 t57.5 20.5t64 15t63.5 11t65.5 8.5q50 6 100 15q24 4 37 7t34 11t32 17t19.5 25.5t8.5 38.5q0 126 -170 126q-87 0 -130.5 -31.5t-56.5 -113.5h-244q6 90 44 154t100.5 99t134.5 50.5t159 15.5q68 0 124.5 -7.5t111.5 -28.5t92.5 -54.5t60.5 -89t23 -128.5v-408 q0 -64 0.5 -91t8.5 -77.5t24 -88.5z" />
63
+ <glyph unicode="U" horiz-adv-x="1070" d="M1070 -137q0 -21 -2 -63h-1067q0 10 -0.5 31t-0.5 32q0 30 1 37q12 49 64 84.5t111.5 53t125.5 47t97 65.5q17 22 17 38q0 22 -11 73q-4 21 -10.5 36.5t-16 33t-15.5 31.5q-15 35 -33 132q-6 38 -6 75q0 105 53.5 168t157.5 63t157.5 -63t53.5 -168q0 -31 -7 -75 q-14 -89 -32 -132q-6 -14 -15.5 -31.5t-16 -33t-10.5 -36.5q-11 -51 -11 -73q0 -18 17 -38q31 -36 97 -65.5t125 -47t111 -53t64 -84.5q2 -8 2 -37z" />
64
+ <glyph unicode="V" horiz-adv-x="857" d="M429 -9q111 0 193 76t91 186h143q-9 -170 -133 -287t-294 -117q-158 0 -279 102l-150 -150v405h405l-153 -153q78 -62 177 -62zM707 651l150 150v-405h-405l153 153q-77 62 -176 62q-111 0 -193.5 -76t-91.5 -186h-143q9 170 133 287t295 117q157 0 278 -102z" />
65
+ <glyph unicode="W" horiz-adv-x="1113" d="M626 5q0 29 -20.5 49t-49.5 20q-28 0 -48.5 -20t-20.5 -49t20.5 -49.5t48.5 -20.5q29 0 49.5 20.5t20.5 49.5zM626 392v146h-139v-146q0 -14 2 -26.5t5.5 -28t5.5 -26.5l26 -162h59l27 162q2 10 6 26t6 28.5t2 26.5zM1113 -119q0 -39 -27.5 -59.5t-67.5 -20.5h-923 q-40 0 -67.5 21t-27.5 59q0 30 18 61l461 804q33 55 78 55t76 -55l462 -805q18 -32 18 -60z" />
66
+ <glyph unicode="X" horiz-adv-x="1188" d="M746 53l106 -107q-156 -146 -338 -146q-217 0 -365.5 143.5t-148.5 358.5q0 135 68 250t183.5 181.5t250.5 66.5q184 0 349 -148l-105 -106q-114 104 -243 104q-149 0 -251.5 -104t-102.5 -254q0 -140 105.5 -241t247.5 -101q131 0 244 103zM912 565l276 -266l-276 -264 v177h-413v176h413v177z" />
67
+ <glyph unicode="Z" horiz-adv-x="1217" d="M870 300q0 27 -19.5 46t-46.5 19h-391q-27 0 -46 -19t-19 -46t19 -46t46 -19h391q27 0 46.5 19t19.5 46zM1174 452v-609q0 -17 -13 -30t-31 -13h-1043q-18 0 -31 13t-13 30v609q0 18 13 31t31 13h1043q18 0 31 -13t13 -31zM1217 757v-131q0 -18 -12.5 -30.5t-30.5 -12.5 h-1131q-17 0 -30 12.5t-13 30.5v131q0 17 13 30t30 13h1131q18 0 30.5 -13t12.5 -30z" />
68
+ <glyph unicode="[" horiz-adv-x="529" d="M265 35l-265 530h529z" />
69
+ <glyph unicode="\" d="M726 -9l-535 535q-74 -100 -74 -226q0 -158 112.5 -270.5t270.5 -112.5q126 0 226 74zM883 300q0 158 -112.5 270.5t-270.5 112.5q-126 0 -226 -74l535 -535q74 100 74 226zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182 t251 67t251 -67t182 -182t67 -251z" />
70
+ <glyph unicode="]" horiz-adv-x="529" d="M529 300l-529 -265v530z" />
71
+ <glyph unicode="_" horiz-adv-x="1360" d="M160 277l317 135v96l-317 134v-99l209 -84l-209 -83v-99zM522 200h318v77h-318v-77zM1360 800v-1000h-1360v1000h1360z" />
72
+ <glyph unicode="`" d="M848 241h-142v118h142q-19 110 -99 190t-190 99v-142h-118v142q-110 -19 -190 -99t-99 -190h142v-118h-142q19 -110 99 -190t190 -99v142h118v-142q110 19 190 99t99 190zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67 t251 -67t182 -182t67 -251z" />
73
+ <glyph unicode="a" horiz-adv-x="760" d="M160 -40h440v560h-120v120h-320v-680zM560 800l200 -200l-1 -800h-759v1000h560z" />
74
+ <glyph unicode="b" horiz-adv-x="989" d="M158 108h671v316h-118v118h-553v-434zM987 503v-553h-987v750h789z" />
75
+ <glyph unicode="c" horiz-adv-x="1137" d="M1137 700v-532q0 -41 -29.5 -70.5t-70.5 -29.5h-168v-268l-267 268h-502q-41 0 -70.5 29.5t-29.5 70.5v532q0 41 29.5 70.5t70.5 29.5h937q41 0 70.5 -29.5t29.5 -70.5z" />
76
+ <glyph unicode="d" horiz-adv-x="1179" d="M1179 336q0 -126 -79 -233.5t-215 -169.5t-296 -62q-122 0 -234 39l2 -3l-357 -107q44 59 70.5 126.5t31.5 105.5l4 38q-106 120 -106 266q0 126 79 233t214.5 169t295.5 62t296 -62t215 -169t79 -233z" />
77
+ <glyph unicode="e" horiz-adv-x="1179" d="M429 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21q30 0 51 21t21 51zM679 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21q30 0 51 21t21 51zM929 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21 q30 0 51 21t21 51zM1179 336q0 -126 -79 -233.5t-215 -169.5t-296 -62q-122 0 -234 39l2 -3l-357 -107q44 59 70.5 126.5t31.5 105.5l4 38q-106 120 -106 266q0 126 79 233t214.5 169t295.5 62t296 -62t215 -169t79 -233z" />
78
+ <glyph unicode="f" d="M813 552l20 118q-43 15 -143 15q-79 0 -123 -58q-26 -34 -26 -119v-6v-36v-36h-79v-115h79v-400h149v400h118l9 115h-127v36v42v12q0 42 59 42q31 0 64 -10zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62 z" />
79
+ <glyph unicode="g" d="M468 121q0 -44 -43 -71t-90 -27t-85.5 24t-38.5 68q0 48 41 72t92 24q46 0 85 -23.5t39 -66.5zM413 466q0 -35 -15.5 -60t-48.5 -25q-43 0 -68.5 45.5t-25.5 91.5q0 35 15.5 60t48.5 25q43 0 68.5 -45.5t25.5 -91.5zM548 636q0 11 -22 11q-3 0 -52 0.5t-72.5 0t-60.5 -4 t-59 -10.5q-58 -19 -92.5 -62t-34.5 -102q0 -70 44 -113t114 -42h6q0 -24 2 -35t5 -11.5t7.5 -5t8.5 -14.5q-55 0 -102.5 -12t-85.5 -48t-38 -91q0 -77 61.5 -114.5t143.5 -37.5q92 0 159.5 45.5t67.5 133.5q0 38 -19.5 73t-43.5 55t-43.5 38.5t-19.5 28.5q0 11 15 25.5 t33.5 29t33.5 46.5t15 74q0 76 -44 107q1 0 15.5 1.5t20.5 3t17 5t15.5 10t4.5 15.5zM763 473h121v60h-121v122h-60v-122h-122v-60h122v-121h60v121zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
80
+ <glyph unicode="h" horiz-adv-x="1185" d="M501 801v-319q110 -15 203.5 -45t159 -68t118.5 -82.5t86 -90.5t57 -90.5t35 -83.5t17.5 -69t6.5 -47l1 -17q-6 11 -19 29.5t-67.5 63t-124.5 76.5t-196.5 52t-276.5 7v-316l-501 499z" />
81
+ <glyph unicode="i" horiz-adv-x="1550" d="M866 801v-319q110 -15 203.5 -45t159 -68t118.5 -82.5t86 -90.5t57 -90.5t35 -83.5t17.5 -69t7.5 -47v-17q-6 11 -19 29.5t-67.5 63t-124.5 76.5t-196.5 52t-276.5 7v-316l-501 499zM501 801v-182l-319 -319l319 -318v-181l-501 499z" />
82
+ <glyph unicode="j" horiz-adv-x="1185" d="M0 482h684v319l501 -501l-501 -499v316h-684v365z" />
83
+ <glyph unicode="k" d="M544 348h183l-1 119h-184l2 181h-112q-3 -68 -37 -118q-3 -5 -9 -16t-11.5 -19t-10.5 -12q-19 -15 -76 -15h-15v-120l91 -3v-303q0 -39 14.5 -65t41 -37.5t50 -15t55.5 -3.5h45q50 0 81 3.5t42.5 7.5t26.5 12v128v0q-54 -35 -105 -35q-27 0 -49 13t-22 25v273zM1000 712 v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
84
+ <glyph unicode="l" d="M200 0h128v419h-128v-419zM332 535q0 28 -18.5 46.5t-48.5 18.5t-49 -18.5t-19 -46.5t18.5 -46.5t47.5 -18.5q32 0 51 18.5t18 46.5zM668 0h129v247q0 89 -41 135t-107 46q-47 0 -79.5 -21t-48.5 -47h-2l-6 59h-111q3 -114 3 -134v-285h128v241q0 21 4 33q20 49 66 49 q65 0 65 -91v-232zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
85
+ <glyph unicode="m" d="M880 547q0 93 -112 93q-74 0 -139 -53t-89 -126q20 3 38 1t32 -7t22 -19.5t8 -38.5q0 -43 -38 -119t-75 -76q-19 0 -36 19q-24 25 -38 94.5t-20 134.5t-31 117t-70 52q-37 0 -80 -26t-104.5 -80.5t-67.5 -58.5v-5q5 -5 10.5 -14.5t12 -14t18.5 -4.5q11 0 33 7t34 7 q26 0 43 -40q5 -13 12.5 -37.5t10.5 -32.5q14 -40 37 -130l6.5 -26l8 -32t9.5 -32.5t12.5 -35t14 -31.5t17.5 -29.5t20.5 -22t25 -16.5t28.5 -5q67 0 145 65t138.5 156t105 182.5t55.5 149.5q3 18 3 34zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
86
+ <glyph unicode="n" d="M89 349l150 -107l-150 -106v213zM1000 14v-213h-669v213h669zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
87
+ <glyph unicode="o" d="M239 349v-213l-150 106zM1000 14v-213h-669v213h669zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
88
+ <glyph unicode="p" d="M239 -93q0 -31 -22.5 -53.5t-53.5 -22.5t-53.5 22.5t-22.5 53.5q0 32 22.5 54.5t53.5 22.5t53.5 -22.5t22.5 -54.5zM239 242q0 -32 -22.5 -54t-53.5 -22t-53.5 22t-22.5 54t22.5 54t53.5 22t53.5 -22t22.5 -54zM1000 14v-213h-669v213h669zM239 577q0 -31 -22.5 -53.5 t-53.5 -22.5t-53.5 22.5t-22.5 53.5t22.5 53.5t53.5 22.5t53.5 -22.5t22.5 -53.5zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
89
+ <glyph unicode="q" d="M233 -128q0 -29 -21 -45.5t-50 -16.5q-32 0 -51.5 17.5t-19.5 48.5v3h38q0 -37 32 -37q14 0 23 8t9 22t-10 21.5t-25 6.5h-9v27q40 -2 40 24q0 11 -7.5 17.5t-19.5 6.5q-29 0 -29 -33h-37q1 30 18.5 47t47.5 17q26 0 45 -13.5t19 -38.5q0 -13 -7.5 -24t-19.5 -14 q34 -8 34 -44zM232 175v-33h-141q1 28 17 48.5t34.5 30t34 23.5t15.5 30q0 12 -7.5 19.5t-20.5 7.5q-29 0 -31 -41h-37q0 34 18 54.5t52 20.5q28 0 46.5 -16t18.5 -43q0 -25 -16.5 -41t-40 -30.5t-33.5 -29.5h91zM1000 14v-213h-669v213h669zM196 662v-192h-42v125h-46v29 q49 0 56 38h32zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
90
+ <glyph unicode="r" d="M324 35q0 37 -26 63t-63 26q-36 0 -62 -26t-26 -63q0 -36 26 -62t62 -26q37 0 63 26t26 62zM477 -53h136q0 126 -62.5 233.5t-170 170t-233.5 62.5v-135q136 0 233 -97q97 -95 97 -234zM717 -53h136q0 143 -56 274t-150.5 225.5t-225.5 150.5t-274 56v-135 q154 0 285.5 -76.5t208 -208t76.5 -286.5zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
91
+ <glyph unicode="s" d="M783 175q0 50 -22 86.5t-57.5 56.5t-78.5 34t-86 22.5t-78.5 18t-57.5 25.5t-22 39q0 34 36.5 49.5t75.5 15.5q40 0 66.5 -12.5t38.5 -30t21.5 -35t25 -30t40.5 -12.5q28 0 48.5 19t20.5 46t-15 54q-30 55 -96.5 80t-140.5 25q-46 0 -89.5 -9t-84.5 -28.5t-66 -56.5 t-25 -87q0 -66 40.5 -106.5t99 -57t116.5 -28.5t98.5 -33.5t40.5 -58.5q0 -42 -42 -62.5t-90 -20.5q-45 0 -74 15t-41.5 36t-22.5 42.5t-26 36.5t-42 15q-28 0 -49 -17.5t-21 -44.5q0 -42 31 -85q72 -104 249 -104q50 0 97 11t89 33.5t67.5 63.5t25.5 95zM1000 73 q0 -113 -81.5 -193t-195.5 -80q-69 0 -130 32q-46 -8 -88 -8q-196 0 -336.5 137.5t-140.5 333.5q0 42 10 94q-38 64 -38 138q0 113 81.5 193t195.5 80q81 0 147 -42q38 7 81 7q129 0 238.5 -62.5t174 -170.5t64.5 -237q0 -56 -11 -101q29 -58 29 -121z" />
92
+ <glyph unicode="t" horiz-adv-x="1003" d="M1003 300q-43 -48 -120 -46q-37 -152 -177.5 -244t-304.5 -92q-121 0 -225.5 53t-175.5 151q75 -72 181 -72q113 0 191 83q-24 -4 -48 7.5t-24 34.5q0 27 41 45q-40 -5 -73 11t-51 51q22 25 69 28q-98 24 -112 102q27 8 53 8h8q-37 20 -62 51.5t-24 69.5l1 8 q155 -59 257 -116q30 -17 76 -63q32 87 67.5 150.5t89.5 98.5q-1 -16 -15 -31q33 32 78 38q-3 -23 -53 -41q7 2 25.5 9.5t33 11.5t25.5 4q15 0 15 -11q0 -8 -16.5 -16t-42.5 -15.5t-28 -8.5q81 8 141.5 -51.5t76.5 -142.5q18 -6 36 -6q50 0 83 19q-13 -30 -43.5 -47 t-66.5 -19q34 -15 83 -15q16 0 31 3z" />
93
+ <glyph unicode="u" horiz-adv-x="963" d="M741 -199v1000h222v-1000h-222zM593 -199h-223v667h223v-667zM222 -199h-222v333h222v-333z" />
94
+ <glyph unicode="v" d="M605 187q0 -12 -3 -22.5t-7 -18t-12.5 -13.5t-14.5 -10t-18 -6.5t-18.5 -4t-21 -2t-20 -0.5h-20.5h-18h-22v150h51h25.5t23 -1t24.5 -3.5t19 -8t18 -13t9.5 -19.5t4.5 -28zM567 430q0 -20 -7 -33t-15.5 -20t-26 -10t-27.5 -3.5t-31 -0.5h-30v127h39q18 0 27.5 -0.5 t25.5 -3.5t24 -9t14.5 -18t6.5 -29zM760 184q0 58 -32 95.5t-91 49.5v3q39 16 61 51t22 78q0 46 -19.5 75.5t-55.5 42.5t-68.5 17t-77.5 4h-219v-600h240q47 0 88 9.5t76 29.5t55.5 57.5t20.5 87.5zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
95
+ <glyph unicode="w" horiz-adv-x="582" d="M582 388v-356q0 -32 -32 -32h-518q-32 0 -32 32v356q0 33 32 33h389v194q0 51 -37 74t-91 23q-53 0 -92 -25.5t-39 -76.5v-125h-97v128h1q9 87 74 140.5t153 53.5t151 -63t71 -151h1l2 -172q4 0 14.5 0.5t15 0t13 -2t12 -5t6.5 -10t3 -16.5z" />
96
+ <glyph unicode="x" horiz-adv-x="582" d="M421 550q0 51 -37 74t-91 23q-53 0 -92 -25.5t-39 -76.5v-124h259v129zM582 388v-356q0 -32 -32 -32h-518q-32 0 -32 32v356q0 10 3 16.5t7 10t12 5t13 2t15.5 0t14.5 -0.5v127h1q9 87 74 140.5t153 53.5t151 -62.5t71 -151.5h1l2 -107q4 0 14.5 0.5t15 0t13 -2t12 -5 t6.5 -10t3 -16.5z" />
97
+ <glyph unicode="y" d="M611 90v-133q0 -21 -18 -21q-14 0 -25 11v158q10 10 22 10q21 0 21 -25zM802 87v-28h-45v28q0 27 23 27q22 0 22 -27zM258 192h61v50h-179v-50h60v-293h58v293zM414 -101h51v253h-51v-192q-17 -19 -31 -19q-13 0 -13 17v194h-52v-213q0 -44 36 -44q30 0 60 32v-28z M664 -48v140q0 63 -50 63q-25 0 -46 -23v110h-52v-343h52v20q22 -23 49 -23q47 0 47 56zM855 -29v19h-53q0 -2 0.5 -13t0 -15.5t-2.5 -11.5t-7 -10t-14 -3q-10 0 -15.5 6t-6 12t-0.5 17v48h98v64q0 35 -19 55t-54 20q-34 0 -56.5 -20.5t-22.5 -54.5v-113q0 -36 19.5 -57.5 t55.5 -21.5q77 0 77 79zM926 62q0 -49 -6 -145q-4 -50 -38.5 -79.5t-84.5 -31.5q-99 -5 -297 -5q-199 0 -297 5q-50 2 -84.5 31.5t-38.5 79.5q-6 96 -6 145t6 145q4 50 38.5 79.5t84.5 31.5q98 5 297 5t297 -5q50 -2 84.5 -31.5t38.5 -79.5q6 -96 6 -145zM315 801h73 l-55 -165q-4 -12 -10 -27.5t-10.5 -28t-7.5 -27.5v-176h-72v168q-2 12 -29 85l-57 171h73l46 -169h5zM505 450v171q0 10 -9 16.5t-19 6.5t-18 -6.5t-8 -16.5v-171q0 -26 26 -26q28 0 28 26zM570 617v-162q0 -42 -25 -64t-68 -22q-41 0 -66.5 23.5t-25.5 63.5v162 q0 39 27.5 59.5t67.5 20.5q38 0 64 -22t26 -59zM807 690v-313h-64v35q-37 -39 -74 -39q-45 0 -45 56v261h64v-240q0 -21 17 -21t38 24v237h64z" />
98
+ <glyph unicode="z" d="M1000 235v-9l-426 -426h-565l-9 9v565l426 426h9l139 -139zM574 384v277h-277l-10 -9v-555l10 -10h555l9 10v268l-9 9h-268z" />
99
+ <glyph unicode="{" horiz-adv-x="471" d="M235 182l-235 236h471z" />
100
+ <glyph unicode="}" horiz-adv-x="471" d="M471 182h-471l235 236z" />
101
+ <glyph unicode="~" d="M412 360h103l-162 265l-162 -265h103v-294h118v294zM647 7l162 236h-103v293h-118v-293h-103zM1000 301q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
102
+ <glyph unicode="&#xb2;" d="M1000 -39v-160h-1000v160h1000zM1000 241v-160h-1000v160h1000zM1000 521v-160h-1000v160h1000zM1000 801v-160h-1000v160h1000z" />
103
+ <glyph unicode="&#xb3;" d="M120 -79h200v200h-200v-200zM440 241v-440h-440v440h440zM1000 -39v-160h-440v160h440zM120 481h200v200h-200v-200zM440 801v-440h-440v440h440zM1000 241v-160h-440v160h440zM1000 521v-160h-440v160h440zM1000 801v-160h-440v160h440z" />
104
+ <glyph unicode="&#xb9;" d="M120 -79h200v200h-200v-200zM440 241v-440h-440v440h440zM680 -79h200v200h-200v-200zM1000 241v-440h-440v440h440zM120 481h200v200h-200v-200zM440 801v-440h-440v440h440zM680 481h200v200h-200v-200zM1000 801v-440h-440v440h440z" />
105
+ <glyph unicode="&#xd7;" d="M661 68l71 71l-161 161l161 161l-71 71l-161 -161l-161 161l-71 -71l161 -161l-161 -161l71 -71l161 161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
106
+ <glyph unicode="&#xe000;" horiz-adv-x="740" d="M0 740h740v-740h-740v740z" />
107
+ </font>
108
+ </defs></svg>
@@ -1,2 +1,5 @@
1
1
  require "compass"
2
+
3
+ require File.join(File.dirname(__FILE__), 'compass-recipes', 'sass_extensions')
4
+
2
5
  Compass::Frameworks.register("recipes", :path => "#{File.dirname(__FILE__)}/..")
@@ -0,0 +1,13 @@
1
+ ##
2
+ # Sass extensions for Compass Recipes
3
+ ##
4
+
5
+ %w(_error background_noise gravatar highres math).each do |lib|
6
+ require File.join(File.dirname(__FILE__), 'sass_extensions', lib)
7
+ end
8
+
9
+ module Sass::Script::Functions
10
+ def value(number)
11
+ Sass::Script::Number.new(number.value, ['']);
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ ##
2
+ # Helper to throw error message
3
+ ##
4
+
5
+ module Sass::Script::Functions
6
+ def error(message)
7
+ raise Sass::SyntaxError, message.value
8
+ end
9
+ end
@@ -0,0 +1,48 @@
1
+ ##
2
+ # Sass implementation of the Noisy jquery plugin:
3
+ # https://github.com/DanielRapp/Noisy
4
+ # by @philippbosch
5
+ # https://gist.github.com/1021332
6
+ ##
7
+
8
+ require "chunky_png"
9
+ require "base64"
10
+
11
+ module Sass::Script::Functions
12
+ def background_noise(kwargs = {})
13
+ opts = {}
14
+ Sass::Util.map_hash({
15
+ "intensity" => [0..1, "", :Number, Sass::Script::Number.new(0.5) ],
16
+ "opacity" => [0..1, "", :Number, Sass::Script::Number.new(0.12)],
17
+ "size" => [1..512, "px", :Number, Sass::Script::Number.new(200) ],
18
+ "monochrome" => [[true, false], "", :Bool, Sass::Script::Bool.new(true) ]
19
+ }) do |name, (range, units, type, default)|
20
+
21
+ if val = kwargs.delete(name)
22
+ assert_type val, type, name
23
+ if range && !range.include?(val.value)
24
+ raise ArgumentError.new("$#{name}: Amount #{val} must be between #{range.first}#{units} and #{range.last}#{units}")
25
+ end
26
+ else
27
+ val = default
28
+ end
29
+ opts[name] = val
30
+ end
31
+
32
+ image = ChunkyPNG::Image.new(opts["size"].to_i, opts["size"].to_i)
33
+
34
+ for i in (0..(opts["intensity"].to_s.to_f * (opts["size"].to_i**2)))
35
+ x = rand(opts["size"].to_i)
36
+ y = rand(opts["size"].to_i)
37
+ r = rand(255)
38
+ a = rand(255 * opts["opacity"].to_s.to_f)
39
+ color = opts["monochrome"] ? ChunkyPNG::Color.rgba(r, r, r, a) : ChunkyPNG::Color.rgba(r, rand(255), rand(255), a)
40
+ image.set_pixel(x, y, color)
41
+ end
42
+
43
+ data = Base64.encode64(image.to_blob).gsub("\n", "")
44
+ Sass::Script::String.new("url('data:image/png;base64,#{data}')")
45
+ end
46
+
47
+ declare :background_noise, [], :var_kwargs => true
48
+ end
@@ -0,0 +1,60 @@
1
+ # adatpted from https://github.com/woods/gravatar-plugin/blob/master/lib/gravatar.rb
2
+
3
+ require 'digest/md5'
4
+ require 'cgi'
5
+
6
+ module Sass::Script::Functions
7
+
8
+ def gravatar_url(kwargs = {})
9
+ opts = {}
10
+ Sass::Util.map_hash({
11
+
12
+ 'email' => [:String, nil],
13
+
14
+ # The URL of a default image to display if the given email address does
15
+ # not have a gravatar.
16
+ 'default' => [:String, nil],
17
+
18
+ # The default size in pixels for the gravatar image (they're square).
19
+ 'size' => [:Number, 48],
20
+
21
+ # The maximum allowed MPAA rating for gravatars. This allows you to
22
+ # exclude gravatars that may be out of character for your site.
23
+ 'rating' => [:String, 'PG'],
24
+
25
+ # Whether or not to display the gravatars using HTTPS instead of HTTP
26
+ 'ssl' => [:Bool, Sass::Script::Bool.new(false)],
27
+
28
+ }) do |name, (type, default)|
29
+
30
+ val = kwargs.delete(name)
31
+ if val
32
+ assert_type val, type, name
33
+ else
34
+ val = default
35
+ end
36
+ opts[name] = val
37
+ end
38
+
39
+ email_hash = Digest::MD5::hexdigest(opts['email'].to_s)
40
+
41
+ if opts['ssl'].value
42
+ url = "https://secure.gravatar.com/avatar/#{email_hash}.png"
43
+ else
44
+ url = "http://www.gravatar.com/avatar/#{email_hash}.png"
45
+ end
46
+
47
+ gravatar_opts = []
48
+ ['rating', 'size', 'default'].each do |opt|
49
+ unless opts[opt].nil?
50
+ value = CGI::escape(opts[opt].to_s)
51
+ gravatar_opts << [opt, value].join('=')
52
+ end
53
+ end
54
+
55
+ url << "?#{gravatar_opts.join('&')}" unless gravatar_opts.empty?
56
+ Sass::Script::String.new("url(" + url + ")");
57
+ end
58
+
59
+ declare :gravatar_url, [], :var_kwargs => true
60
+ end
@@ -0,0 +1,31 @@
1
+ ##
2
+ #
3
+ # High res helper for Compass
4
+ #
5
+ # Copyright 2012, Joe Lambert.
6
+ # Free to use under the MIT license.
7
+ # http://joelambert.mit-license.org/
8
+ #
9
+ ##
10
+
11
+ module Sass::Script::Functions
12
+
13
+ def file_exists(filename)
14
+ if Compass.configuration.images_path
15
+ path = File.join(Compass.configuration.images_path, filename.value)
16
+ else
17
+ path = File.join(Compass.configuration.project_path, filename.value)
18
+ end
19
+ Sass::Script::Bool.new(File.exists?(path))
20
+ end
21
+
22
+ def highres_filename(filename, coefficient)
23
+ parts = filename.value.split('.')
24
+ ext = parts.pop
25
+ f = parts.pop
26
+ f += "@" + coefficient + "x"
27
+ parts.push(f)
28
+ parts.push(ext)
29
+ Sass::Script::String.new(parts.join('.'))
30
+ end
31
+ end
@@ -0,0 +1,8 @@
1
+ module Sass::Script::Functions
2
+ def pow(number, power)
3
+ Sass::Script::Number.new(number.value ** power.value)
4
+ end
5
+ def sqrt(number)
6
+ Sass::Script::Number.new(Math.sqrt(number.value))
7
+ end
8
+ end
@@ -1,9 +1,13 @@
1
+ @import "recipes/google-webfont";
2
+ @import "recipes/background";
3
+ @import "recipes/base";
4
+ @import "recipes/color";
1
5
  @import "recipes/effect";
2
- @import "recipes/enhancement";
3
6
  @import "recipes/form";
4
7
  @import "recipes/layout";
5
- @import "recipes/pattern";
8
+ @import "recipes/media-queries";
6
9
  @import "recipes/shadow";
7
10
  @import "recipes/shape";
8
11
  @import "recipes/shared";
9
- @import "recipes/ui";
12
+ @import "recipes/ui";
13
+ @import "recipes/webfont-icon";
@@ -0,0 +1,3 @@
1
+ @import "recipes/animation/animation";
2
+ @import "recipes/animation/keyframes";
3
+ @import "recipes/animation/timing-function";
@@ -0,0 +1,15 @@
1
+ @import "recipes/background/noise";
2
+ @import "recipes/background/gradients";
3
+ @import "recipes/background/blueprint-grid";
4
+ @import "recipes/background/radial-overlay";
5
+ @import "recipes/background/tartan";
6
+ @import "recipes/background/carbon-fiber";
7
+ @import "recipes/background/stripes";
8
+ @import "recipes/background/cicada";
9
+ @import "recipes/background/tablecloth";
10
+ @import "recipes/background/lined-paper";
11
+ @import "recipes/background/madras";
12
+ @import "recipes/background/checkerboard";
13
+ @import "recipes/background/houndstooth";
14
+ @import "recipes/background/polka-dot";
15
+ @import "recipes/background/rainbow";
@@ -0,0 +1 @@
1
+ @import "recipes/base/normalize";
@@ -0,0 +1,171 @@
1
+ /**
2
+ *
3
+ * @author David Kaneda - http://www.davidkaneda.com
4
+ *
5
+ */
6
+
7
+ @import "color/name";
8
+
9
+ /**
10
+ * @class Color
11
+ */
12
+
13
+ /**
14
+ * Returns the brightness (out of 100) of a specified color.
15
+ * @todo explain why this is useful
16
+ * @param {color} $color The color you want the brightness value of
17
+ * @return {measurement}
18
+ */
19
+ @function brightness($color) {
20
+ $r: red($color) / 255 * 100;
21
+ $g: green($color) / 255 * 100;
22
+ $b: blue($color) / 255 * 100;
23
+
24
+ $brightness: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
25
+ @return $brightness;
26
+ }
27
+
28
+ // @private
29
+ @function color-difference($c1, $c2) {
30
+ @return (max(red($c1), red($c2)) - min(red($c1), red($c2))) + (max(green($c1), green($c2)) - min(green($c1), green($c2))) + (max(blue($c1), blue($c2)) - min(blue($c1), blue($c2)));
31
+ }
32
+
33
+ // @private
34
+ @function color-luminance($value) {
35
+ @if $value <= 0.03928 {
36
+ @return $value / 12.92;
37
+ } @else {
38
+ @return ($value + 0.055)/1.055 * ($value + 0.055)/1.055;
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Returns the luminosity for a specified color
44
+ * @todo explain why this is useful
45
+ * @param {color} The color to check
46
+ * @return {measurement}
47
+ */
48
+ @function luminosity($color) {
49
+ $r: color-luminance(red($color) / 255);
50
+ $g: color-luminance(green($color) / 255);
51
+ $b: color-luminance(blue($color) / 255);
52
+
53
+ @return 0.2126 * $r + 0.7152 * $g + 0.0722 * $b;
54
+ }
55
+
56
+ @function contrast-ratio($c1, $c2) {
57
+ $l1: luminosity($c1);
58
+ $l2: luminosity($c2);
59
+
60
+ @if $l2 > $l1 {
61
+ @return $l2 / $l1;
62
+ } @else {
63
+ @return $l1 / $l2;
64
+ }
65
+ }
66
+
67
+ @function get-color-mode($color) {
68
+ @if brightness($color) > 50 {
69
+ @return light;
70
+ } @else {
71
+ @return dark;
72
+ }
73
+ }
74
+
75
+ @function color-offset($color, $contrast: 85%, $mode: $color-mode, $inverse: false) {
76
+ $flat_color: check-opacity($color);
77
+
78
+ @if $mode == inverse {
79
+ $mode: reverse-color-mode($color-mode);
80
+ }
81
+
82
+ @if $inverse == true {
83
+ $mode: reverse-color-mode($mode);
84
+ }
85
+
86
+ @if ($mode == light) {
87
+ @return rgba(lighten($flat_color, $contrast), opacity($color));
88
+ } @else if ($mode == dark) {
89
+ @return rgba(darken($flat_color, $contrast), opacity($color));
90
+ } @else {
91
+ @debug $mode " is not a valid color mode. Use light, dark, or inverse.";
92
+ @return white;
93
+ }
94
+ }
95
+
96
+ @function reverse-color-mode($mode) {
97
+ @if $mode == dark {
98
+ @return light;
99
+ } @else {
100
+ @return dark;
101
+ }
102
+ }
103
+
104
+ @function check-opacity($color) {
105
+ @if (opacity($color) == 0) {
106
+ $color: opacify($color, 1);
107
+ }
108
+ @if $color == transparent {
109
+ $color: opacify($color, 1);
110
+ }
111
+ @return $color;
112
+ }
113
+
114
+ @function color-by-background($bg-color, $contrast: $default-text-contrast) {
115
+ $bg-color: check-opacity($bg-color);
116
+ $tmpmode: get-color-mode($bg-color);
117
+
118
+ @return color-offset($bg-color, $contrast, $tmpmode, $inverse: true);
119
+ }
120
+
121
+ @function get-inset-offset($mode){
122
+ @if $mode == light {
123
+ @return 1px;
124
+ } @else {
125
+ @return -1px;
126
+ }
127
+ }
128
+
129
+ @function safe-saturate($color, $amount) {
130
+ @if saturation($color) > 0 {
131
+ @return saturate($color, $amount);
132
+ } @else {
133
+ @return $color;
134
+ }
135
+ }
136
+
137
+ @mixin color-by-background($bg-color, $contrast: $default-text-contrast, $default-color: false, $inset-text: true) {
138
+ @if $default-color {
139
+ color: color-by-background(hsla(hue($default-color), saturation($default-color), lightness($bg-color), opacity($bg-color)), $contrast);
140
+ } @else {
141
+ color: color-by-background($bg-color, $contrast);
142
+ }
143
+
144
+ @if $inset-text {
145
+ @include inset-by-background($bg-color);
146
+ }
147
+ }
148
+
149
+ @mixin inset-by-background($bg-color, $contrast: 10%, $box: false){
150
+ $bg-color: check-opacity($bg-color);
151
+ $offset: get-inset-offset(get-color-mode($bg-color));
152
+
153
+ @if ($box == true) {
154
+ @include box-shadow(color-offset($bg-color, $contrast, $mode: get-color-mode($bg-color)) 0 $offset 0);
155
+ }
156
+
157
+ @include text-shadow(color-offset($bg-color, $contrast, $mode: get-color-mode($bg-color)) 0 $offset 0);
158
+ }
159
+
160
+ $base-color: blue !default;
161
+ $neutral-color: #ccc !default;
162
+ $highlight-color: darken(safe-saturate($base-color, 15), 5) !default;
163
+
164
+ $base-gradient: matte !default;
165
+ $default-text-contrast: 85% !default;
166
+ $color-mode: get-color-mode($neutral-color) !default;
167
+
168
+ // @debug color-difference(#95419F, #0FFF90);
169
+ // @debug brightness(#cbea0d) - brightness(#ea850d);
170
+ // @debug contrast-ratio(#95419F, #0FFF90);
171
+ // @debug brightness(#E0F200);