typus 3.1.0.rc14 → 3.1.0.rc15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. data/.gitmodules +3 -0
  2. data/README.md +10 -14
  3. data/Rakefile +7 -5
  4. data/app/assets/javascripts/typus.js +1 -0
  5. data/app/assets/javascripts/typus/jquery.application.js +0 -2
  6. data/app/assets/stylesheets/typus.css +13 -1
  7. data/app/assets/stylesheets/typus/account.css +53 -0
  8. data/app/assets/stylesheets/typus/actions.css +11 -0
  9. data/app/assets/stylesheets/typus/content.css +92 -0
  10. data/app/assets/stylesheets/typus/defaults.css +31 -0
  11. data/app/assets/stylesheets/typus/errors.css +33 -0
  12. data/app/assets/stylesheets/typus/footer.css +8 -0
  13. data/app/assets/stylesheets/typus/forms.css +52 -0
  14. data/app/assets/stylesheets/typus/hacks.css +20 -0
  15. data/app/assets/stylesheets/typus/header.css +55 -0
  16. data/app/assets/stylesheets/typus/layout.css +4 -0
  17. data/app/assets/stylesheets/typus/pagination.css +34 -8
  18. data/app/assets/stylesheets/typus/sidebar.css +23 -0
  19. data/app/assets/stylesheets/typus/tables.css +47 -0
  20. data/app/helpers/admin/base_helper.rb +1 -1
  21. data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +1 -0
  22. data/app/helpers/admin/resources/data_types/tree_helper.rb +1 -0
  23. data/app/helpers/admin/resources/display_helper.rb +1 -1
  24. data/app/helpers/admin/resources/form_helper.rb +1 -0
  25. data/app/helpers/admin/resources_helper.rb +3 -5
  26. data/app/views/admin/account/forgot_password.html.erb +7 -1
  27. data/app/views/admin/base/user_guide.html.erb +61 -57
  28. data/app/views/admin/dashboard/show.html.erb +6 -16
  29. data/app/views/admin/dashboard/widgets/_applications.html.erb +31 -0
  30. data/app/views/admin/dashboard/widgets/_models.html.erb +23 -0
  31. data/app/views/admin/dashboard/widgets/_models_extended.html.erb +25 -0
  32. data/app/views/admin/dashboard/widgets/_resources.html.erb +23 -0
  33. data/app/views/admin/resources/_actions.html.erb +23 -0
  34. data/app/views/admin/resources/edit.html.erb +26 -20
  35. data/app/views/admin/resources/edit/_actions.html.erb +7 -0
  36. data/app/views/admin/resources/edit/_rencently_edited.html.erb +8 -0
  37. data/app/views/admin/resources/index.html.erb +42 -32
  38. data/app/views/admin/resources/new.html.erb +16 -8
  39. data/app/views/admin/resources/show.html.erb +22 -14
  40. data/app/views/admin/session/new.html.erb +9 -1
  41. data/app/views/admin/templates/_belongs_to.html.erb +1 -1
  42. data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +1 -1
  43. data/app/views/admin/templates/_boolean.html.erb +1 -1
  44. data/app/views/admin/templates/_date.html.erb +1 -1
  45. data/app/views/admin/templates/_datetime.html.erb +1 -1
  46. data/app/views/admin/templates/_dragonfly.html.erb +1 -1
  47. data/app/views/admin/templates/_paperclip.html.erb +1 -1
  48. data/app/views/admin/templates/_password.html.erb +1 -1
  49. data/app/views/admin/templates/_selector.html.erb +1 -1
  50. data/app/views/admin/templates/_string.html.erb +1 -1
  51. data/app/views/admin/templates/_string_with_preview.html.erb +1 -1
  52. data/app/views/admin/templates/_text.html.erb +1 -1
  53. data/app/views/admin/templates/_text_with_ckeditor.html.erb +16 -2
  54. data/app/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +16 -2
  55. data/app/views/admin/templates/_time.html.erb +1 -1
  56. data/app/views/admin/templates/_tree.html.erb +1 -1
  57. data/app/views/helpers/admin/resources/_sidebar.html.erb +36 -12
  58. data/app/views/helpers/admin/resources/_table.html.erb +5 -3
  59. data/app/views/layouts/admin/base.html.erb +16 -29
  60. data/app/views/layouts/admin/headless.html.erb +1 -1
  61. data/app/views/layouts/admin/session.html.erb +6 -0
  62. data/lib/support/fake_user.rb +2 -8
  63. data/lib/typus.rb +6 -2
  64. data/lib/typus/authentication/devise.rb +19 -0
  65. data/lib/typus/controller/headless.rb +1 -1
  66. data/lib/typus/orm/active_record/admin_user_v1.rb +15 -1
  67. data/lib/typus/orm/active_record/admin_user_v2.rb +16 -2
  68. data/lib/typus/orm/active_record/user/class_methods.rb +2 -3
  69. data/lib/typus/orm/active_record/user/instance_methods.rb +5 -2
  70. data/lib/typus/orm/active_record/user/instance_methods_more.rb +19 -0
  71. data/lib/typus/version.rb +1 -1
  72. data/vendor/assets/adapt/css/1200.css +357 -0
  73. data/vendor/assets/adapt/css/1200.min.css +1 -0
  74. data/vendor/assets/adapt/css/1560.css +357 -0
  75. data/vendor/assets/adapt/css/1560.min.css +1 -0
  76. data/vendor/assets/adapt/css/720.css +357 -0
  77. data/vendor/assets/adapt/css/720.min.css +1 -0
  78. data/vendor/assets/adapt/css/960.css +357 -0
  79. data/vendor/assets/adapt/css/960.min.css +1 -0
  80. data/vendor/assets/adapt/css/fluid.css +345 -0
  81. data/vendor/assets/adapt/css/fluid.min.css +1 -0
  82. data/vendor/assets/adapt/css/master.css +120 -0
  83. data/vendor/assets/adapt/css/mobile.css +20 -0
  84. data/vendor/assets/adapt/css/mobile.min.css +1 -0
  85. data/vendor/assets/adapt/css/reset.css +202 -0
  86. data/vendor/assets/adapt/css/text.css +81 -0
  87. data/vendor/assets/adapt/images/h1.png +0 -0
  88. data/vendor/assets/adapt/js/adapt.js +135 -0
  89. data/vendor/assets/adapt/js/adapt.min.js +1 -0
  90. data/vendor/assets/formalize/.gitignore +1 -0
  91. data/vendor/assets/formalize/css/_formalize.sass +332 -0
  92. data/vendor/assets/formalize/css/demo.css +47 -0
  93. data/vendor/assets/formalize/css/formalize.css +395 -0
  94. data/vendor/assets/formalize/css/reset.css +202 -0
  95. data/vendor/assets/formalize/css/text.css +81 -0
  96. data/vendor/assets/formalize/images/button.png +0 -0
  97. data/vendor/assets/formalize/images/select_arrow.gif +0 -0
  98. data/vendor/assets/formalize/js/dojo.formalize.js +166 -0
  99. data/vendor/assets/formalize/js/dojo.formalize.min.js +1 -0
  100. data/vendor/assets/formalize/js/extjs.formalize.js +163 -0
  101. data/vendor/assets/formalize/js/extjs.formalize.min.js +1 -0
  102. data/vendor/assets/formalize/js/jquery.formalize.js +150 -0
  103. data/vendor/assets/formalize/js/jquery.formalize.min.js +1 -0
  104. data/vendor/assets/formalize/js/mootools.formalize.js +155 -0
  105. data/vendor/assets/formalize/js/mootools.formalize.min.js +1 -0
  106. data/vendor/assets/formalize/js/prototype.formalize.js +163 -0
  107. data/vendor/assets/formalize/js/prototype.formalize.min.js +1 -0
  108. data/vendor/assets/formalize/js/yui.formalize.js +152 -0
  109. data/vendor/assets/formalize/js/yui.formalize.min.js +1 -0
  110. metadata +79 -47
  111. data/app/assets/stylesheets/typus/screen.css +0 -340
  112. data/app/helpers/admin/dashboard_helper.rb +0 -8
  113. data/app/views/admin/dashboard/_applications.html.erb +0 -21
  114. data/config/locales/typus.ca.models.yml +0 -17
  115. data/config/locales/typus.ca.yml +0 -80
  116. data/config/locales/typus.de.models.yml +0 -17
  117. data/config/locales/typus.de.yml +0 -79
  118. data/config/locales/typus.el.models.yml +0 -17
  119. data/config/locales/typus.el.yml +0 -81
  120. data/config/locales/typus.es.models.yml +0 -18
  121. data/config/locales/typus.es.yml +0 -81
  122. data/config/locales/typus.fr.models.yml +0 -18
  123. data/config/locales/typus.fr.yml +0 -85
  124. data/config/locales/typus.hu.models.yml +0 -17
  125. data/config/locales/typus.hu.yml +0 -79
  126. data/config/locales/typus.it.models.yml +0 -18
  127. data/config/locales/typus.it.yml +0 -88
  128. data/config/locales/typus.locale.models.yml.template +0 -17
  129. data/config/locales/typus.locale.yml.template +0 -80
  130. data/config/locales/typus.pt-BR.models.yml +0 -17
  131. data/config/locales/typus.pt-BR.yml +0 -79
  132. data/config/locales/typus.pt-PT.models.yml +0 -17
  133. data/config/locales/typus.pt-PT.yml +0 -83
  134. data/config/locales/typus.ru.models.yml +0 -17
  135. data/config/locales/typus.ru.yml +0 -79
  136. data/config/locales/typus.zh-CN.models.yml +0 -17
  137. data/config/locales/typus.zh-CN.yml +0 -78
@@ -0,0 +1 @@
1
+ (function(a,b,c,d){function o(){clearInterval(g),g=setInterval(n,100)}function n(){clearInterval(g);var c=a.innerWidth||b.documentElement.clientWidth||b.body.clientWidth||0,h,n,o,p,q,r,s=k,t=k-1;while(s--){h=j[s].split("="),n=h[0],r=h[1]?h[1].replace(/\s/g,""):s,q=n.match("to"),o=q?parseInt(n.split("to")[0],10):parseInt(n,10),p=q?parseInt(n.split("to")[1],10):d;if(!p&&s===t&&c>o||c>o&&c<=p){e=i+r;break}e=""}f?f!==e&&m(s,c):(m(s,c),i&&(b.head||b.getElementsByTagName("head")[0]).appendChild(l))}function m(a,b){l.href=e,f=e,h&&h(a,b)}if(!!c){var e,f,g,h=typeof c.callback=="function"?c.callback:d,i=c.path?c.path:"",j=c.range,k=j.length,l=b.createElement("link");l.rel="stylesheet",n(),c.dynamic&&(a.addEventListener?a.addEventListener("resize",o,!1):a.attachEvent?a.attachEvent("onresize",o):a.onresize=o)}})(this,this.document,ADAPT_CONFIG)
@@ -0,0 +1 @@
1
+ .DS_Store
@@ -0,0 +1,332 @@
1
+ // Note: This file is dependent on Sass and Compass.
2
+ // Sass = http://sass-lang.com
3
+ // Compass = http://compass-style.org
4
+
5
+ // `Widths
6
+ //----------------------------------------------------------------------------------------------------
7
+ .input_tiny
8
+ width: 50px
9
+
10
+ .input_small
11
+ width: 100px
12
+
13
+ .input_medium
14
+ width: 150px
15
+
16
+ .input_large
17
+ width: 200px
18
+
19
+ .input_xlarge
20
+ width: 250px
21
+
22
+ .input_xxlarge
23
+ width: 300px
24
+
25
+ .input_full
26
+ width: 100%
27
+
28
+ // Added via JS to <textarea> and class="input-full".
29
+ // Applies only to IE7. Other browsers don't need it.
30
+ .input_full_wrap
31
+ display: block
32
+ padding-right: 8px
33
+
34
+ // `UI Consistency
35
+ //----------------------------------------------------------------------------------------------------
36
+
37
+ ::-moz-focus-inner
38
+ border: 0
39
+ padding: 0
40
+
41
+ input[type="search"]::-webkit-search-decoration
42
+ display: none
43
+
44
+ input,
45
+ button,
46
+ select,
47
+ textarea
48
+ margin: 0
49
+ vertical-align: middle
50
+
51
+ input[type="radio"],
52
+ input[type="checkbox"]
53
+ position: relative
54
+ vertical-align: top
55
+ top: 3px
56
+ // IE8, IE9, IE10
57
+ top: 0\0
58
+ // IE7
59
+ *top: -3px
60
+
61
+ // iPad
62
+ @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px)
63
+ input[type="radio"],
64
+ input[type="checkbox"]
65
+ vertical-align: baseline
66
+ top: 2px
67
+
68
+ // iPhone 3
69
+ @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px)
70
+ input[type="radio"],
71
+ input[type="checkbox"]
72
+ vertical-align: baseline
73
+ top: 0
74
+
75
+ // iPhone 4
76
+ @media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px)
77
+ input[type="radio"],
78
+ input[type="checkbox"]
79
+ vertical-align: baseline
80
+ top: 0
81
+
82
+ button,
83
+ input[type="reset"],
84
+ input[type="submit"],
85
+ input[type="button"]
86
+ -webkit-appearance: none
87
+ +border-radius(4px)
88
+ +background-clip(padding-box)
89
+ background: #ddd url(../images/button.png) repeat-x
90
+ +background(linear-gradient(color-stops(#fff, #ddd)))
91
+ border: 1px solid
92
+ border-color: #ddd #bbb #999
93
+ cursor: pointer
94
+ color: #333
95
+ // Helvetica Neue present, because it works better
96
+ // for line-height on buttons than Arial, on OS X.
97
+ font: bold 12px/1.3 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif
98
+ outline: 0
99
+ overflow: visible
100
+ padding: 3px 10px
101
+ text-shadow: #fff 0 1px 1px
102
+ width: auto
103
+ // IE7
104
+ *padding-top: 2px
105
+ *padding-bottom: 0px
106
+
107
+ button
108
+ // IE7
109
+ *padding-top: 1px
110
+ *padding-bottom: 1px
111
+
112
+ textarea,
113
+ select,
114
+ input[type="date"],
115
+ input[type="datetime"],
116
+ input[type="datetime-local"],
117
+ input[type="email"],
118
+ input[type="month"],
119
+ input[type="number"],
120
+ input[type="password"],
121
+ input[type="search"],
122
+ input[type="tel"],
123
+ input[type="text"],
124
+ input[type="time"],
125
+ input[type="url"],
126
+ input[type="week"]
127
+ -webkit-appearance: none
128
+ -moz-border-radius: 0
129
+ -webkit-border-radius: 0
130
+ border-radius: 0
131
+ -webkit-box-sizing: border-box
132
+ -moz-box-sizing: border-box
133
+ box-sizing: border-box
134
+ -moz-background-clip: padding
135
+ -webkit-background-clip: padding
136
+ background-clip: padding-box
137
+ background-color: #fff
138
+ border: 1px solid
139
+ border-color: #848484 #c1c1c1 #e1e1e1
140
+ color: #000
141
+ outline: 0
142
+ padding: 2px 3px
143
+ font-size: 13px
144
+ // Leaving out Helvetica Neue, to not throw off size="..."
145
+ // on inputs. Arial is more reliable, on Windows and OS X.
146
+ font-family: Arial, 'Liberation Sans', FreeSans, sans-serif
147
+ height: 1.8em
148
+ // IE7
149
+ *padding-top: 2px
150
+ *padding-bottom: 1px
151
+ *height: auto
152
+
153
+ // Separate rule for Firefox.
154
+ // Separate rule for IE, too.
155
+ // Cannot stack with WebKit's.
156
+ ::-webkit-input-placeholder
157
+ color: #888
158
+
159
+ input:-moz-placeholder,
160
+ textarea:-moz-placeholder
161
+ color: #888
162
+
163
+ input.placeholder-text,
164
+ textarea.placeholder-text
165
+ color: #888
166
+
167
+ \:invalid
168
+ // Suppress red glow that Firefox
169
+ // adds to form fields by default,
170
+ // even when user is still typing.
171
+ -moz-box-shadow: none
172
+ -webkit-box-shadow: none
173
+ box-shadow: none
174
+
175
+ button:focus,
176
+ button:active,
177
+ input:focus,
178
+ input:active,
179
+ select:focus,
180
+ select:active,
181
+ textarea:focus,
182
+ textarea:active
183
+ -moz-box-shadow: #06f 0 0 7px
184
+ -webkit-box-shadow: #06f 0 0 7px
185
+ box-shadow: #06f 0 0 7px
186
+ // for Opera
187
+ z-index: 1
188
+
189
+ input[type="file"]:focus,
190
+ input[type="file"]:active,
191
+ input[type="radio"]:focus,
192
+ input[type="radio"]:active,
193
+ input[type="checkbox"]:focus,
194
+ input[type="checkbox"]:active
195
+ -moz-box-shadow: none
196
+ -webkit-box-shadow: none
197
+ box-shadow: none
198
+
199
+ select[disabled],
200
+ textarea[disabled],
201
+ input[type="date"][disabled],
202
+ input[type="datetime"][disabled],
203
+ input[type="datetime-local"][disabled],
204
+ input[type="email"][disabled],
205
+ input[type="month"][disabled],
206
+ input[type="number"][disabled],
207
+ input[type="password"][disabled],
208
+ input[type="search"][disabled],
209
+ input[type="tel"][disabled],
210
+ input[type="text"][disabled],
211
+ input[type="time"][disabled],
212
+ input[type="url"][disabled],
213
+ input[type="week"][disabled]
214
+ background-color: #eee
215
+
216
+ button[disabled],
217
+ input[disabled],
218
+ select[disabled],
219
+ select[disabled] option,
220
+ select[disabled] optgroup,
221
+ textarea[disabled]
222
+ -moz-box-shadow: none
223
+ -webkit-box-shadow: none
224
+ box-shadow: none
225
+ -webkit-user-select: none
226
+ -moz-user-select: none
227
+ user-select: none
228
+ color: #888
229
+ cursor: default
230
+
231
+ textarea,
232
+ select[size],
233
+ select[multiple]
234
+ height: auto
235
+
236
+ // Tweaks for Safari + Chrome.
237
+ @media (-webkit-min-device-pixel-ratio: 0)
238
+ select
239
+ background-image: url(../images/select_arrow.gif)
240
+ background-repeat: no-repeat
241
+ background-position: right center
242
+ padding-right: 20px
243
+ select[size],
244
+ select[multiple]
245
+ background-image: none
246
+ padding: 0
247
+ ::-webkit-validation-bubble-message
248
+ box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px
249
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000))
250
+ border: 1px solid
251
+ border-color: #747474 #5e5e5e #4f4f4f
252
+ color: #fff
253
+ font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif
254
+ padding: 15px 15px 17px
255
+ text-shadow: #000 0 0 1px
256
+ ::-webkit-validation-bubble-arrow,
257
+ ::-webkit-validation-bubble-top-outer-arrow,
258
+ ::-webkit-validation-bubble-top-inner-arrow
259
+ display: none
260
+
261
+ textarea
262
+ min-height: 40px
263
+ overflow: auto
264
+ resize: vertical
265
+ width: 100%
266
+
267
+ optgroup
268
+ color: #000
269
+ font-style: normal
270
+ font-weight: normal
271
+
272
+ // `IE6
273
+ //----------------------------------------------------------------------------------------------------
274
+
275
+ // Everything below this line is for IE6.
276
+ // Delete it if you don't support it! :)
277
+
278
+ // Classes are added dynamically via JS,
279
+ // because IE6 doesn't support attribute
280
+ // selectors: .ie6_button, .ie6_input, etc.
281
+
282
+ // Note: These style rules are somewhat
283
+ // duplicated because IE6 bombs out when
284
+ // it sees attribute selectors. Example:
285
+
286
+ // .ie6_button {
287
+ // This works in IE6.
288
+ // }
289
+
290
+ // .ie6_button,
291
+ // input[type=submit] {
292
+ // This doesn't work.
293
+ // }
294
+
295
+ .ie6_button,
296
+ * html button
297
+ background: #ddd url(../images/button.png) repeat-x
298
+ border: 1px solid
299
+ border-color: #ddd #bbb #999
300
+ cursor: pointer
301
+ color: #333
302
+ font: bold 12px/1.2 Arial, sans-serif
303
+ padding: 2px 10px 0px
304
+ overflow: visible
305
+ width: auto
306
+
307
+ * html button
308
+ padding-top: 1px
309
+ padding-bottom: 1px
310
+
311
+ .ie6_input,
312
+ * html textarea,
313
+ * html select
314
+ background: #fff
315
+ border: 1px solid
316
+ border-color: #848484 #c1c1c1 #e1e1e1
317
+ color: #000
318
+ padding: 2px 3px 1px
319
+ font-size: 13px
320
+ font-family: Arial, sans-serif
321
+ vertical-align: top
322
+
323
+ * html select
324
+ margin-top: 1px
325
+
326
+ .placeholder_text,
327
+ .ie6_input_disabled,
328
+ .ie6_button_disabled
329
+ color: #888
330
+
331
+ .ie6_input_disabled
332
+ background: #eee
@@ -0,0 +1,47 @@
1
+ @import 'reset.css';
2
+ @import 'text.css';
3
+ @import 'formalize.css';
4
+
5
+ /* `Body
6
+ ----------------------------------------------------------------------------------------------------*/
7
+
8
+ body {
9
+ background: #fff;
10
+ color: #000;
11
+ }
12
+
13
+ /* `Wrapper
14
+ ----------------------------------------------------------------------------------------------------*/
15
+
16
+ #wrapper {
17
+ margin: 0 auto;
18
+ padding: 20px;
19
+ width: 800px;
20
+ }
21
+
22
+ /* `Errors
23
+ ----------------------------------------------------------------------------------------------------*/
24
+
25
+ label.error {
26
+ background: #ffc;
27
+ color: #c00;
28
+ font-style: italic;
29
+ }
30
+
31
+ input.error,
32
+ select.error,
33
+ textarea.error {
34
+ background-color: #fee;
35
+ }
36
+
37
+ /* `Table Layout
38
+ ----------------------------------------------------------------------------------------------------*/
39
+
40
+ .horiz {
41
+ margin-top: -20px;
42
+ margin-left: -20px;
43
+ }
44
+
45
+ .horiz td {
46
+ padding: 20px 0 0 20px;
47
+ }
@@ -0,0 +1,395 @@
1
+ /* `Widths
2
+ ----------------------------------------------------------------------------------------------------*/
3
+
4
+ .input_tiny {
5
+ width: 50px;
6
+ }
7
+
8
+ .input_small {
9
+ width: 100px;
10
+ }
11
+
12
+ .input_medium {
13
+ width: 150px;
14
+ }
15
+
16
+ .input_large {
17
+ width: 200px;
18
+ }
19
+
20
+ .input_xlarge {
21
+ width: 250px;
22
+ }
23
+
24
+ .input_xxlarge {
25
+ width: 300px;
26
+ }
27
+
28
+ .input_full {
29
+ width: 100%;
30
+ }
31
+
32
+ /*
33
+ Added via JS to <textarea> and class="input_full".
34
+ Applies only to IE7. Other browsers don't need it.
35
+ */
36
+ .input_full_wrap {
37
+ display: block;
38
+ padding-right: 8px;
39
+ }
40
+
41
+ /* `UI Consistency
42
+ ----------------------------------------------------------------------------------------------------*/
43
+
44
+ ::-moz-focus-inner {
45
+ border: 0;
46
+ padding: 0;
47
+ }
48
+
49
+ input[type="search"]::-webkit-search-decoration {
50
+ display: none;
51
+ }
52
+
53
+ input,
54
+ button,
55
+ select,
56
+ textarea {
57
+ margin: 0;
58
+ vertical-align: middle;
59
+ }
60
+
61
+ input[type="radio"],
62
+ input[type="checkbox"] {
63
+ position: relative;
64
+ vertical-align: top;
65
+ top: 3px;
66
+ /* IE8, IE9, IE10 */
67
+ top: 0\0;
68
+ /* IE7 */
69
+ *top: -3px;
70
+ }
71
+
72
+ /* iPad */
73
+ @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px) {
74
+ input[type="radio"],
75
+ input[type="checkbox"] {
76
+ vertical-align: baseline;
77
+ top: 2px;
78
+ }
79
+ }
80
+
81
+ /* iPhone 3 */
82
+ @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) {
83
+ input[type="radio"],
84
+ input[type="checkbox"] {
85
+ vertical-align: baseline;
86
+ top: 0;
87
+ }
88
+ }
89
+
90
+ /* iPhone 4 */
91
+ @media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px) {
92
+ input[type="radio"],
93
+ input[type="checkbox"] {
94
+ vertical-align: baseline;
95
+ top: 0;
96
+ }
97
+ }
98
+
99
+ button,
100
+ input[type="reset"],
101
+ input[type="submit"],
102
+ input[type="button"] {
103
+ -webkit-appearance: none;
104
+ -moz-border-radius: 4px;
105
+ -webkit-border-radius: 4px;
106
+ border-radius: 4px;
107
+ -moz-background-clip: padding;
108
+ -webkit-background-clip: padding;
109
+ background-clip: padding-box;
110
+ background: #ddd url(/assets/images/button.png) repeat-x;
111
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(1, #ddd));
112
+ background: -moz-linear-gradient(top center, #fff 0%, #ddd 100%);
113
+ border: 1px solid;
114
+ border-color: #ddd #bbb #999;
115
+ cursor: pointer;
116
+ color: #333;
117
+ /*
118
+ Helvetica Neue present, because it works better
119
+ for line-height on buttons than Arial, on OS X.
120
+ */
121
+ font: bold 12px/1.3 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif;
122
+ outline: 0;
123
+ overflow: visible;
124
+ padding: 3px 10px;
125
+ text-shadow: #fff 0 1px 1px;
126
+ width: auto;
127
+
128
+ /* IE7 */
129
+ *padding-top: 2px;
130
+ *padding-bottom: 0px;
131
+ }
132
+
133
+ button {
134
+ /* IE7 */
135
+ *padding-top: 1px;
136
+ *padding-bottom: 1px;
137
+ }
138
+
139
+ textarea,
140
+ select,
141
+ input[type="date"],
142
+ input[type="datetime"],
143
+ input[type="datetime-local"],
144
+ input[type="email"],
145
+ input[type="month"],
146
+ input[type="number"],
147
+ input[type="password"],
148
+ input[type="search"],
149
+ input[type="tel"],
150
+ input[type="text"],
151
+ input[type="time"],
152
+ input[type="url"],
153
+ input[type="week"] {
154
+ -webkit-appearance: none;
155
+ -moz-border-radius: 0;
156
+ -webkit-border-radius: 0;
157
+ border-radius: 0;
158
+ -webkit-box-sizing: border-box;
159
+ -moz-box-sizing: border-box;
160
+ box-sizing: border-box;
161
+ -moz-background-clip: padding;
162
+ -webkit-background-clip: padding;
163
+ background-clip: padding-box;
164
+ background-color: #fff;
165
+ border: 1px solid;
166
+ border-color: #848484 #c1c1c1 #e1e1e1;
167
+ color: #000;
168
+ outline: 0;
169
+ padding: 2px 3px;
170
+ font-size: 13px;
171
+ /*
172
+ Leaving out Helvetica Neue, to not throw off size="..."
173
+ on inputs. Arial is more reliable, on Windows and OS X.
174
+ */
175
+ font-family: Arial, 'Liberation Sans', FreeSans, sans-serif;
176
+ height: 1.8em;
177
+
178
+ /* IE7 */
179
+ *padding-top: 2px;
180
+ *padding-bottom: 1px;
181
+ *height: auto;
182
+ }
183
+
184
+ /*
185
+ Separate rule for Firefox.
186
+ Separate rule for IE, too.
187
+ Cannot stack with WebKit's.
188
+ */
189
+ ::-webkit-input-placeholder {
190
+ color: #888;
191
+ }
192
+
193
+ input:-moz-placeholder,
194
+ textarea:-moz-placeholder {
195
+ color: #888;
196
+ }
197
+
198
+ input.placeholder_text,
199
+ textarea.placeholder_text {
200
+ color: #888;
201
+ }
202
+
203
+ :invalid {
204
+ /*
205
+ Suppress red glow that Firefox
206
+ adds to form fields by default,
207
+ even when user is still typing.
208
+ */
209
+ -moz-box-shadow: none;
210
+ -webkit-box-shadow: none;
211
+ box-shadow: none;
212
+ }
213
+
214
+ button:focus,
215
+ button:active,
216
+ input:focus,
217
+ input:active,
218
+ select:focus,
219
+ select:active,
220
+ textarea:focus,
221
+ textarea:active {
222
+ -moz-box-shadow: #06f 0 0 7px;
223
+ -webkit-box-shadow: #06f 0 0 7px;
224
+ box-shadow: #06f 0 0 7px;
225
+
226
+ /* for Opera */
227
+ z-index: 1;
228
+ }
229
+
230
+ input[type="file"]:focus,
231
+ input[type="file"]:active,
232
+ input[type="radio"]:focus,
233
+ input[type="radio"]:active,
234
+ input[type="checkbox"]:focus,
235
+ input[type="checkbox"]:active {
236
+ -moz-box-shadow: none;
237
+ -webkit-box-shadow: none;
238
+ box-shadow: none;
239
+ }
240
+
241
+ select[disabled],
242
+ textarea[disabled],
243
+ input[type="date"][disabled],
244
+ input[type="datetime"][disabled],
245
+ input[type="datetime-local"][disabled],
246
+ input[type="email"][disabled],
247
+ input[type="month"][disabled],
248
+ input[type="number"][disabled],
249
+ input[type="password"][disabled],
250
+ input[type="search"][disabled],
251
+ input[type="tel"][disabled],
252
+ input[type="text"][disabled],
253
+ input[type="time"][disabled],
254
+ input[type="url"][disabled],
255
+ input[type="week"][disabled] {
256
+ background-color: #eee;
257
+ }
258
+
259
+ button[disabled],
260
+ input[disabled],
261
+ select[disabled],
262
+ select[disabled] option,
263
+ select[disabled] optgroup,
264
+ textarea[disabled] {
265
+ -moz-box-shadow: none;
266
+ -webkit-box-shadow: none;
267
+ box-shadow: none;
268
+ -webkit-user-select: none;
269
+ -moz-user-select: none;
270
+ user-select: none;
271
+ color: #888;
272
+ cursor: default;
273
+ }
274
+
275
+ textarea,
276
+ select[size],
277
+ select[multiple] {
278
+ height: auto;
279
+ }
280
+
281
+ /* Tweaks for Safari + Chrome. */
282
+ @media (-webkit-min-device-pixel-ratio: 0) {
283
+ select {
284
+ background-image: url(/assets/images/select_arrow.gif);
285
+ background-repeat: no-repeat;
286
+ background-position: right center;
287
+ padding-right: 20px;
288
+ }
289
+
290
+ select[size],
291
+ select[multiple] {
292
+ background-image: none;
293
+ padding: 0;
294
+ }
295
+
296
+ ::-webkit-validation-bubble-message {
297
+ box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
298
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000));
299
+ border: 1px solid;
300
+ border-color: #747474 #5e5e5e #4f4f4f;
301
+ color: #fff;
302
+ font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif;
303
+ padding: 15px 15px 17px;
304
+ text-shadow: #000 0 0 1px;
305
+ }
306
+
307
+ ::-webkit-validation-bubble-arrow,
308
+ ::-webkit-validation-bubble-top-outer-arrow,
309
+ ::-webkit-validation-bubble-top-inner-arrow {
310
+ display: none;
311
+ }
312
+ }
313
+
314
+ textarea {
315
+ min-height: 40px;
316
+ overflow: auto;
317
+ resize: vertical;
318
+ width: 100%;
319
+ }
320
+
321
+ optgroup {
322
+ color: #000;
323
+ font-style: normal;
324
+ font-weight: normal;
325
+ }
326
+
327
+ /* `IE6
328
+ ----------------------------------------------------------------------------------------------------*/
329
+
330
+ /*
331
+ Everything below this line is for IE6.
332
+ Delete it if you don't support it! :)
333
+
334
+ Classes are added dynamically via JS,
335
+ because IE6 doesn't support attribute
336
+ selectors: .ie6_button, .ie6_input, etc.
337
+
338
+ Note: These style rules are somewhat
339
+ duplicated because IE6 bombs out when
340
+ it sees attribute selectors. Example:
341
+
342
+ .ie6_button {
343
+ This works in IE6.
344
+ }
345
+
346
+ .ie6_button,
347
+ input[type=submit] {
348
+ This doesn't work.
349
+ }
350
+ */
351
+
352
+ .ie6_button,
353
+ * html button {
354
+ background: #ddd url(/assets/images/button.png) repeat-x;
355
+ border: 1px solid;
356
+ border-color: #ddd #bbb #999;
357
+ cursor: pointer;
358
+ color: #333;
359
+ font: bold 12px/1.2 Arial, sans-serif;
360
+ padding: 2px 10px 0px;
361
+ overflow: visible;
362
+ width: auto;
363
+ }
364
+
365
+ * html button {
366
+ padding-top: 1px;
367
+ padding-bottom: 1px;
368
+ }
369
+
370
+ .ie6_input,
371
+ * html textarea,
372
+ * html select {
373
+ background: #fff;
374
+ border: 1px solid;
375
+ border-color: #848484 #c1c1c1 #e1e1e1;
376
+ color: #000;
377
+ padding: 2px 3px 1px;
378
+ font-size: 13px;
379
+ font-family: Arial, sans-serif;
380
+ vertical-align: top;
381
+ }
382
+
383
+ * html select {
384
+ margin-top: 1px;
385
+ }
386
+
387
+ .placeholder_text,
388
+ .ie6_input_disabled,
389
+ .ie6_button_disabled {
390
+ color: #888;
391
+ }
392
+
393
+ .ie6_input_disabled {
394
+ background: #eee;
395
+ }