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,6 @@
1
+ @mixin user-select($select) {
2
+ $select: unquote($select);
3
+ @include experimental(user-select, $select,
4
+ -moz, -webkit, not -o, not -ms, -khtml, official
5
+ );
6
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Buttons mixins
3
+ *
4
+ * @author Maxime Thirouin maxime.thirouin@gmail.com @MoOx
5
+ *
6
+ * @link http://webdesign.tutsplus.com/articles/design-theory/principles-for-successful-button-design/
7
+ */
8
+ @import "recipes/ui/button/state-selectors";
9
+ @import "recipes/ui/button/style/default";
10
+ /*
11
+ * source for code
12
+ http://lab.simurai.com/css/buttons/
13
+ http://brandonmathis.com/projects/fancy-buttons/demo/
14
+ https://github.com/ubuwaits/css3-buttons/blob/gh-pages/scss/buttons.scss
15
+ http://nicolasgallagher.com/lab/css3-animated-button/
16
+
17
+ * source for predefined buttons
18
+ http://forrst.com/posts/CSS_Button_Contest-5J1
19
+ http://houseofbuttons.tumblr.com/
20
+ http://ubuwaits.github.com/css3-buttons/
21
+ https://github.com/maxart/CSS3-Push-Button/blob/master/style.css
22
+ */
23
+
24
+ /*
25
+ A button is defined by multiples attributes:
26
+ typography
27
+ colors
28
+ shape (round, oval, brackets, skew, back, knife, shield, drop, morph)
29
+ size (+predefined: xs, s, m, l, xl, xxl)
30
+ hover/active/disabled effect
31
+ material (glossy, glass, texture ?)
32
+ */
33
+
34
+ // here are predefined values (default for all buttons)
35
+ //$ui-button-xxx: value;
36
+
37
+ @mixin ui-button(
38
+ // color
39
+ $color: #e8e8e8,
40
+
41
+ // shape & material
42
+ $style: default,
43
+ //
44
+
45
+ // typo
46
+ $font-weight: bold,
47
+ // size
48
+ $margin: 0,
49
+ $padding: .2em .4em,
50
+
51
+ $outline: none,
52
+ $vertical-align: middle,
53
+ $white-space: nowrap,
54
+
55
+ // this is a button right ?
56
+ $cursor: pointer,
57
+ // disable text selection
58
+ $user-select: none
59
+ )
60
+ {
61
+ font-weight: $font-weight;
62
+ margin: $margin;
63
+ padding: $padding;
64
+
65
+ outline: $outline;
66
+ vertical-align: $vertical-align;
67
+ white-space: $white-space;
68
+
69
+ cursor: $cursor;
70
+
71
+ -webkit-user-select: $user-select;
72
+ -moz-user-select: $user-select;
73
+ user-select: $user-select;
74
+
75
+ //$mixinName: ui-button-normal-state-#{$style};
76
+ @include ui-button-normal-state( //#{$mixinName}
77
+ $color,
78
+ $style
79
+ );
80
+ @include ui-button-hover-state(
81
+
82
+ );
83
+ @include ui-button-active-state(
84
+
85
+ );
86
+ @include ui-button-disabled-state(
87
+
88
+ );
89
+ }
90
+
91
+ @mixin ui-button-normal-state(
92
+ $color: #e8e8e8,
93
+ $border-radius: .2em
94
+ )
95
+ {
96
+ @include border-radius($border-radius);
97
+ }
98
+
99
+ @mixin ui-button-hover-state()
100
+ {
101
+ @include ui-button-hover-selector()
102
+ {
103
+ border: 1px solid #444;
104
+ @include background(linear-gradient(#fff, #ccc));
105
+ }
106
+ }
107
+
108
+ @mixin ui-button-active-state()
109
+ {
110
+ @include ui-button-active-selector()
111
+ {
112
+ @include background(linear-gradient(#E3E3E3 40%, #F9F9F9 70%));
113
+ }
114
+ }
115
+
116
+ @mixin ui-button-disabled-state()
117
+ {
118
+ @include ui-button-disabled-selector()
119
+ {
120
+ color: #ccc;
121
+ }
122
+ }
@@ -1,9 +1,16 @@
1
+ /**
2
+ * UI convex effect from one color
3
+ *
4
+ * @todo merge with ui-button ?
5
+ *
6
+ * @author Maxime Thirouin maxime.thirouin@gmail.com @MoOx
7
+ */
1
8
  @mixin ui-convex($color: #ddd, $button-effect: true, $opacity-top: .5, $opacity-bottom: 0, $color-mix: #fff)
2
9
  {
3
10
  background: $color; // fallback
4
11
 
5
12
  // the original idea was to just add a layer of transparent white to make the convex effect
6
- // but this didn't work with css3/pie module, so I've used sass color function to get the same result
13
+ // but this didn't work with css3/pie module, so I've used sass_extensions color functions to get the same result
7
14
  //@include background($color linear-gradient(transparentize($color-mix, $opacity-top ), transparentize($color-mix, $opacity-bottom )));
8
15
 
9
16
  $opacity-top: percentage(1-$opacity-top);
@@ -1,5 +1,17 @@
1
+ /**
2
+ * UI Glossy helper
3
+ *
4
+ * @deprecated
5
+ * @todo Remove in 0.4
6
+ * @see background/gradients
7
+ *
8
+ * @author Maxime Thirouin maxime.thirouin@gmail.com @MoOx
9
+ */
1
10
  @mixin ui-glossy($color: #000, $opacity: .6, $border-width: .1em, $border-color-top: rgba(255,255,255,.5), $border-color-bottom: rgba(85,85,85,.6))
2
11
  {
12
+
13
+ @warn '@mixin ui-glossy has been deprecated: Use background-gradient mixin/functions instead.';
14
+
3
15
  border-left: 0;
4
16
  border-right: 0;
5
17
 
@@ -9,16 +21,5 @@
9
21
  outline: $border-width solid rgba(0,0,0,.6);
10
22
  background: $color;
11
23
  background: transparentize($color, $opacity);
12
- //background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(112,112,112,.55)), color-stop(.49, rgba(56,56,56,.46)), color-stop(.51, rgba(0,0,0,.58)), to(rgba(0,0,0,.58)));
13
- //background: -moz-linear-gradient(rgba(112,112,112,.55), rgba(56,56,56,.46) 49%, rgba(0,0,0,.58) 51%, rgba(0,0,0,.58));
14
- //background: linear-gradient(rgba(112,112,112,.55), rgba(56,56,56,.46) 49%, rgba(0,0,0,.58) 51%, rgba(0,0,0,.58));
15
24
  @include background(linear-gradient(rgba(112,112,112,.55), rgba(56,56,56,.46) 49%, rgba(0,0,0,.58) 51%, rgba(0,0,0,.58) 51%));
16
- }
17
- @mixin ui-glossy-inset {
18
- -moz-border-radius: .5em;
19
- border-radius: .5em;
20
- background: -webkit-gradient(linear,0 0, 0 100%,from(#020304),to(#252627));
21
- background: -moz-linear-gradient(#020304,#252627);
22
- background: linear-gradient(#020304,#252627);
23
- border: .1em solid #454545;
24
- }
25
+ }
@@ -1,4 +1,8 @@
1
1
  /**
2
+ * UI simple gradient from one color
3
+ *
4
+ * @todo merge with ui-button ?
5
+ *
2
6
  * @author Maxime Thirouin maxime.thirouin@gmail.com @MoOx
3
7
  */
4
8
  @mixin ui-gradient($color: #ddd, $lighten-top: 10%, $darken-bottom: 10%)
@@ -0,0 +1 @@
1
+ @import "recipes/ui/helper/arrow";
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Keyboard key touch
3
+ * A simple stylesheet for rendering beautiful keyboard-style elements.
4
+
5
+ * @author Michael Hüneburg http://michaelhue.com/keyscss
6
+ * @link https://github.com/michaelhue/keyscss (commit 76bb603e921d0145362e0f60eabb79d4f69cbda0)
7
+ *
8
+ * @author Maxime Thirouin @MoOx maxime.thirouin@gmail.com
9
+ */
10
+
11
+ // Base style, essential for every key
12
+ @mixin ui-keyboard-key-requirements($font-size: .85em, $line-height: 1, $font-family: "Lucida Grande")
13
+ {
14
+ padding: .2em .3em;
15
+ min-width: 1em;
16
+ font: normal $font-size/$line-height $font-family, Lucida, Arial, sans-serif;
17
+ text-align: center;
18
+ @include border-radius(.25em);
19
+ border: none;
20
+
21
+ display: inline;
22
+ display: inline-block;
23
+ text-decoration: none;
24
+ cursor: default;
25
+ -moz-user-select: none;
26
+ -webkit-user-select: none;
27
+ user-select: none;
28
+ //@include user-select(none);
29
+
30
+ &[title]
31
+ {
32
+ cursor: help;
33
+ }
34
+ }
35
+
36
+ // it's will be nice to manage color schema with mixin like
37
+ // key-light, key-dark but, we can't @include them with a variable
38
+ // it's not yet possible to make a @include key-#{$color-schema};
39
+ @mixin ui-keyboard-key-color-schema($color-schema: light)
40
+ {
41
+ @if ($color-schema == dark)
42
+ {
43
+ // Dark style for display on light background.
44
+ background: rgb(80, 80, 80);
45
+ @include background(linear-gradient(rgb(60, 60, 60), rgb(80, 80, 80)));
46
+ color: rgb(250, 250, 250);
47
+ text-shadow: -1px -1px 0 rgb(70, 70, 70);
48
+ @include box-shadow(inset 0 0 1px rgb(150, 150, 150), inset 0 -.05em .4em rgb(80, 80, 80), 0 .1em 0 rgb(30, 30, 30), 0 .1em .1em rgba(0, 0, 0, .3));
49
+ }
50
+ @elseif ($color-schema == light)
51
+ {
52
+ // Light style for display on dark background
53
+ background: rgb(250, 250, 250);
54
+ @include background(linear-gradient(top, rgb(210, 210, 210), rgb(255, 255, 255)));
55
+ color: #444;
56
+ text-shadow: 0 0 2px rgb(255, 255, 255);
57
+ /*@include box-shadow(
58
+ inset 0 0 1px #fff,
59
+ inset 0 0 .4em rgb(200, 200, 200),
60
+ 0 .1em 0 rgb(130, 130, 130),
61
+ 0 .11em 0 rgba(#000, .4),
62
+ 0 .1em .11em rgba(#000, .9)
63
+ );
64
+ */
65
+ @include box-shadow(
66
+ inset 0 0 25px #e8e8e8,
67
+ 0 1px 0 #c3c3c3,
68
+ 0 2px 0 #c9c9c9,
69
+ 0 2px 3px #333
70
+ );
71
+ text-shadow: 0px 1px 0px #f5f5f5;
72
+ }
73
+ }
74
+
75
+ @mixin ui-keyboard-key-rules-large($color-schema: light, $default: true)
76
+ {
77
+ &,
78
+ &.#{$color-schema},
79
+ .#{$color-schema}-keys &
80
+ {
81
+ @include ui-keyboard-key-color-schema($color-schema);
82
+ }
83
+ }
84
+
85
+ @mixin ui-keyboard-kbd($default-color-schema: light)
86
+ {
87
+ $alternate-color-schema: dark;
88
+ @if ($default-color-schema == dark)
89
+ {
90
+ $alternate-color-schema: light;
91
+ }
92
+
93
+ kbd,
94
+ .kbd
95
+ {
96
+ @include ui-keyboard-key-requirements;
97
+ @include ui-keyboard-key-rules-large($alternate-color-schema, false);
98
+ @include ui-keyboard-key-rules-large($default-color-schema);
99
+ }
100
+ }
101
+
102
+ @mixin ui-keyboard-key($default-color-schema: light)
103
+ {
104
+ @include ui-keyboard-key-requirements;
105
+ @include ui-keyboard-key-color-schema($default-color-schema);
106
+ }
@@ -0,0 +1 @@
1
+ @import "recipes/ui/menu/dropdown";
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Ui background overlay inspired by Google Chrome modal overlay
3
+ *
4
+ * @author Maxime Thirouin @MoOx maxime.thirouin@gmail.com
5
+ */
6
+
7
+ @import "recipes/background/radial-overlay";
8
+
9
+ @mixin ui-overlay($z-index: 10)
10
+ {
11
+ position: fixed;
12
+ top: 0;
13
+ bottom: 0;
14
+ right: 0;
15
+ left: 0;
16
+
17
+ z-index: $z-index;
18
+
19
+
20
+
21
+ @include background-radial-overlay;
22
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * <hr /> separator style
3
+ *
4
+ * @author Chris Coyier @chriscoyier
5
+ * @link http://jsfiddle.net/chriscoyier/GaEzp/35/
6
+ *
7
+ * @author Maxime Thirouin @MoOx maxime.thirouin@gmail.com
8
+ */
9
+
10
+ @mixin ui-separator-gradient($color: rgba(#000, .75), $color-alt: rgba(#000, 0), $height: 1px)
11
+ {
12
+ border: 0; //cancel default <hr> style
13
+ height: $height;
14
+ background: opacify($color, 1); // fallback
15
+ @include background(linear-gradient(left, $color-alt, $color, $color-alt));
16
+ }
17
+
18
+ @mixin ui-separator-dashed($color: #999, $color-alt: #ccc, $height: 1px)
19
+ {
20
+ border: 0; //cancel default <hr> style
21
+ border-bottom: $height dashed $color-alt;
22
+ background: $color;
23
+ }
24
+
25
+ @mixin ui-separator-dropshadow($color: #000, $height: 6px)
26
+ {
27
+ border: 0; //cancel default <hr> style
28
+ height: $height;
29
+ box-shadow: inset 0 $height $height -#{$height} $color;
30
+ }
31
+
32
+ @mixin ui-separator-shadow($color: #000, $height: 10px, $spread: 1px)
33
+ {
34
+ border: 0; //cancel default <hr> style
35
+ height: 0;
36
+ box-shadow: 0 0 $height $spread $color;
37
+ }
@@ -1,5 +1,8 @@
1
+ // @todo Remove in .4
2
+
1
3
  @mixin ui-border-bevel($width, $color, $variation: 15%)
2
4
  {
5
+ @warn 'ui-border-bevel has been deprecated. Please use effects/bevel mixins instead';
3
6
  border: $width solid $color;
4
7
  border-top-color: lighten($color, $variation);
5
8
  border-bottom-color: darken($color, $variation);
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Buttons selector mixins
3
+ *
4
+ * @author Maxime Thirouin maxime.thirouin@gmail.com @MoOx
5
+ */
6
+
7
+ // normal state is completly useless
8
+ /*
9
+ @mixin ui-button-normal-selector()
10
+ {
11
+ &
12
+ {
13
+ @content;
14
+ }
15
+ }
16
+ */
17
+
18
+ @mixin ui-button-hover-selector()
19
+ {
20
+ &:not([disabled]):hover
21
+ {
22
+ @content;
23
+ }
24
+ }
25
+
26
+ @mixin ui-button-active-selector()
27
+ {
28
+ &:not([disabled]):active
29
+ {
30
+ @content;
31
+ }
32
+ }
33
+
34
+ @mixin ui-button-disabled-selector()
35
+ {
36
+ &[disabled]
37
+ {
38
+ @content;
39
+ }
40
+ }
@@ -0,0 +1,12 @@
1
+ @mixin ui-button-normal-state-default()
2
+ {
3
+ text-shadow: 0 1px 0 lighten($color, 60%);
4
+
5
+ // background
6
+ @include background(linear-gradient(lighten($color, 10%) 40%, darken($color, 10%) 70%));
7
+ border: 1px solid darken($color, 40%);
8
+ @include box-shadow(0 1px 0 rgba(lighten($color, 60%), .5) inset);
9
+
10
+ //shape
11
+ @include border-radius(3px);
12
+ }
@@ -0,0 +1,489 @@
1
+
2
+
3
+ /* BonBon Buttons 1.1 by simurai.com
4
+
5
+ 1.1 Added unprefixed attributes, :focus style, <button> support
6
+ 1.0 Released
7
+
8
+ Usage:
9
+
10
+ Default button: <a href="" class="button">Label</a>
11
+ More fancy with icon: <a href="" class="button orange glossy" data-icon="★">Label</a>
12
+
13
+ Following additional class names are supported:
14
+
15
+ Color: orange, pink, blue, green, transparent
16
+ Font: serif
17
+ Material: glossy, glass
18
+ Size: xs, xl
19
+ Shape: round, oval, brackets, skew, back, knife, shield, drop, morph
20
+ Icon only: icon
21
+ Disabled: disabled
22
+
23
+ */
24
+
25
+
26
+ @import url(http://fonts.googleapis.com/css?family=Droid+Sans:bold+Lobster);
27
+ @import url(http://fonts.googleapis.com/css?family=Lobster);
28
+ @import url(pictos/pictos.css);
29
+ @import url(writesocial/font-face/stylesheet.css);
30
+
31
+
32
+ /* -------------- THE button -------------- */
33
+ .button {
34
+
35
+ /* text */
36
+ text-decoration: none;
37
+ font: 24px/1em 'Droid Sans', sans-serif;
38
+ font-weight: bold;
39
+ text-shadow: rgba(255,255,255,.5) 0 1px 0;
40
+ -webkit-user-select: none;
41
+ -moz-user-select: none;
42
+ user-select: none;
43
+
44
+
45
+ /* layout */
46
+ padding: .5em .6em .4em .6em;
47
+ margin: .5em;
48
+ display: inline-block;
49
+ position: relative;
50
+
51
+ -webkit-border-radius: 8px;
52
+ -moz-border-radius: 8px;
53
+ border-radius: 8px;
54
+
55
+ /* effects */
56
+ border-top: 1px solid rgba(255,255,255,0.8);
57
+ border-bottom: 1px solid rgba(0,0,0,0.1);
58
+
59
+ background-image: -webkit-gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0.7) )), url(noise.png);
60
+ background-image: -moz-radial-gradient(top, ellipse cover, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 100%), url(noise.png);
61
+ background-image: gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0.7) )), url(noise.png);
62
+
63
+ -webkit-transition: background .2s ease-in-out;
64
+ -moz-transition: background .2s ease-in-out;
65
+ transition: background .2s ease-in-out;
66
+
67
+ /* color */
68
+ color: hsl(0, 0%, 40%) !important;
69
+ background-color: hsl(0, 0%, 75%);
70
+
71
+ -webkit-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
72
+ hsl(0, 0%, 60%) 0 .1em 3px, hsl(0, 0%, 45%) 0 .3em 1px, /* color border */
73
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
74
+ -moz-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
75
+ hsl(0, 0%, 60%) 0 .1em 3px, hsl(0, 0%, 45%) 0 .3em 1px, /* color border */
76
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
77
+ box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
78
+ hsl(0, 0%, 60%) 0 .1em 3px, hsl(0, 0%, 45%) 0 .3em 1px, /* color border */
79
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
80
+ }
81
+
82
+ /* -------------- button (tag) -------------- */
83
+
84
+ button.button {
85
+ border-left: none;
86
+ border-right: none;
87
+ }
88
+ button.button:hover {
89
+ cursor: pointer;
90
+ }
91
+
92
+
93
+ /* -------------- icon -------------- */
94
+ .button:before {
95
+ font: 1.2em/0 'Pictos', sans-serif;
96
+ content: attr(data-icon); /* gets the icon value from the custom data attribute and puts it infront of the button label */
97
+ margin-right: 0.4em;
98
+ }
99
+ .button.social:before {
100
+ font: 2em/.5em 'writesocialRegular', sans-serif;
101
+ vertical-align: -.08em;
102
+ margin-right: 0.25em;
103
+ }
104
+
105
+
106
+ /* icon only */
107
+ .icon {
108
+ font-weight: normal;
109
+ font-style: normal;
110
+ text-indent: -999em;
111
+ }
112
+ .icon:before, .icon.social:before {
113
+ margin-right: 0;
114
+ display: block;
115
+ height: 0;
116
+ text-indent: 0px;
117
+ }
118
+
119
+
120
+
121
+ /* -------------- colours -------------- */
122
+
123
+ .button.orange {
124
+ color: hsl(39, 100%, 30%) !important;
125
+ background-color: hsl(39, 100%, 50%);
126
+
127
+ -webkit-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
128
+ hsl(39, 100%, 40%) 0 .1em 3px, hsl(39, 100%, 30%) 0 .3em 1px, /* color border */
129
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
130
+ -moz-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
131
+ hsl(39, 100%, 40%) 0 .1em 3px, hsl(39, 100%, 30%) 0 .3em 1px, /* color border */
132
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
133
+ box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
134
+ hsl(39, 100%, 40%) 0 .1em 3px, hsl(39, 100%, 30%) 0 .3em 1px, /* color border */
135
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
136
+ }
137
+ .button.orange:hover { background-color: hsl(39, 100%, 65%); }
138
+
139
+
140
+ .button.blue {
141
+ color: hsl(208, 50%, 40%) !important;
142
+ background-color: hsl(208, 100%, 75%);
143
+
144
+ -webkit-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
145
+ hsl(208, 50%, 55%) 0 .1em 3px, hsl(208, 50%, 40%) 0 .3em 1px, /* color border */
146
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
147
+ -moz-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
148
+ hsl(208, 50%, 55%) 0 .1em 3px, hsl(208, 50%, 40%) 0 .3em 1px, /* color border */
149
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
150
+ box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
151
+ hsl(208, 50%, 55%) 0 .1em 3px, hsl(208, 50%, 40%) 0 .3em 1px, /* color border */
152
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
153
+ }
154
+ .button.blue:hover { background-color: hsl(208, 100%, 83%); }
155
+
156
+ .button.green {
157
+ color: hsl(88, 70%, 30%) !important;
158
+ background-color: hsl(88, 70%, 60%);
159
+ -webkit-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
160
+ hsl(88, 70%, 40%) 0 .1em 3px, hsl(88, 70%, 30%) 0 .3em 1px, /* color border */
161
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
162
+ -moz-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
163
+ hsl(88, 70%, 40%) 0 .1em 3px, hsl(88, 70%, 30%) 0 .3em 1px, /* color border */
164
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
165
+ box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
166
+ hsl(88, 70%, 40%) 0 .1em 3px, hsl(88, 70%, 30%) 0 .3em 1px, /* color border */
167
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
168
+ }
169
+ .button.green:hover { background-color: hsl(88, 70%, 75%); }
170
+
171
+ .button.pink {
172
+ color: hsl(340, 100%, 30%) !important;
173
+ background-color: hsl(340, 100%, 75%);
174
+ -webkit-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
175
+ hsl(340, 70%, 50%) 0 .1em 3px, hsl(340, 80%, 40%) 0 .3em 1px, /* color border */
176
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
177
+ -moz-box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
178
+ hsl(340, 70%, 50%) 0 .1em 3px, hsl(340, 80%, 40%) 0 .3em 1px, /* color border */
179
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
180
+ box-shadow: inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
181
+ hsl(340, 70%, 50%) 0 .1em 3px, hsl(340, 80%, 40%) 0 .3em 1px, /* color border */
182
+ rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
183
+ }
184
+ .button.pink:hover { background-color: hsl(340, 100%, 83%); }
185
+
186
+
187
+
188
+ .button.transparent {
189
+ color: rgba(0,0,0,0.5) !important;
190
+ }
191
+ .button.transparent, .button.transparent:hover, .button.transparent:active {
192
+ background-color: transparent;
193
+ background-image: none;
194
+ }
195
+ .button.transparent:hover {
196
+ opacity: .9;
197
+ }
198
+
199
+
200
+
201
+ /* -------------- States -------------- */
202
+
203
+ .button:hover {
204
+ background-color: hsl(0, 0%, 83%);
205
+ }
206
+
207
+
208
+
209
+ .button:active {
210
+ background-image: -webkit-gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0) )), url(noise.png);
211
+ background-image: -moz-gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0) )), url(noise.png);
212
+ background-image: gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0) )), url(noise.png);
213
+
214
+ -webkit-box-shadow: inset rgba(255,255,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.2) 0 -0.1em .3em, /* inner shadow */
215
+ rgba(0,0,0,0.4) 0 .1em 1px, /* border */
216
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
217
+ -moz-box-shadow: inset rgba(255,255,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.2) 0 -0.1em .3em, /* inner shadow */
218
+ rgba(0,0,0,0.4) 0 .1em 1px, /* border */
219
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
220
+ box-shadow: inset rgba(255,255,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.2) 0 -0.1em .3em, /* inner shadow */
221
+ rgba(0,0,0,0.4) 0 .1em 1px, /* border */
222
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
223
+
224
+ -webkit-transform: translateY(.2em);
225
+ -moz-transform: translateY(.2em);
226
+ transform: translateY(.2em);
227
+ }
228
+
229
+ .button:focus {
230
+ outline: none;
231
+ color: rgba(254,255,255,0.9) !important;
232
+ text-shadow: rgba(0,0,0,0.2) 0 1px 2px;
233
+ }
234
+
235
+ .button[disabled], .button[disabled]:hover, .button.disabled, .button.disabled:hover {
236
+ opacity: .5;
237
+ cursor: default;
238
+ color: rgba(0,0,0,0.2) !important;
239
+ text-shadow: none !important;
240
+ background-color: rgba(0,0,0,0.05);
241
+ background-image: none;
242
+ border-top: none;
243
+
244
+ -webkit-box-shadow: inset rgba(255,254,255,0.4) 0 0.3em .3em, inset rgba(0,0,0,0.1) 0 -0.1em .3em, /* inner shadow */
245
+ rgba(0,0,0,0.3) 0 .1em 1px, /* border */
246
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
247
+ -moz-box-shadow: inset rgba(255,254,255,0.4) 0 0.3em .3em, inset rgba(0,0,0,0.1) 0 -0.1em .3em, /* inner shadow */
248
+ rgba(0,0,0,0.3) 0 .1em 1px, /* border */
249
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
250
+ box-shadow: inset rgba(255,254,255,0.4) 0 0.3em .3em, inset rgba(0,0,0,0.1) 0 -0.1em .3em, /* inner shadow */
251
+ rgba(0,0,0,0.3) 0 .1em 1px, /* border */
252
+ rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
253
+
254
+ -webkit-transform: translateY(5px);
255
+ -moz-transform: translateY(5px);
256
+ transform: translateY(5px);
257
+ }
258
+
259
+ /* -------------- Fonts -------------- */
260
+
261
+ .serif {
262
+ font-family: 'Lobster', serif;
263
+ font-weight: normal;
264
+ }
265
+
266
+
267
+ /* -------------- Sizes -------------- */
268
+
269
+ .xs { font-size: 16px; }
270
+ .xl { font-size: 32px; }
271
+
272
+
273
+ /* -------------- Materials -------------- */
274
+
275
+ .button.glossy:after, .button.glass:after {
276
+ content: "";
277
+ position: absolute;
278
+ width: 90%;
279
+ height: 60%;
280
+ top: 0;
281
+ left: 5%;
282
+
283
+ -webkit-border-radius: .5em .5em 1em 1em / .5em .5em 2em 2em;
284
+ -moz-border-radius: .5em .5em 1em 1em / .5em .5em 2em 2em;
285
+ border-radius: .5em .5em 1em 1em / .5em .5em 2em 2em;
286
+
287
+ background-image: -webkit-gradient(linear, 0% 0, 100% 0, from( rgba(255,255,255,.55) ), to( rgba(255,255,255,.5) ),
288
+ color-stop(.5, rgba(255,255,255,0)), color-stop(.8, rgba(255,255,255,0)) );
289
+ background-image: -moz-linear-gradient(left, rgba(255,255,255,.55), rgba(255,255,255,0) 50%, rgba(255,255,255,0) 80%, rgba(255,255,255,.5) );
290
+ background-image: gradient(linear, 0% 0, 100% 0, from( rgba(255,255,255,.55) ), to( rgba(255,255,255,.5) ),
291
+ color-stop(.5, rgba(255,255,255,0)), color-stop(.8, rgba(255,255,255,0)) );
292
+ }
293
+ .button.glossy:active:after,
294
+ .button.glass:active:after,
295
+ .button.disabled:after,
296
+ .button[disabled]:after
297
+ { opacity: .6; }
298
+
299
+ .button.icon.glossy:after,
300
+ .button.icon.glass:after { height: 75% ; }
301
+
302
+ /* -------------- Glass + Transparent -------------- */
303
+ .button.glass {
304
+ text-shadow: rgba(255,255,255,.5) 0 -1px 0, rgba(0,0,0,0.18) 0 .18em .15em;
305
+ }
306
+ .button.glass:active {
307
+ text-shadow: rgba(255,255,255,.3) 0 1px 0, rgba(0,0,0,0.15) 0 .18em .15em;
308
+ }
309
+
310
+
311
+ /* -------------- Shapes -------------- */
312
+
313
+ /* round */
314
+ .round, .round.glossy:after, .round.glass:after {
315
+ border-top: none;
316
+ -webkit-border-radius: 1em;
317
+ -moz-border-radius: 1em;
318
+ border-radius: 1em;
319
+ }
320
+
321
+ /* oval */
322
+ .oval {
323
+ border-top: none;
324
+ padding-left: .8em;
325
+ padding-right: .8em;
326
+ -webkit-border-radius: 5em / 2em;
327
+ -moz-border-radius: 5em / 2em;
328
+ border-radius: 5em / 2em;
329
+ }
330
+ .oval.glossy:after, .oval.glass:after {
331
+ top: 5%;
332
+ -webkit-border-radius: 5em / 2em 2em 1em 1em;
333
+ -moz-border-radius: 5em / 2em 2em 1em 1em;
334
+ border-radius: 5em / 2em 2em 1em 1em;
335
+ }
336
+ .oval.icon {
337
+ padding-left: .8em;
338
+ padding-right: .8em;
339
+ -webkit-border-radius: 1.5em / 1em;
340
+ -moz-border-radius: 1.5em / 1em;
341
+ border-radius: 1.5em / 1em;
342
+ }
343
+ .oval.icon.glossy:after, .oval.icon.glass:after {
344
+ -webkit-border-radius: 1.5em / 1em;
345
+ -moz-border-radius: 1.5em / 1em;
346
+ border-radius: 1.5em / 1em;
347
+ }
348
+
349
+ /* brackets */
350
+ .brackets, .brackets.glossy:after, .brackets.glass:after {
351
+ border-top: none;
352
+ -webkit-border-radius: .5em / 1em;
353
+ -moz-border-radius: .5em / 1em;
354
+ border-radius: .5em / 1em;
355
+ }
356
+
357
+ /* skew */
358
+ .skew {
359
+ border-top: none;
360
+ padding-right: 1.2em;
361
+ padding-left: 0.8em;
362
+ -webkit-border-radius: 5em 1em / 5em 1em;
363
+ -moz-border-radius: 5em 1em / 5em 1em;
364
+ border-radius: 5em 1em / 5em 1em;
365
+ }
366
+ .skew.glossy:after, .skew.glass:after {
367
+ left: 10%;
368
+ -webkit-border-radius: 7em 1em / 5em 1em;
369
+ -moz-border-radius: 7em 1em / 5em 1em;
370
+ border-radius: 7em 1em / 5em 1em;
371
+ }
372
+ .skew.icon {
373
+ padding-right: .9em;
374
+ padding-left: .8em;
375
+ }
376
+
377
+ /* back */
378
+ .back, .back.glossy:after, .back.glass:after {
379
+ border-top-color: rgba(255,255,255,0.5);
380
+ -webkit-border-radius: 1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
381
+ -moz-border-radius: 1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
382
+ border-radius: 1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
383
+ }
384
+ .back.glossy:after, .back.glass:after {
385
+ left: 6%;
386
+ width: 88%;
387
+ }
388
+
389
+ /* knife */
390
+ .knife {
391
+ padding-left: 1.5em;
392
+ -webkit-border-radius: .2em .5em .5em 8em / .2em .5em .5em 5em;
393
+ -moz-border-radius: .2em .5em .5em 8em / .2em .5em .5em 5em;
394
+ border-radius: .2em .5em .5em 8em / .2em .5em .5em 5em;
395
+ }
396
+ .knife.glossy:after, .knife.glass:after {
397
+ left: 3%;
398
+ width: 97%;
399
+ -webkit-border-radius: .1em .5em .5em 8em / .1em .5em .5em 2em;
400
+ -moz-border-radius: .1em .5em .5em 8em / .1em .5em .5em 2em;
401
+ border-radius: .1em .5em .5em 8em / .1em .5em .5em 2em;
402
+ }
403
+ .knife.glossy.icon:after, .knife.glass.icon:after {
404
+ left: 5%;
405
+ width: 95%;
406
+ -webkit-border-radius: .5em .5em 1em 6em / .5em .5em 1em 4em;
407
+ -moz-border-radius: .5em .5em 1em 6em / .5em .5em 1em 4em;
408
+ border-radius: .5em .5em 1em 6em / .5em .5em 1em 4em;
409
+ }
410
+
411
+ /* shield */
412
+ .shield, .shield.glossy:after, .shield.glass:after {
413
+ -webkit-border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
414
+ -moz-border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
415
+ border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
416
+ }
417
+ .shield {
418
+ padding-left: .8em;
419
+ padding-right: .8em;
420
+ }
421
+ .shield.icon {
422
+ padding-left: .6em;
423
+ padding-right: .6em;
424
+ }
425
+
426
+ /* drop */
427
+ .drop {
428
+ border-top: none;
429
+ -webkit-border-radius: 2em 5em 2em .6em / 2em 4em 2em .6em;
430
+ -moz-border-radius: 2em 5em 2em .6em / 2em 4em 2em .6em;
431
+ border-radius: 2em 5em 2em .6em / 2em 4em 2em .6em;
432
+ }
433
+ .drop.glossy:after, .drop.glass:after {
434
+ left: 4%;
435
+ -webkit-border-radius: 2em 6em 2em 1em / 2em 4em 2em 2em;
436
+ -moz-border-radius: 2em 6em 2em 1em / 2em 4em 2em 2em;
437
+ border-radius: 2em 6em 2em 1em / 2em 4em 2em 2em;
438
+ }
439
+ .drop.icon {
440
+ padding-right: .6em;
441
+ }
442
+
443
+
444
+ /* morph */
445
+ .morph {
446
+ border-top: none;
447
+ -webkit-border-radius: 5em / 2em;
448
+ -moz-border-radius: 5em / 2em;
449
+ border-radius: 5em / 2em;
450
+ -webkit-transition: -webkit-border-radius .3s ease-in-out;
451
+ -moz-transition: -moz-border-radius .3s ease-in-out;
452
+ transition: -moz-border-radius .3s ease-in-out;
453
+ }
454
+ .morph:hover {
455
+ -webkit-border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
456
+ -moz-border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
457
+ border-radius: .4em .4em 2em 2em / .4em .4em 3em 3em;
458
+ }
459
+ .morph:active {
460
+ -webkit-border-radius: .3em;
461
+ -moz-border-radius: .3em;
462
+ border-radius: .3em;
463
+ }
464
+ .morph:after {
465
+ display: none;
466
+ }
467
+
468
+
469
+
470
+
471
+ /* Some ugly hacks for FF.
472
+ Thanks to David Hund for some help - http://valuedstandards.com/static/test/buttons/ */
473
+ @-moz-document url-prefix() {
474
+ .button { text-align: center; }
475
+ .icon { padding: .5em 1em; }
476
+ .icon:before { margin-left: -.42em; float: left; }
477
+ .social.icon:before { margin-left: -.22em; }
478
+
479
+ .drop.icon { padding-right: 1.1em; }
480
+ .shield.icon { padding-left: 1.1em; padding-right: 1.1em; }
481
+ .skew.icon { padding-right: 1.4em; padding-left: 1.3em; }
482
+ .oval.icon { padding-left: 1.3em; padding-right: 1.3em; }
483
+ .knife { padding-left: 2em; }
484
+ }
485
+
486
+
487
+
488
+
489
+ /* Damn, this became a fat baby.. */