solidus_frontend_devise_token_auth 2.8.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +26 -0
  3. data/README.md +42 -0
  4. data/Rakefile +17 -0
  5. data/app/assets/config/solidus_frontend_manifest.js +4 -0
  6. data/app/assets/images/credit_cards/amex_cid.gif +0 -0
  7. data/app/assets/images/credit_cards/credit_card.gif +0 -0
  8. data/app/assets/images/credit_cards/discover_cid.gif +0 -0
  9. data/app/assets/images/credit_cards/icons/american_express.png +0 -0
  10. data/app/assets/images/credit_cards/icons/cirrus.png +0 -0
  11. data/app/assets/images/credit_cards/icons/delta.png +0 -0
  12. data/app/assets/images/credit_cards/icons/diners_club.png +0 -0
  13. data/app/assets/images/credit_cards/icons/directdebit.png +0 -0
  14. data/app/assets/images/credit_cards/icons/discover.png +0 -0
  15. data/app/assets/images/credit_cards/icons/egold.png +0 -0
  16. data/app/assets/images/credit_cards/icons/maestro.png +0 -0
  17. data/app/assets/images/credit_cards/icons/master.png +0 -0
  18. data/app/assets/images/credit_cards/icons/paypal.png +0 -0
  19. data/app/assets/images/credit_cards/icons/solo.png +0 -0
  20. data/app/assets/images/credit_cards/icons/switch.png +0 -0
  21. data/app/assets/images/credit_cards/icons/visa.png +0 -0
  22. data/app/assets/images/credit_cards/icons/visaelectron.png +0 -0
  23. data/app/assets/images/credit_cards/icons/westernunion.png +0 -0
  24. data/app/assets/images/credit_cards/icons/wirecard.png +0 -0
  25. data/app/assets/images/credit_cards/icons/worldpay.png +0 -0
  26. data/app/assets/images/credit_cards/master_cid.jpg +0 -0
  27. data/app/assets/images/credit_cards/visa_cid.gif +0 -0
  28. data/app/assets/images/favicon.ico +0 -0
  29. data/app/assets/images/icons/add-to-cart.png +0 -0
  30. data/app/assets/images/icons/checkout.png +0 -0
  31. data/app/assets/images/icons/delete.png +0 -0
  32. data/app/assets/images/icons/update.png +0 -0
  33. data/app/assets/images/spinner.gif +0 -0
  34. data/app/assets/images/spree/frontend/cart.png +0 -0
  35. data/app/assets/javascripts/spree/frontend/cart.js +30 -0
  36. data/app/assets/javascripts/spree/frontend/checkout/address.js +127 -0
  37. data/app/assets/javascripts/spree/frontend/checkout/coupon-code.js +41 -0
  38. data/app/assets/javascripts/spree/frontend/checkout/payment.js +55 -0
  39. data/app/assets/javascripts/spree/frontend/checkout.js +24 -0
  40. data/app/assets/javascripts/spree/frontend/locale_selector.js +5 -0
  41. data/app/assets/javascripts/spree/frontend/product.js +81 -0
  42. data/app/assets/javascripts/spree/frontend.js +5 -0
  43. data/app/assets/stylesheets/spree/frontend/_skeleton.scss +242 -0
  44. data/app/assets/stylesheets/spree/frontend/_variables.scss +65 -0
  45. data/app/assets/stylesheets/spree/frontend/screen.css.scss +1387 -0
  46. data/app/assets/stylesheets/spree/frontend.css +5 -0
  47. data/app/controllers/spree/checkout_controller.rb +236 -0
  48. data/app/controllers/spree/content_controller.rb +11 -0
  49. data/app/controllers/spree/home_controller.rb +14 -0
  50. data/app/controllers/spree/locale_controller.rb +20 -0
  51. data/app/controllers/spree/orders_controller.rb +138 -0
  52. data/app/controllers/spree/products_controller.rb +52 -0
  53. data/app/controllers/spree/store_controller.rb +30 -0
  54. data/app/controllers/spree/taxons_controller.rb +31 -0
  55. data/app/helpers/spree/orders_helper.rb +18 -0
  56. data/app/helpers/spree/taxon_filters_helper.rb +13 -0
  57. data/app/models/spree/frontend_configuration.rb +10 -0
  58. data/app/views/spree/address/_form.html.erb +96 -0
  59. data/app/views/spree/address/_form_hidden.html.erb +12 -0
  60. data/app/views/spree/checkout/_address.html.erb +33 -0
  61. data/app/views/spree/checkout/_confirm.html.erb +25 -0
  62. data/app/views/spree/checkout/_coupon_code.html.erb +12 -0
  63. data/app/views/spree/checkout/_delivery.html.erb +108 -0
  64. data/app/views/spree/checkout/_payment.html.erb +67 -0
  65. data/app/views/spree/checkout/_summary.html.erb +76 -0
  66. data/app/views/spree/checkout/_terms_and_conditions.en.html.erb +1 -0
  67. data/app/views/spree/checkout/edit.html.erb +32 -0
  68. data/app/views/spree/checkout/existing_payment/_gateway.html.erb +9 -0
  69. data/app/views/spree/checkout/payment/_check.html.erb +0 -0
  70. data/app/views/spree/checkout/payment/_gateway.html.erb +36 -0
  71. data/app/views/spree/content/cvv.html.erb +13 -0
  72. data/app/views/spree/home/index.html.erb +12 -0
  73. data/app/views/spree/layouts/spree_application.html.erb +36 -0
  74. data/app/views/spree/orders/_adjustment_row.html.erb +8 -0
  75. data/app/views/spree/orders/_adjustments.html.erb +24 -0
  76. data/app/views/spree/orders/_form.html.erb +29 -0
  77. data/app/views/spree/orders/_line_item.html.erb +34 -0
  78. data/app/views/spree/orders/edit.html.erb +47 -0
  79. data/app/views/spree/orders/show.html.erb +22 -0
  80. data/app/views/spree/payments/_payment.html.erb +18 -0
  81. data/app/views/spree/products/_cart_form.html.erb +65 -0
  82. data/app/views/spree/products/_image.html.erb +8 -0
  83. data/app/views/spree/products/_promotions.html.erb +19 -0
  84. data/app/views/spree/products/_properties.html.erb +15 -0
  85. data/app/views/spree/products/_taxons.html.erb +14 -0
  86. data/app/views/spree/products/_thumbnails.html.erb +21 -0
  87. data/app/views/spree/products/index.html.erb +27 -0
  88. data/app/views/spree/products/show.html.erb +51 -0
  89. data/app/views/spree/shared/_address.html.erb +38 -0
  90. data/app/views/spree/shared/_filters.html.erb +27 -0
  91. data/app/views/spree/shared/_footer.html.erb +6 -0
  92. data/app/views/spree/shared/_head.html.erb +14 -0
  93. data/app/views/spree/shared/_header.html.erb +5 -0
  94. data/app/views/spree/shared/_image.html.erb +12 -0
  95. data/app/views/spree/shared/_link_to_cart.html.erb +1 -0
  96. data/app/views/spree/shared/_locale_selector.html.erb +25 -0
  97. data/app/views/spree/shared/_login_bar_items.html.erb +1 -0
  98. data/app/views/spree/shared/_main_nav_bar.html.erb +12 -0
  99. data/app/views/spree/shared/_nav_bar.html.erb +9 -0
  100. data/app/views/spree/shared/_order_details.html.erb +146 -0
  101. data/app/views/spree/shared/_products.html.erb +51 -0
  102. data/app/views/spree/shared/_search.html.erb +11 -0
  103. data/app/views/spree/shared/_shipment_tracking.html.erb +9 -0
  104. data/app/views/spree/shared/_sidebar.html.erb +3 -0
  105. data/app/views/spree/shared/_taxonomies.html.erb +9 -0
  106. data/app/views/spree/shared/unauthorized.html.erb +0 -0
  107. data/app/views/spree/store/cart_link.html.erb +1 -0
  108. data/app/views/spree/taxons/_taxon.html.erb +4 -0
  109. data/app/views/spree/taxons/show.html.erb +20 -0
  110. data/config/initializers/assets.rb +3 -0
  111. data/config/initializers/canonical_rails.rb +16 -0
  112. data/config/routes.rb +33 -0
  113. data/lib/generators/solidus/views/override_generator.rb +49 -0
  114. data/lib/solidus_frontend.rb +3 -0
  115. data/lib/spree/frontend/engine.rb +13 -0
  116. data/lib/spree/frontend/middleware/seo_assist.rb +52 -0
  117. data/lib/spree/frontend.rb +15 -0
  118. data/lib/spree_frontend.rb +3 -0
  119. data/lib/tasks/rake_util.rb +18 -0
  120. data/lib/tasks/taxon.rake +16 -0
  121. data/script/rails +10 -0
  122. data/solidus_frontend.gemspec +35 -0
  123. data/spec/controllers/controller_helpers_spec.rb +30 -0
  124. data/spec/controllers/locale_controller_spec.rb +57 -0
  125. data/spec/controllers/spree/checkout_controller_spec.rb +539 -0
  126. data/spec/controllers/spree/checkout_controller_with_views_spec.rb +37 -0
  127. data/spec/controllers/spree/content_controller_spec.rb +9 -0
  128. data/spec/controllers/spree/current_order_tracking_spec.rb +47 -0
  129. data/spec/controllers/spree/home_controller_spec.rb +29 -0
  130. data/spec/controllers/spree/orders_controller_ability_spec.rb +93 -0
  131. data/spec/controllers/spree/orders_controller_spec.rb +225 -0
  132. data/spec/controllers/spree/orders_controller_transitions_spec.rb +33 -0
  133. data/spec/controllers/spree/products_controller_spec.rb +38 -0
  134. data/spec/controllers/spree/taxons_controller_spec.rb +14 -0
  135. data/spec/features/address_spec.rb +78 -0
  136. data/spec/features/automatic_promotion_adjustments_spec.rb +49 -0
  137. data/spec/features/caching/products_spec.rb +48 -0
  138. data/spec/features/caching/taxons_spec.rb +21 -0
  139. data/spec/features/cart_spec.rb +85 -0
  140. data/spec/features/checkout_spec.rb +690 -0
  141. data/spec/features/checkout_unshippable_spec.rb +37 -0
  142. data/spec/features/coupon_code_spec.rb +266 -0
  143. data/spec/features/currency_spec.rb +20 -0
  144. data/spec/features/free_shipping_promotions_spec.rb +60 -0
  145. data/spec/features/locale_spec.rb +27 -0
  146. data/spec/features/order_spec.rb +73 -0
  147. data/spec/features/products_spec.rb +291 -0
  148. data/spec/features/promotion_code_invalidation_spec.rb +54 -0
  149. data/spec/features/quantity_promotions_spec.rb +130 -0
  150. data/spec/features/taxons_spec.rb +158 -0
  151. data/spec/features/template_rendering_spec.rb +20 -0
  152. data/spec/fixtures/thinking-cat.jpg +0 -0
  153. data/spec/generators/solidus/views/override_generator_spec.rb +50 -0
  154. data/spec/helpers/base_helper_spec.rb +13 -0
  155. data/spec/helpers/order_helper_spec.rb +14 -0
  156. data/spec/helpers/taxon_filters_helper_spec.rb +12 -0
  157. data/spec/spec_helper.rb +106 -0
  158. data/spec/support/features/fill_in_with_force.rb +12 -0
  159. data/spec/support/shared_contexts/checkout_setup.rb +12 -0
  160. data/spec/support/shared_contexts/custom_products.rb +28 -0
  161. data/spec/support/shared_contexts/locales.rb +16 -0
  162. data/spec/views/spree/checkout/_summary_spec.rb +11 -0
  163. metadata +337 -0
@@ -0,0 +1,1387 @@
1
+ //= depend_on_asset "fontawesome-webfont.eot"
2
+ //= depend_on_asset "fontawesome-webfont.woff"
3
+ //= depend_on_asset "fontawesome-webfont.ttf"
4
+ //= depend_on_asset "fontawesome-webfont.svg"
5
+ //= depend_on_asset "spree/frontend/cart.png"
6
+
7
+ @import 'spree/frontend/skeleton';
8
+ @import 'spree/frontend/variables';
9
+ @import 'font-awesome';
10
+
11
+ /*--------------------------------------*/
12
+ /* Basic styles
13
+ /*--------------------------------------*/
14
+ body {
15
+ font-family: $ff_base;
16
+ font-size: $base_font_size;
17
+ font-weight: 400;
18
+ color: $body_text_color;
19
+ line-height: 18px;
20
+ background-color: $layout_background_color;
21
+ -webkit-font-smoothing: antialiased;
22
+ }
23
+
24
+ /* Line style */
25
+ hr {
26
+ height: 0;
27
+ background-color: transparent;
28
+ color: transparent;
29
+ border: none;
30
+ border-bottom: $default_border;
31
+ }
32
+
33
+ ins {background-color: $link_text_color; color: $layout_background_color; text-decoration: none;}
34
+ mark {background-color: $link_text_color; color: $layout_background_color; font-style: italic; font-weight: bold;}
35
+
36
+ /*--------------------------------------*/
37
+ /* Links
38
+ /*--------------------------------------*/
39
+ a {
40
+ text-decoration: none;
41
+ color: $link_text_color;
42
+
43
+ &:hover {
44
+ color: darken($link_text_color, 10);
45
+ }
46
+
47
+ &:active, &:focus {
48
+ outline: none;
49
+ }
50
+ }
51
+
52
+ /*--------------------------------------*/
53
+ /* Lists
54
+ /*--------------------------------------*/
55
+ ul, ol {
56
+ margin-left: 0;
57
+ margin-top: 0;
58
+ -webkit-padding-start: 0px;
59
+ padding-left: 0;
60
+ list-style-position: inside;
61
+
62
+ &.inline {
63
+ li {
64
+ display: inline-block;
65
+ }
66
+ }
67
+ }
68
+
69
+ dl {
70
+ dt, dd {
71
+ display: inline-block;
72
+ width: 50%;
73
+ padding: 5px;
74
+
75
+ &.odd {
76
+ background-color: $table_head_color;
77
+ }
78
+ }
79
+ dt {
80
+ font-weight: bold;
81
+ text-transform: uppercase;
82
+ }
83
+ dd {
84
+ margin-left: -23px;
85
+ }
86
+ }
87
+
88
+ /*--------------------------------------*/
89
+ /* Headers
90
+ /*--------------------------------------*/
91
+ h1 { font-size: $heading_font_size; line-height: $heading_font_size + 10; }
92
+ h2 { font-size: $heading_font_size - 2; line-height: $heading_font_size - 2 + 10; }
93
+ h3 { font-size: $heading_font_size - 4; line-height: $heading_font_size - 4 + 10; }
94
+ h4 { font-size: $heading_font_size - 6; line-height: $heading_font_size - 6 + 10; }
95
+ h5 { font-size: $sub_heading_font_size; line-height: $sub_heading_font_size + 10; }
96
+ h6 { font-size: $sub_heading_font_size - 2; line-height: $sub_heading_font_size - 2 + 10; }
97
+
98
+ h1, h2, h3, h4, h5, h6 {
99
+ font-weight: 700;
100
+ color: $title_text_color;
101
+ -webkit-margin-before: 0;
102
+ -webkit-margin-after: 0;
103
+ margin-top: 0;
104
+ margin-bottom: 0;
105
+ }
106
+
107
+ /*--------------------------------------*/
108
+ /* Forms
109
+ /*--------------------------------------*/
110
+ textarea, input[type="date"],
111
+ input[type="datetime"], input[type="datetime-local"],
112
+ input[type="email"], input[type="month"], input[type="number"],
113
+ input[type="password"], input[type="search"], input[type="tel"],
114
+ input[type="text"], input[type="time"], input[type="url"],
115
+ input[type="week"] {
116
+ border: $default_border;
117
+ padding: 5px;
118
+ font-family: $ff_base;
119
+ font-size: $input_box_font_size;
120
+
121
+ -webkit-box-sizing: border-box;
122
+ -moz-box-sizing: border-box;
123
+ box-sizing: border-box;
124
+
125
+ &:active, &:focus {
126
+ border-color: $link_text_color;
127
+ outline: none;
128
+ -webkit-box-shadow: none;
129
+ -moz-box-shadow: none;
130
+ -o-box-shadow: none;
131
+ box-shadow: none;
132
+ }
133
+
134
+ &.error {
135
+ border-color: $c_red;
136
+ }
137
+ }
138
+
139
+ label.error {
140
+ display: block;
141
+ font-size: $base_font_size - 1;
142
+ color: $c_red;
143
+ margin-top: 3px;
144
+ }
145
+
146
+ .field {
147
+ padding: 10px 0;
148
+
149
+ label {
150
+ display: inline-block;
151
+ margin-bottom: 5px;
152
+ }
153
+
154
+ input,
155
+ select {
156
+ display: block;
157
+ }
158
+
159
+ &-required label:after {
160
+ content: "*";
161
+ display: inline-block;
162
+ color: $c_red;
163
+ font-weight: bold;
164
+ font-size: 1.2em;
165
+ margin-left: 3px;
166
+ }
167
+ }
168
+
169
+ fieldset {
170
+ margin: 0;
171
+ min-width: 100%;
172
+
173
+ -webkit-box-sizing: border-box;
174
+ -moz-box-sizing: border-box;
175
+ box-sizing: border-box;
176
+ }
177
+
178
+ input[type="submit"], input[type="button"],
179
+ input[type= "reset"], button, a.button {
180
+ background-color: $link_text_color;
181
+ background-image: none;
182
+ text-shadow: none;
183
+ color: $layout_background_color;
184
+ font-weight: bold;
185
+ font-size: $button_font_size;
186
+ font-family: $ff_base;
187
+ border: 1px solid $button_border_color;
188
+ padding: 6px 10px 5px;
189
+ vertical-align: top;
190
+
191
+ -webkit-font-smoothing: antialiased;
192
+
193
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
194
+ -khtml-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
195
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
196
+ -o-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
197
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
198
+ -webkit-border-radius: 0px;
199
+ -khtml-border-radius: 0px;
200
+ -moz-border-radius: 0px;
201
+ -ms-border-radius: 0px;
202
+ -o-border-radius: 0px;
203
+ border-radius: 0px;
204
+
205
+ &.large {
206
+ padding: 7px 10px;
207
+ font-size: $button_font_size + 2;
208
+ }
209
+
210
+ &.gray {
211
+ background-color: lighten($body_text_color, 20);
212
+ border-color: lighten($body_text_color, 10);
213
+ }
214
+
215
+ &:hover {
216
+ background-image: none;
217
+ background-color: $body_text_color;
218
+ border-color: $body_text_color;
219
+ color: $layout_background_color;
220
+ }
221
+ }
222
+
223
+ .ie8 {
224
+ a.button {
225
+ line-height: 16px;
226
+ }
227
+ }
228
+
229
+ input[type=button],
230
+ input[type=submit],
231
+ button {
232
+ &.disabled {
233
+ background:#ccc;
234
+ border-color: #ccc;
235
+ text-shadow:none;
236
+ }
237
+ }
238
+
239
+ input[type="checkbox"], label {
240
+ vertical-align: middle;
241
+ }
242
+
243
+ a.button {
244
+ display: inline-block;
245
+ line-height: 15px;
246
+ margin-top: -2px;
247
+ vertical-align: bottom;
248
+ }
249
+
250
+ /*--------------------------------------*/
251
+ /* Footer
252
+ /*--------------------------------------*/
253
+ footer#footer {
254
+ padding: 10px 0;
255
+ border-top: $default_border;
256
+ }
257
+
258
+ /*--------------------------------------*/
259
+ /* Paragraphs
260
+ /*--------------------------------------*/
261
+ p {
262
+ padding: 10px 0;
263
+ }
264
+
265
+ /*--------------------------------------*/
266
+ /* Tables
267
+ /*--------------------------------------*/
268
+ table {
269
+ thead {
270
+ background-color: $table_head_color;
271
+ text-transform: uppercase;
272
+
273
+ tr {
274
+ th {
275
+ padding: 5px 10px;
276
+ }
277
+ }
278
+ }
279
+
280
+ tbody, tfoot {
281
+ tr {
282
+ border-bottom: $default_border;
283
+
284
+ td {
285
+ vertical-align: middle;
286
+ padding: 5px 10px;
287
+ }
288
+
289
+ &.alt, &.odd {
290
+ background-color: lighten($link_text_color, 50);
291
+ }
292
+ }
293
+ }
294
+ }
295
+
296
+ /*--------------------------------------*/
297
+ /* Navigation
298
+ /*--------------------------------------*/
299
+ nav#top-nav-bar {
300
+ text-align: right;
301
+ margin-top: 20px;
302
+
303
+ ul {
304
+ li {
305
+ margin-bottom: 5px;
306
+ padding-left: 10px;
307
+
308
+ a{
309
+ font-weight: bold;
310
+ font-size: $header_navigation_font_size;
311
+ text-transform: uppercase;
312
+ }
313
+ }
314
+ }
315
+ }
316
+
317
+ nav #main-nav-bar {
318
+ text-transform: uppercase;
319
+ font-weight: bold;
320
+ margin-top: 20px;
321
+ border-bottom: $default_border;
322
+ padding-bottom: 6px;
323
+
324
+ li {
325
+
326
+ a {
327
+ font-size: $horizontal_navigation_font_size;
328
+ padding: 5px;
329
+ }
330
+
331
+ &:first-child {
332
+ a {
333
+ padding-left: 0
334
+ }
335
+ }
336
+
337
+ &#link-to-cart {
338
+ float: right;
339
+ padding-left: 24px;
340
+ background: image-url("spree/frontend/cart.png") no-repeat left center;
341
+
342
+ &:hover {
343
+ border-color: $link_text_color;
344
+
345
+ .amount {
346
+ border-color: $link_text_color;
347
+ }
348
+ }
349
+
350
+ a {
351
+ font-weight: normal;
352
+ font-size: $horizontal_navigation_font_size;
353
+ color: $link_text_color;
354
+
355
+ .amount {
356
+ font-size: $horizontal_navigation_font_size + 2;
357
+ font-weight: bold;
358
+ border-left: $default_border;
359
+ padding-left: 5px;
360
+ padding-bottom: 5px;
361
+ }
362
+ }
363
+ }
364
+ }
365
+ }
366
+
367
+ nav#taxonomies {
368
+ .taxonomy-root {
369
+ text-transform: uppercase;
370
+ border-bottom: $default_border;
371
+ margin-bottom: 5px;
372
+ font-size: $main_navigation_header_font_size;
373
+ }
374
+
375
+ .taxons-list {
376
+ ul {
377
+ margin-left: 1em;
378
+ }
379
+ li {
380
+ font-size: $main_navigation_font_size;
381
+ font-weight: normal;
382
+ &.current {
383
+ font-weight: bold;
384
+ }
385
+ }
386
+ }
387
+ }
388
+
389
+ #breadcrumbs {
390
+ border-bottom: $default_border;
391
+ padding: 3px 0;
392
+ margin-bottom: 15px;
393
+
394
+ li {
395
+ a {
396
+ color: $link_text_color;
397
+ }
398
+ span {
399
+ text-transform: uppercase;
400
+ font-weight: bold;
401
+ }
402
+ }
403
+ }
404
+
405
+ /*--------------------------------------*/
406
+ /* Flash notices & errors
407
+ /*--------------------------------------*/
408
+ .flash {
409
+ padding: 10px;
410
+ color: $layout_background_color;
411
+ font-weight: bold;
412
+ margin-bottom: 10px;
413
+
414
+ &.notice {
415
+ background-color: $link_text_color;
416
+ }
417
+ &.success {
418
+ background-color: $c_green;
419
+ }
420
+ &.error {
421
+ background-color: $c_red;
422
+ }
423
+ }
424
+
425
+ .errorExplanation {
426
+ @extend .flash;
427
+ background-color: $c_red;
428
+
429
+ p {
430
+ font-weight: normal;
431
+ }
432
+
433
+ ul {
434
+ list-style: disc outside;
435
+ margin-left: 30px;
436
+
437
+ li {
438
+ font-weight: normal;
439
+ }
440
+ }
441
+ }
442
+
443
+ /*--------------------------------------*/
444
+ /* Main search bar
445
+ /*--------------------------------------*/
446
+ #search-bar {
447
+ display: block;
448
+ }
449
+
450
+ /*--------------------------------------*/
451
+ /* Products
452
+ /*--------------------------------------*/
453
+ [data-hook="product_show"] {
454
+ h6 {
455
+ font-size: $product_detail_title_font_size;
456
+ }
457
+ }
458
+
459
+ .product-section-title {
460
+ text-transform: uppercase;
461
+ margin-top: 15px;
462
+ }
463
+
464
+ .add-to-cart {
465
+ margin-top: 15px;
466
+
467
+ input[type="number"] {
468
+ margin-right: 3px;
469
+ width: 60px;
470
+ vertical-align: middle;
471
+ padding: 8px 10px;
472
+ }
473
+ }
474
+
475
+ %price_text {
476
+ font-weight: bold;
477
+ color: $product_price_text_color;
478
+ }
479
+
480
+ span.price {
481
+ @extend %price_text;
482
+
483
+ &.selling {
484
+ font-size: $product_detail_price_font_size;
485
+ }
486
+
487
+ &.diff {
488
+ font-weight: bold;
489
+ }
490
+ }
491
+
492
+ .taxon-title {
493
+ font-size: $product_list_header_font_size;
494
+ }
495
+
496
+ .search-results-title {
497
+ font-size: $product_list_search_font_size;
498
+ }
499
+
500
+ ul#products {
501
+ &:after {
502
+ content: " ";
503
+ display: block;
504
+ clear: both;
505
+ visibility: hidden;
506
+ line-height: 0;
507
+ height: 0;
508
+ }
509
+
510
+ li {
511
+ text-align: center;
512
+ font-weight: bold;
513
+ margin-bottom: 20px;
514
+
515
+ a {
516
+ display: block;
517
+
518
+ &.info {
519
+ height: 35px;
520
+ margin-top: 5px;
521
+ font-size: $product_list_name_font_size;
522
+ color: $product_link_text_color;
523
+ border-bottom: $default_border;
524
+ overflow: hidden;
525
+ }
526
+ }
527
+
528
+ .product-image {
529
+ border: $default_border;
530
+ padding: 5px;
531
+ min-height: 110px;
532
+ background-color: $product_background_color;
533
+
534
+ &:hover {
535
+ border-color: $link_text_color;
536
+ }
537
+
538
+ img {
539
+ max-width: 100%; /* Fluid images for product */
540
+ }
541
+
542
+ }
543
+
544
+ .price {
545
+ color: $product_price_text_color;
546
+ font-size: $product_list_price_font_size;
547
+ padding-top: 5px;
548
+ display: block;
549
+ }
550
+ }
551
+ }
552
+
553
+ .subtaxon-title {
554
+ text-transform: uppercase;
555
+
556
+ a {
557
+ color: $link_text_color;
558
+ }
559
+ }
560
+
561
+ .search-results-title {
562
+ text-transform: uppercase;
563
+ border-bottom: $default_border;
564
+ margin-bottom: 10px;
565
+ }
566
+
567
+ #sidebar_products_search {
568
+ .navigation {
569
+ margin-bottom: 15px;
570
+ }
571
+
572
+ .filter-title {
573
+ display: block;
574
+ font-weight: bold;
575
+ text-transform: uppercase;
576
+ border-bottom: 1px solid #ededed;
577
+ margin-bottom: 5px;
578
+ color: $link_text_color;
579
+ font-size: $base_font_size + 2;
580
+ line-height: 24px;
581
+ }
582
+ }
583
+
584
+ .taxon {
585
+ overflow: hidden;
586
+ }
587
+
588
+ #product-images {
589
+ #main-image {
590
+ text-align: center;
591
+ border: $default_border;
592
+ background-color: $product_background_color;
593
+
594
+ img {
595
+ min-height: 240px;
596
+ max-width: 100%; /* Fluid images for product */
597
+ }
598
+ }
599
+ #product-thumbnails {
600
+ li {
601
+ background-color: $product_background_color;
602
+ }
603
+ }
604
+ }
605
+
606
+ #product-description {
607
+ .product-title {
608
+ border-bottom: $default_border;
609
+ margin-bottom: 15px;
610
+ color: $product_title_text_color;
611
+ font-size: $product_detail_name_font_size;
612
+ }
613
+
614
+ [data-hook="product-description"] {
615
+ font-size: $product_detail_description_font_size;
616
+ color: $product_body_text_color;
617
+ }
618
+ }
619
+
620
+ #product-thumbnails {
621
+ margin-top: 10px;
622
+
623
+ li {
624
+ margin-right: 6px;
625
+ border: $default_border;
626
+
627
+ img {
628
+ padding: 5px;
629
+ }
630
+
631
+ &:hover, &.selected {
632
+ border-color: $link_text_color;
633
+ }
634
+ }
635
+ }
636
+
637
+ #product-properties {
638
+ border: $default_border;
639
+ padding: 10px;
640
+ width: 100%;
641
+ }
642
+
643
+ #product-variants {
644
+ ul {
645
+ li {
646
+ padding: 5px;
647
+ }
648
+ }
649
+ }
650
+
651
+ #cart-form {
652
+ #inside-product-cart-form:after {
653
+ content: " ";
654
+ display: block;
655
+ clear: both;
656
+ visibility: hidden;
657
+ line-height: 0;
658
+ height: 0;
659
+ }
660
+ }
661
+
662
+ /*--------------------------------------*/
663
+ /* Checkout
664
+ /*--------------------------------------*/
665
+ .checkout_form_wrapper {
666
+ text-align: left;
667
+ }
668
+
669
+ .out-of-stock {
670
+ background: #df0000;
671
+ color: white;
672
+ padding: 5px;
673
+ padding-right: 10px;
674
+ font-weight: bold;
675
+ }
676
+
677
+ .progress-steps {
678
+ list-style: decimal inside;
679
+ overflow: auto;
680
+
681
+ li {
682
+ float: left;
683
+ margin-right: 20px;
684
+ font-weight: bold;
685
+ text-transform: uppercase;
686
+ padding: 5px 20px;
687
+ color: lighten($body_text_color, 20);
688
+
689
+ &.current-first, &.current {
690
+ background-color: $link_text_color;
691
+ color: $layout_background_color;
692
+ }
693
+
694
+ &.completed-first, &.completed {
695
+ background-color: $table_head_color;
696
+ color: $layout_background_color;
697
+
698
+ a {
699
+ color: $layout_background_color;
700
+ }
701
+
702
+ &:hover {
703
+ background-color: $link_text_color;
704
+ color: $layout_background_color;
705
+
706
+ a {
707
+ color: $layout_background_color;
708
+
709
+ &:hover {
710
+ color: $layout_background_color;
711
+ }
712
+ }
713
+ }
714
+ }
715
+ }
716
+ }
717
+
718
+ #payment-methods {
719
+ list-style: none;
720
+
721
+ li {
722
+ fieldset {
723
+ border: none;
724
+ padding: 0;
725
+ }
726
+ }
727
+ }
728
+
729
+
730
+
731
+ #checkout-summary {
732
+ text-align: center;
733
+ border: $default_border;
734
+ margin-top: 23px;
735
+ margin-left: 0;
736
+
737
+ h3 {
738
+ text-transform: uppercase;
739
+ font-size: $base_font_size + 2;
740
+ border-bottom: $default_border;
741
+ }
742
+
743
+ table {
744
+ width: 100%;
745
+
746
+ tr[data-hook="item_total"] {
747
+ td:last-child {
748
+ strong {
749
+ @extend %price_text;;
750
+ }
751
+ }
752
+ }
753
+
754
+ tr[data-hook="order_total"] {
755
+ border-bottom: none;
756
+ };
757
+
758
+ #summary-order-total {
759
+ @extend %price_text;;
760
+ font-size: $base_font_size + 2;
761
+ }
762
+ }
763
+ }
764
+
765
+ #billing, #shipping, #shipping_method,
766
+ #payment, #order_details, #order_summary {
767
+ margin-top: 10px;
768
+ border: $default_border;
769
+ padding: 10px;
770
+
771
+ legend {
772
+ text-transform: uppercase;
773
+ font-weight: bold;
774
+ font-size: $base_font_size + 2;
775
+ color: $link_text_color;
776
+ padding: 5px;
777
+ margin-left: 15px;
778
+ }
779
+ }
780
+
781
+ #billing, #shipping {
782
+ input[type="text"], input[type="email"],
783
+ input[type="tel"], input[type="number"],
784
+ select, textarea {
785
+ width: 100%;
786
+ }
787
+ }
788
+
789
+ #order_details, #order_summary {
790
+ padding: 0;
791
+
792
+ div:last-child {
793
+ margin-left: -1px;
794
+ }
795
+
796
+ .payment-info {
797
+ .cc-type {
798
+ img {
799
+ vertical-align: middle;
800
+ }
801
+ }
802
+ }
803
+
804
+ td.price, td.total {
805
+ span {
806
+ @extend %price_text;;
807
+ }
808
+ }
809
+
810
+ table tfoot {
811
+ text-align: right;
812
+ color: lighten($body_text_color, 20);
813
+
814
+ tr {
815
+ border: none;
816
+ }
817
+
818
+ &#order-total {
819
+ text-transform: uppercase;
820
+ font-size: $base_font_size + 4;
821
+ color: $body_text_color;
822
+
823
+ tr {
824
+ border-top: $default_border;
825
+
826
+ td {
827
+ padding: 10px;
828
+ }
829
+ }
830
+ }
831
+
832
+ &#subtotal {
833
+ text-transform: uppercase;
834
+ font-size: $base_font_size + 4;
835
+ color: $body_text_color;
836
+ }
837
+ }
838
+
839
+ .steps-data {
840
+ div.columns {
841
+ padding: 5px;
842
+ margin: 0;
843
+
844
+ &:first-child {
845
+ margin-left: 10px;
846
+ }
847
+ }
848
+
849
+ h6 {
850
+ border-bottom: $default_border;
851
+ margin-bottom: 5px;
852
+ }
853
+ }
854
+ }
855
+
856
+ #shipping_method {
857
+ p {
858
+ &#minstrs {
859
+ clear: both;
860
+
861
+ label {
862
+ width: 100%;
863
+ }
864
+ }
865
+
866
+ label {
867
+ float: left;
868
+ font-weight: bold;
869
+ font-size: $base_font_size + 2;
870
+ margin-right: 40px;
871
+ padding: 5px;
872
+ }
873
+ }
874
+
875
+ .shipment {
876
+ margin-bottom: 30px;
877
+ }
878
+
879
+ .stock-shipping-method-title {
880
+ background-color: lighten($body_text_color, 70);
881
+ text-align: center;
882
+ text-transform: uppercase;
883
+ font-weight: normal;
884
+ font-size :11px;
885
+ }
886
+
887
+ .stock-location {
888
+ text-align: center;
889
+ text-transform: uppercase;
890
+ font-size: 12px;
891
+ font-weight: normal;
892
+ background-color: $link_text_color;
893
+ color: white;
894
+ }
895
+
896
+ .unshippable {
897
+ .stock-location {
898
+ background-color: $c_red;
899
+ }
900
+ }
901
+
902
+ .shipping-methods {
903
+ list-style: none;
904
+ margin: 0;
905
+ padding: 10px 0;
906
+
907
+ .shipping-method {
908
+ display: inline-block;
909
+ margin: 5px 10px 5px 0;
910
+
911
+ label {
912
+ font-weight: bold;
913
+
914
+ .rate-cost {
915
+ color: $link_text_color;
916
+ }
917
+ }
918
+ }
919
+ }
920
+
921
+ table.stock-contents {
922
+ thead {
923
+ background-color: lighten($body_text_color, 70);
924
+
925
+ th {
926
+ font-size: 11px;
927
+ font-weight: normal
928
+ }
929
+ }
930
+ tbody {
931
+ tr {
932
+ td {
933
+ text-align: center;
934
+
935
+ &.item-name {
936
+ text-align: left;
937
+ }
938
+ }
939
+ }
940
+ }
941
+ }
942
+ }
943
+
944
+ p[data-hook="use_billing"] {
945
+ float: right;
946
+ margin-top: -18px;
947
+ background-color: $layout_background_color;
948
+ padding: 5px;
949
+ }
950
+
951
+ .coupon-code {
952
+ margin-top: 20px;
953
+ padding: 10px;
954
+
955
+ form {
956
+ display: flex;
957
+ flex-flow: row wrap;
958
+ }
959
+
960
+ label {
961
+ flex: 1 100%;
962
+ text-align: left;
963
+ }
964
+
965
+ input[type="text"] {
966
+ flex: 3 0;
967
+ width: 100%;
968
+ margin-right: 5px;
969
+ }
970
+
971
+ &-apply-button {
972
+ white-space: nowrap;
973
+ }
974
+ }
975
+
976
+ #coupon_status {
977
+ margin-top: 10px;
978
+ font-weight: bold;
979
+ font-size: 100%;
980
+ &.success {
981
+ color: $c_green;
982
+ }
983
+ &.error, &.alert {
984
+ color: $c_red;
985
+ }
986
+ }
987
+
988
+ .terms_and_conditions {
989
+ .policy {
990
+ height: 100px;
991
+ width: 100%;
992
+ overflow: scroll;
993
+ }
994
+ }
995
+
996
+ /*--------------------------------------*/
997
+ /* Cart
998
+ /*--------------------------------------*/
999
+ table#cart-detail {
1000
+ width: 100%;
1001
+ border-collapse: separate;
1002
+
1003
+ tbody#line_items {
1004
+ tr {
1005
+
1006
+ td[data-hook="cart_item_price"], td[data-hook="cart_item_total"] {
1007
+ @extend %price_text;
1008
+ font-size: $product_detail_price_font_size;
1009
+ }
1010
+ td[data-hook="cart_item_quantity"] {
1011
+ .line_item_quantity {
1012
+ width: 65px;
1013
+ }
1014
+ }
1015
+ td[data-hook="cart_item_delete"] {
1016
+ .delete {
1017
+ display: block;
1018
+ width: 20px;
1019
+ }
1020
+ }
1021
+ }
1022
+ }
1023
+ }
1024
+
1025
+ div[data-hook="inside_cart_form"] {
1026
+ .links {
1027
+ margin-top: 15px;
1028
+ text-align: right;
1029
+ }
1030
+
1031
+ #subtotal {
1032
+ text-align: right;
1033
+ text-transform: uppercase;
1034
+ margin-top: 15px;
1035
+
1036
+ span.order-total {
1037
+ @extend %price_text;
1038
+ }
1039
+ }
1040
+ }
1041
+
1042
+ #empty-cart {
1043
+ margin-top: -50px;
1044
+ float: left;
1045
+ }
1046
+
1047
+ .cart-subtotal, .cart-total {
1048
+ background: $cart_total_background_color;
1049
+
1050
+ td h5 {
1051
+ color: $cart_total_text_color;
1052
+ }
1053
+ }
1054
+
1055
+ .adjustment:nth-child(even) {
1056
+ background: #eaeaea;
1057
+
1058
+ }
1059
+
1060
+ /*--------------------------------------*/
1061
+ /* Account
1062
+ /*--------------------------------------*/
1063
+ #existing-customer, #new-customer, #forgot-password {
1064
+ h6 {
1065
+ text-transform: uppercase;
1066
+ }
1067
+ }
1068
+
1069
+ #registration {
1070
+ h6 {
1071
+ text-transform: uppercase;
1072
+ }
1073
+
1074
+ #existing-customer {
1075
+ width: auto;
1076
+ text-align: left;
1077
+ }
1078
+ }
1079
+
1080
+ #user-info {
1081
+ margin-bottom: 15px;
1082
+ border: $default_border;
1083
+ padding: 10px;
1084
+
1085
+ dd {
1086
+ margin-left: 0px;
1087
+ }
1088
+ }
1089
+
1090
+ /*--------------------------------------*/
1091
+ /* Order
1092
+ /*--------------------------------------*/
1093
+ #order_summary {
1094
+ margin-top: 0;
1095
+ h1 {
1096
+ padding-left: 10px;
1097
+ }
1098
+ }
1099
+ #order {
1100
+ p[data-hook="links"] {
1101
+ margin-left: 10px;
1102
+ overflow: auto;
1103
+ }
1104
+ }
1105
+
1106
+ table.order-summary {
1107
+ tbody {
1108
+ tr {
1109
+ td {
1110
+ width: 10%;
1111
+ text-align: center;
1112
+
1113
+ &:first-child {
1114
+ a {
1115
+ text-transform: uppercase;
1116
+ font-weight: bold;
1117
+ color: $link_text_color;
1118
+ }
1119
+ }
1120
+ }
1121
+ }
1122
+ }
1123
+ }
1124
+
1125
+ /* #Media Queries
1126
+ ================================================== */
1127
+
1128
+ /* Smaller than standard 960 (devices and browsers) */
1129
+ @media only screen and (max-width: 959px) {
1130
+
1131
+ }
1132
+
1133
+ /* Tablet Portrait size to standard 960 (devices and browsers) */
1134
+ @media only screen and (min-width: 768px) and (max-width: 959px) {
1135
+ .container {
1136
+ padding-left: 10px;
1137
+ width: 758px;
1138
+ }
1139
+ footer#footer {
1140
+ width: 748px;
1141
+ }
1142
+ p[data-hook="use_billing"] {
1143
+ margin-top: -15px;
1144
+ }
1145
+ }
1146
+
1147
+ /* All Mobile Sizes (devices and browser) */
1148
+ @media only screen and (max-width: 767px) {
1149
+
1150
+ html {
1151
+ -webkit-text-size-adjust: none;
1152
+ }
1153
+
1154
+ #order_details .steps-data div.columns,
1155
+ #order_summary .steps-data div.columns {
1156
+ padding: 0;
1157
+ margin: 0;
1158
+
1159
+ &:first-child {
1160
+ margin: 0
1161
+ }
1162
+ }
1163
+
1164
+ nav#taxonomies {
1165
+ text-align: center;
1166
+
1167
+ ul {
1168
+ padding-left: 0;
1169
+ list-style: none;
1170
+ }
1171
+ }
1172
+
1173
+ ul#nav-bar {
1174
+ text-align: center;
1175
+ }
1176
+
1177
+ .steps-data div.columns {
1178
+ margin-bottom: 15px;
1179
+ text-align: center;
1180
+ }
1181
+
1182
+ #order_details, #order {
1183
+ table[data-hook="order_details"] {
1184
+ width: 100%;
1185
+ }
1186
+ }
1187
+
1188
+ #update-cart {
1189
+ #subtotal, .links {
1190
+ width: 50%;
1191
+ float: left;
1192
+ text-align: left;
1193
+ }
1194
+ #subtotal {
1195
+ text-align: right;
1196
+ }
1197
+ }
1198
+ }
1199
+
1200
+ /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
1201
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
1202
+
1203
+ footer#footer {
1204
+ width: auto;
1205
+ }
1206
+
1207
+ input, select {
1208
+ vertical-align: baseline;
1209
+ }
1210
+
1211
+ figure#logo {
1212
+ text-align: center;
1213
+ }
1214
+
1215
+ #link-to-login {
1216
+ display: block;
1217
+ text-align: center;
1218
+ }
1219
+
1220
+ #search-bar {
1221
+ display: block;
1222
+ text-align: center;
1223
+
1224
+ select {
1225
+ margin-bottom: 10px;
1226
+ }
1227
+ }
1228
+
1229
+ ul#products {
1230
+ margin-left: 0;
1231
+ margin-right: -20px;
1232
+
1233
+ li {
1234
+ width: 133px;
1235
+ margin-right: 10px;
1236
+ }
1237
+ }
1238
+
1239
+ table#cart-detail, table[data-hook="order_details"] {
1240
+ tbody {
1241
+ tr {
1242
+ td[data-hook="cart_item_description"], td[data-hook="order_item_description"] {
1243
+ font-size: $base_font_size - 1;
1244
+ line-height: 15px;
1245
+ width: 100px;
1246
+
1247
+ h4 {
1248
+ font-size: $base_font_size + 2;
1249
+ line-height: 17px;
1250
+ margin-bottom: 10px;
1251
+ }
1252
+ }
1253
+ td[data-hook="cart_item_price"], td[data-hook="cart_item_total"],
1254
+ td[data-hook="order_item_price"], td[data-hook="order_item_total"] {
1255
+ font-size: $base_font_size;
1256
+ }
1257
+ td[data-hook="cart_item_image"], td[data-hook="order_item_image"] {
1258
+ img {
1259
+ width: 70px;
1260
+ }
1261
+ }
1262
+ }
1263
+ }
1264
+ }
1265
+
1266
+ }
1267
+
1268
+ @media only screen and (max-width: 767px) {
1269
+ #empty-cart {
1270
+ clear: both;
1271
+ margin-top: 0;
1272
+ float: none;
1273
+ }
1274
+ }
1275
+
1276
+ @media only screen and (max-width: 767px) {
1277
+ #empty-cart {
1278
+ /* yes, this is ugly... */
1279
+ margin-top: 0 !important;
1280
+ }
1281
+ }
1282
+
1283
+ /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
1284
+ @media only screen and (max-width: 479px) {
1285
+
1286
+ .progress-steps li {
1287
+ padding: 0;
1288
+ margin: 0;
1289
+ width: 50%;
1290
+
1291
+ span {
1292
+ display: block;
1293
+ padding: 10px 20px;
1294
+ }
1295
+ }
1296
+
1297
+ #shipping_method p label {
1298
+ float: none;
1299
+ display: block;
1300
+ text-align: center;
1301
+ margin-right: 0;
1302
+ }
1303
+
1304
+ p[data-hook="use_billing"] {
1305
+ float: none;
1306
+ margin-top: 0;
1307
+ }
1308
+
1309
+ table#cart-detail, table[data-hook="order_details"] {
1310
+ tbody {
1311
+ tr {
1312
+ td[data-hook="cart_item_description"], td[data-hook="order_item_description"] {
1313
+ padding: 0 !important;
1314
+ text-indent: -9999px;
1315
+
1316
+ h4 {
1317
+ display: none;
1318
+ }
1319
+ }
1320
+ td[data-hook="cart_item_image"], td[data-hook="order_item_image"] {
1321
+ img {
1322
+ width: 70px;
1323
+ }
1324
+ }
1325
+ td[data-hook="cart_item_price"], td[data-hook="cart_item_total"] {
1326
+ font-size: $base_font_size + 2 !important;
1327
+ }
1328
+ }
1329
+ }
1330
+ }
1331
+
1332
+ table.order-summary {
1333
+ display: block; position: relative; width: 100%;
1334
+
1335
+ thead { display: block; float: left; }
1336
+ tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }
1337
+ thead tr { display: block; }
1338
+ th { display: block; }
1339
+ tbody tr { display: inline-block; vertical-align: top; }
1340
+ td { display: block; min-height: 1.25em; }
1341
+ }
1342
+
1343
+ figure#logo {
1344
+ text-align: center;
1345
+ }
1346
+
1347
+ #link-to-login {
1348
+ display: block;
1349
+ text-align: center;
1350
+ }
1351
+
1352
+ #search-bar {
1353
+ display: block;
1354
+ text-align: center;
1355
+
1356
+ select {
1357
+ margin-bottom: 10px;
1358
+ }
1359
+ }
1360
+
1361
+ aside#sidebar {
1362
+ text-align: center;
1363
+
1364
+ ul {
1365
+ padding-left: 0;
1366
+
1367
+ li {
1368
+ list-style-type: none;
1369
+ }
1370
+ }
1371
+ }
1372
+
1373
+ ul#products {
1374
+ li {
1375
+ width: 142px;
1376
+ margin-right: 15px;
1377
+
1378
+ &.secondary, &.omega {
1379
+ margin-right: 0;
1380
+ }
1381
+ }
1382
+ }
1383
+
1384
+ #content {
1385
+ text-align: center;
1386
+ }
1387
+ }