spree_core 1.0.0.rc3 → 1.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/app/assets/images/admin/payment_banner.png +0 -0
  2. data/app/assets/javascripts/admin/admin.js.erb +16 -5
  3. data/app/assets/javascripts/admin/spree_core.js +0 -1
  4. data/app/assets/javascripts/store/spree_core.js +0 -1
  5. data/app/assets/stylesheets/admin/admin.css.erb +57 -3
  6. data/app/assets/stylesheets/store/screen.css.scss +72 -29
  7. data/app/assets/stylesheets/store/spree_core.css +5 -4
  8. data/app/controllers/spree/admin/tax_categories_controller.rb +13 -0
  9. data/app/controllers/spree/admin/users_controller.rb +16 -0
  10. data/app/controllers/spree/products_controller.rb +1 -1
  11. data/app/helpers/spree/admin/navigation_helper.rb +3 -1
  12. data/app/models/spree/payment_method.rb +2 -0
  13. data/app/models/spree/preferences/preferable.rb +32 -1
  14. data/app/models/spree/preferences/preferable_class_methods.rb +21 -4
  15. data/app/models/spree/product.rb +4 -3
  16. data/app/models/spree/tax_category.rb +7 -1
  17. data/app/models/spree/tax_rate.rb +4 -1
  18. data/app/models/spree/user.rb +2 -0
  19. data/app/views/spree/admin/banners/_gateway.html.erb +14 -0
  20. data/app/views/spree/admin/images/index.html.erb +4 -4
  21. data/app/views/spree/admin/option_types/index.html.erb +2 -2
  22. data/app/views/spree/admin/payment_methods/index.html.erb +2 -0
  23. data/app/views/spree/admin/variants/index.html.erb +2 -2
  24. data/app/views/spree/orders/_line_item.html.erb +4 -4
  25. data/app/views/spree/shared/_order_details.html.erb +8 -9
  26. data/config/locales/en.yml +4 -0
  27. data/config/routes.rb +6 -3
  28. data/db/migrate/20120203153759_add_deleted_at_to_tax_category.rb +5 -0
  29. data/lib/spree/core/middleware/seo_assist.rb +1 -1
  30. data/lib/spree/core/user_banners.rb +25 -0
  31. data/lib/spree/core/version.rb +1 -1
  32. data/vendor/assets/images/jquery.formalize/button.png +0 -0
  33. data/vendor/assets/images/jquery.formalize/select_arrow.gif +0 -0
  34. data/vendor/assets/stylesheets/html5reset.css +177 -0
  35. data/vendor/assets/stylesheets/{jquery.formalize.css → jquery.formalize.css.erb} +3 -3
  36. data/{app/assets/stylesheets/store/base.css → vendor/assets/stylesheets/skeleton.css} +14 -159
  37. metadata +37 -31
  38. data/app/assets/javascripts/store/helpers.js.erb +0 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render :partial => 'spree/admin/shared/product_tabs', :locals => {:current => 'Images'} %>
4
4
 
5
- <table class="index sortable" data-hook="images_table">
5
+ <table class="index sortable" data-hook="images_table" data-sortable-link="<%= update_positions_admin_product_images_url(@product) %>">
6
6
  <tr data-hook="images_header">
7
7
  <th><%= t(:thumbnail) %></th>
8
8
  <% if @product.has_variants? %>
@@ -13,7 +13,7 @@
13
13
  </tr>
14
14
 
15
15
  <% @product.images.each do |image| %>
16
- <tr id="<%= dom_id(image) %>" data-hook="images_row">
16
+ <tr id="spree_image_<%= image.id %>" data-hook="images_row">
17
17
  <td>
18
18
  <span class="handle"></span>
19
19
  <%= link_to image_tag(image.attachment.url(:mini)), image.attachment.url(:product) %>
@@ -32,7 +32,7 @@
32
32
 
33
33
  <% @product.variants.each do |variant| %>
34
34
  <% variant.images.each do |image| %>
35
- <tr id="<%= dom_id(image) %>" data-hook="images_row">
35
+ <tr id="spree_image_<%= image.id %>" data-hook="images_row">
36
36
  <td><span class="handle"></span><%= link_to image_tag(image.attachment.url(:mini)), image.attachment.url(:product) %></td>
37
37
  <% if @product.has_variants? %>
38
38
  <td><%= variant.options_text %></td>
@@ -52,4 +52,4 @@
52
52
  <br />
53
53
  <p data-hook="links">
54
54
  <%= link_to icon('add') + ' ' + t(:new_image), new_admin_product_image_url(@product), :id => 'new_image_link' %>
55
- </p>
55
+ </p>
@@ -13,14 +13,14 @@
13
13
 
14
14
  <div id="new_option_type"></div>
15
15
 
16
- <table class="index sortable" id="listing_option_types" data-hook>
16
+ <table class="index sortable" id="listing_option_types" data-hook data-sortable-link="<%= update_positions_admin_option_types_url %>">
17
17
  <tr data-hook="option_header">
18
18
  <th><%= t(:name) %></th>
19
19
  <th><%= t(:presentation) %></th>
20
20
  <th></th>
21
21
  </tr>
22
22
  <% @option_types.each do |option_type| %>
23
- <tr class="spree_option_type" id="<%= dom_id option_type %>" data-hook="option_row">
23
+ <tr class="spree_option_type" id="spree_option_type_<%= option_type.id %>" data-hook="option_row">
24
24
  <td><span class="handle"></span> <%= option_type.name %></td>
25
25
  <td class="presentation"><%= option_type.presentation %></td>
26
26
  <td class="actions">
@@ -37,3 +37,5 @@
37
37
  <% end %>
38
38
  </tbody>
39
39
  </table>
40
+
41
+ <%= render :partial => 'spree/admin/banners/gateway' %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render :partial => 'spree/admin/shared/product_tabs', :locals => {:current => 'Variants'} %>
4
4
 
5
- <table class="index sortable">
5
+ <table class="index sortable" data-sortable-link="<%= update_positions_admin_product_variants_path(@product) %>">
6
6
  <tr data-hook="variants_header">
7
7
  <th><%= t(:options) %></th>
8
8
  <th><%= t(:price) %></th>
@@ -16,7 +16,7 @@
16
16
  <% @variants.each do |variant| %>
17
17
  <!-- you can skip variant with no options: that's just the default variant that all products have -->
18
18
  <% next if variant.option_values.empty? %>
19
- <tr id="<%= dom_id(variant) %>" <%= 'style="color:red;"' if variant.deleted? %> data-hook="variants_row">
19
+ <tr id="spree_variant_<%= variant.id %>" <%= 'style="color:red;"' if variant.deleted? %> data-hook="variants_row">
20
20
  <td><span class="handle"></span> <%= variant.options_text %></td>
21
21
  <td><%= variant.price %></td>
22
22
  <td><%= variant.sku %></td>
@@ -1,9 +1,9 @@
1
1
  <tr class="<%= cycle('', 'alt') %>">
2
2
  <td data-hook="cart_item_image">
3
3
  <% if variant.images.length == 0 %>
4
- <%= small_image(variant.product) %>
4
+ <%= link_to small_image(variant.product), variant.product %>
5
5
  <% else %>
6
- <%= image_tag variant.images.first.attachment.url(:small) %>
6
+ <%= link_to image_tag(variant.images.first.attachment.url(:small)), variant.product %>
7
7
  <% end %>
8
8
  </td>
9
9
  <td data-hook="cart_item_description">
@@ -17,13 +17,13 @@
17
17
  <%= truncate(variant.product.description, :length => 100, :omission => "...") %>
18
18
  </td>
19
19
  <td data-hook="cart_item_price">
20
- <%= number_to_currency line_item.variant.price %>
20
+ <%= number_to_currency line_item.price %>
21
21
  </td>
22
22
  <td data-hook="cart_item_quantity">
23
23
  <%= item_form.number_field :quantity, :min => 0, :class => "line_item_quantity", :size => 5 %>
24
24
  </td>
25
25
  <td data-hook="cart_item_total">
26
- <%= number_to_currency(line_item.variant.price * line_item.quantity) unless line_item.quantity.nil? %>
26
+ <%= number_to_currency(line_item.price * line_item.quantity) unless line_item.quantity.nil? %>
27
27
  </td>
28
28
  <td data-hook="cart_item_delete">
29
29
  <%= link_to image_tag('icons/delete.png'), '#', :class => 'delete', :id => "delete_#{dom_id(line_item)}" %>
@@ -46,8 +46,7 @@
46
46
 
47
47
  <thead id="line-items" data-hook>
48
48
  <tr data-hook="order_details_line_items_headers">
49
- <th> </th>
50
- <th><%= t(:item_description) %></th>
49
+ <th colspan="2"><%= t(:item) %></th>
51
50
  <th class="price"><%= t(:price) %></th>
52
51
  <th class="qty"><%= t(:qty) %></th>
53
52
  <th class="total"><span><%= t(:total) %></span></th>
@@ -59,19 +58,19 @@
59
58
  <tr data-hook="order_details_line_item_row">
60
59
  <td data-hook="order_item_image" width="20%">
61
60
  <% if item.variant.images.length == 0 %>
62
- <%= small_image(item.variant.product) %>
61
+ <%= link_to small_image(item.variant.product), item.variant.product %>
63
62
  <% else %>
64
- <%= image_tag item.variant.images.first.attachment.url(:small) %>
63
+ <%= link_to image_tag(item.variant.images.first.attachment.url(:small)), item.variant.product %>
65
64
  <% end %>
66
65
  </td>
67
- <td width="80%">
68
- <h6><%= item.variant.product.name %></h6>
66
+ <td data-hook="order_item_description">
67
+ <h4><%= item.variant.product.name %></h4>
69
68
  <%= truncate(item.variant.product.description, :length => 100, :omission => "...") %>
70
69
  <%= "(" + variant_options(item.variant) + ")" unless item.variant .option_values.empty? %>
71
70
  </td>
72
- <td class="price"><span><%= number_to_currency item.price %></span></td>
73
- <td class="qty"><%= item.quantity %></td>
74
- <td class="total"><span><%= number_to_currency (item.price * item.quantity) %></span></td>
71
+ <td data-hook="order_item_price" class="price"><span><%= number_to_currency item.price %></span></td>
72
+ <td data-hook="order_item_qty"><%= item.quantity %></td>
73
+ <td data-hook="order_item_total" class="total"><span><%= number_to_currency (item.price * item.quantity) %></span></td>
75
74
  </tr>
76
75
  <% end %>
77
76
  </tbody>
@@ -358,6 +358,7 @@ en:
358
358
  didnt_receive_unlock_instructions: "Didn't receive unlock instructions?"
359
359
  discount_amount: "Discount Amount"
360
360
  display: Display
361
+ dismiss_banner: "No. Thanks! I'm not interested, do not display this message again"
361
362
  edit: Edit
362
363
  editing_billing_integration: Editing Billing Integration
363
364
  editing_category: "Editing Category"
@@ -399,6 +400,7 @@ en:
399
400
  errors_prohibited_this_record_from_being_saved:
400
401
  one: "1 error prohibited this record from being saved"
401
402
  other: "%{count} errors prohibited this record from being saved"
403
+ error_user_destroy_with_orders: "Users with completed orders may not be deleted"
402
404
  event: Event
403
405
  events:
404
406
  spree:
@@ -645,6 +647,8 @@ en:
645
647
  payment_methods: Payment Methods
646
648
  payment_methods_setting_description: Configure methods customers can use to pay.
647
649
  payment_processing_failed: "Payment could not be processed, please check the details you entered"
650
+ payment_processor_choose_banner_text: "If you need help choosing a payment processor, please visit"
651
+ payment_processor_choose_link: "our payments page"
648
652
  payment_state: Payment State
649
653
  payment_states:
650
654
  balance_due: balance due
data/config/routes.rb CHANGED
@@ -54,12 +54,14 @@ Spree::Core::Engine.routes.draw do
54
54
  # map.resources :taxons
55
55
  #
56
56
 
57
-
58
-
59
57
  namespace :admin do
60
58
  resources :adjustments
61
59
  resources :zones
62
- resources :users
60
+ resources :users do
61
+ member do
62
+ post :dismiss_banner
63
+ end
64
+ end
63
65
  resources :countries do
64
66
  resources :states
65
67
  end
@@ -104,6 +106,7 @@ Spree::Core::Engine.routes.draw do
104
106
  end
105
107
  end
106
108
  end
109
+
107
110
  resources :option_types do
108
111
  collection do
109
112
  post :update_positions
@@ -0,0 +1,5 @@
1
+ class AddDeletedAtToTaxCategory < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_tax_categories, :deleted_at, :datetime
4
+ end
5
+ end
@@ -17,7 +17,7 @@ module Spree
17
17
  if !taxon_id.blank? && !taxon_id.is_a?(Hash) && taxon = Taxon.find(taxon_id)
18
18
  params.delete('taxon')
19
19
 
20
- return build_response(params, "#{request.script_name}/t/#{taxon.permalink}" )
20
+ return build_response(params, "#{request.script_name}t/#{taxon.permalink}" )
21
21
  elsif env["PATH_INFO"] =~ /^\/(t|products)(\/\S+)?\/$/
22
22
  #ensures no trailing / for taxon and product urls
23
23
 
@@ -0,0 +1,25 @@
1
+ # Utility methods for dealing with user banners and saving
2
+ # an array of dismissed banners per user
3
+ # use symbols as banner id
4
+ module Spree
5
+ module Core
6
+ module UserBanners
7
+ def self.included(base)
8
+ base.preference :dismissed_banners, :text, :default => ''
9
+ end
10
+
11
+ def dismissed_banner_ids
12
+ dismissed = self.preferred_dismissed_banners
13
+ dismissed.split(',').map(&:to_sym)
14
+ end
15
+
16
+ def dismiss_banner(banner_id)
17
+ self.preferred_dismissed_banners = dismissed_banner_ids.push(banner_id.to_sym).uniq.join(',')
18
+ end
19
+
20
+ def dismissed_banner?(banner_id)
21
+ dismissed_banner_ids.include? banner_id.to_sym
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "1.0.0.rc3"
3
+ "1.0.0.rc4"
4
4
  end
5
5
  end
@@ -0,0 +1,177 @@
1
+ /*
2
+ HTML5 Reset :: style.css
3
+ ----------------------------------------------------------
4
+ We have learned much from/been inspired by/taken code where offered from:
5
+
6
+ Eric Meyer :: http://ericmeyer.com
7
+ HTML5 Doctor :: http://html5doctor.com
8
+ and the HTML5 Boilerplate :: http://html5boilerplate.com
9
+
10
+ -------------------------------------------------------------------------------*/
11
+
12
+ /* Let's default this puppy out
13
+ -------------------------------------------------------------------------------*/
14
+
15
+ html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
16
+ margin: 0;
17
+ padding: 0;
18
+ border: 0;
19
+ outline: 0;
20
+ font-size: 100%;
21
+ vertical-align: baseline;
22
+ background: transparent;
23
+ }
24
+
25
+ article, aside, figure, footer, header, hgroup, nav, section {display: block;}
26
+
27
+ /* Responsive images and other embedded objects
28
+ Note: keeping IMG here will cause problems if you're using foreground images as sprites.
29
+ If this default setting for images is causing issues, you might want to replace it with a .responsive class instead. */
30
+ img,
31
+ object,
32
+ embed {max-width: 100%;}
33
+
34
+ /* force a vertical scrollbar to prevent a jumpy page */
35
+ html {overflow-y: scroll;}
36
+
37
+ /* we use a lot of ULs that aren't bulleted.
38
+ don't forget to restore the bullets within content. */
39
+ ul {list-style: none;}
40
+
41
+ blockquote, q {quotes: none;}
42
+
43
+ blockquote:before,
44
+ blockquote:after,
45
+ q:before,
46
+ q:after {content: ''; content: none;}
47
+
48
+ a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}
49
+
50
+ del {text-decoration: line-through;}
51
+
52
+ abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}
53
+
54
+ /* tables still need cellspacing="0" in the markup */
55
+ table {border-collapse: collapse; border-spacing: 0;}
56
+ th {font-weight: bold; vertical-align: bottom;}
57
+ td {font-weight: normal; vertical-align: top;}
58
+
59
+ hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}
60
+
61
+ input, select {vertical-align: middle;}
62
+
63
+ pre {
64
+ white-space: pre; /* CSS2 */
65
+ white-space: pre-wrap; /* CSS 2.1 */
66
+ white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
67
+ word-wrap: break-word; /* IE */
68
+ }
69
+
70
+ input[type="radio"] {vertical-align: text-bottom;}
71
+ input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
72
+ .ie6 input {vertical-align: text-bottom;}
73
+
74
+ select, input, textarea {font: 99% sans-serif;}
75
+
76
+ table {font-size: inherit; font: 100%;}
77
+
78
+ /* Accessible focus treatment
79
+ people.opera.com/patrickl/experiments/keyboard/test */
80
+ a:hover, a:active {outline: none;}
81
+
82
+ small {font-size: 85%;}
83
+
84
+ strong, th {font-weight: bold;}
85
+
86
+ td, td img {vertical-align: top;}
87
+
88
+ /* Make sure sup and sub don't screw with your line-heights
89
+ gist.github.com/413930 */
90
+ sub, sup {font-size: 75%; line-height: 0; position: relative;}
91
+ sup {top: -0.5em;}
92
+ sub {bottom: -0.25em;}
93
+
94
+ /* standardize any monospaced elements */
95
+ pre, code, kbd, samp {font-family: monospace, sans-serif;}
96
+
97
+ /* hand cursor on clickable elements */
98
+ .clickable,
99
+ label,
100
+ input[type=button],
101
+ input[type=submit],
102
+ button {cursor: pointer;}
103
+
104
+ /* Webkit browsers add a 2px margin outside the chrome of form elements */
105
+ button, input, select, textarea {margin: 0;}
106
+
107
+ /* make buttons play nice in IE */
108
+ button {width: auto; overflow: visible;}
109
+
110
+ /* scale images in IE7 more attractively */
111
+ .ie7 img {-ms-interpolation-mode: bicubic;}
112
+
113
+ /* prevent BG image flicker upon hover */
114
+ .ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
115
+
116
+ /* let's clear some floats */
117
+ .clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
118
+ .clearfix:after { clear: both; }
119
+ .clearfix { zoom: 1; }
120
+
121
+
122
+
123
+ /* Ok, this is where the fun starts.
124
+ -------------------------------------------------------------------------------*/
125
+
126
+ /* new Linux- and Windows-friendly sans-serif font stack: http://mky.be/fontstack */
127
+ body {font: 13px Helmet, Freesans, sans-serif;}
128
+
129
+ /* using local fonts? make sure to read up on Paul Irish's
130
+ Bulletproof @font-face syntax: http://mky.be/font-face/bulletproof/ */
131
+
132
+ /* we like off-black for text */
133
+ body, select, input, textarea {color: #333;}
134
+
135
+ a {color: #03f;}
136
+ a:hover {color: #69f;}
137
+
138
+ /* Custom text-selection colors (remove any text shadows: twitter.com/miketaylr/status/12228805301) */
139
+ ::-moz-selection{background: #fcd700; color: #fff; text-shadow: none;}
140
+ ::selection {background: #fcd700; color: #fff; text-shadow: none;}
141
+
142
+ /* j.mp/webkit-tap-highlight-color */
143
+ a:link {-webkit-tap-highlight-color: #fcd700;}
144
+
145
+ ins {background-color: #fcd700; color: #000; text-decoration: none;}
146
+ mark {background-color: #fcd700; color: #000; font-style: italic; font-weight: bold;}
147
+
148
+
149
+
150
+
151
+
152
+ /* Print styles!
153
+ -------------------------------------------------------------------------------*/
154
+ @media print {
155
+
156
+
157
+
158
+ }
159
+
160
+
161
+ /* Media queries!
162
+ -------------------------------------------------------------------------------*/
163
+
164
+ /* Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
165
+ @media screen and (max-device-width: 480px) {
166
+
167
+
168
+ }
169
+
170
+ @media all and (orientation: portrait) {
171
+
172
+ }
173
+
174
+ @media all and (orientation: landscape) {
175
+
176
+ }
177
+
@@ -72,7 +72,7 @@ a.button {
72
72
  -ms-background-clip: padding-box;
73
73
  -o-background-clip: padding-box;
74
74
  background-clip: padding-box;
75
- background: #dddddd url('../images/button.png?1298351022') repeat-x;
75
+ background: #dddddd url(<%= asset_path("jquery.formalize/button.png") %>) repeat-x;
76
76
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #dddddd));
77
77
  background-image: -webkit-linear-gradient(#ffffff, #dddddd);
78
78
  background-image: -moz-linear-gradient(#ffffff, #dddddd);
@@ -257,7 +257,7 @@ select[size="1"] {
257
257
  select,
258
258
  select[size="0"],
259
259
  select[size="1"] {
260
- background-image: url('../images/select_arrow.gif?1298351050');
260
+ background-image: url(<%= asset_path("jquery.formalize/select_arrow.gif") %>);
261
261
  background-repeat: no-repeat;
262
262
  background-position: right center;
263
263
  padding-right: 20px;
@@ -320,7 +320,7 @@ textarea::-moz-focus-inner {
320
320
 
321
321
  .ie6_button,
322
322
  * html button {
323
- background: #dddddd url('../images/button.png?1298351022') repeat-x;
323
+ background: #dddddd url(<%= asset_path("jquery.formalize/button.png") %>) repeat-x;
324
324
  border: 1px solid;
325
325
  border-color: #dddddd #bbbbbb #999999;
326
326
  cursor: pointer;
@@ -1,156 +1,3 @@
1
- /* Fonts from Google */
2
- @import url(http://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic,700italic|&subset=latin,cyrillic,greek,greek-ext,latin-ext,cyrillic-ext);
3
-
4
- /*
5
- HTML5 Reset :: style.css
6
- ----------------------------------------------------------
7
- We have learned much from/been inspired by/taken code where offered from:
8
-
9
- Eric Meyer :: http://ericmeyer.com
10
- HTML5 Doctor :: http://html5doctor.com
11
- and the HTML5 Boilerplate :: http://html5boilerplate.com
12
-
13
- -------------------------------------------------------------------------------*/
14
-
15
- /* Let's default this puppy out
16
- -------------------------------------------------------------------------------*/
17
-
18
- html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
19
- margin: 0;
20
- padding: 0;
21
- border: 0;
22
- outline: 0;
23
- font-size: 100%;
24
- vertical-align: baseline;
25
- background: transparent;
26
- }
27
-
28
- article, aside, figure, footer, header, hgroup, nav, section {display: block;}
29
-
30
- /* Responsive images and other embedded objects
31
- Note: keeping IMG here will cause problems if you're using foreground images as sprites.
32
- If this default setting for images is causing issues, you might want to replace it with a .responsive class instead. */
33
- img,
34
- object,
35
- embed {max-width: 100%;}
36
-
37
- /* force a vertical scrollbar to prevent a jumpy page */
38
- html {overflow-y: scroll;}
39
-
40
- /* we use a lot of ULs that aren't bulleted.
41
- don't forget to restore the bullets within content. */
42
- ul {list-style: none;}
43
-
44
- blockquote, q {quotes: none;}
45
-
46
- blockquote:before,
47
- blockquote:after,
48
- q:before,
49
- q:after {content: ''; content: none;}
50
-
51
- a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}
52
-
53
- del {text-decoration: line-through;}
54
-
55
- abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}
56
-
57
- /* tables still need cellspacing="0" in the markup */
58
- table {border-collapse: collapse; border-spacing: 0;}
59
- th {font-weight: bold; vertical-align: bottom;}
60
- td {font-weight: normal; vertical-align: top;}
61
-
62
- hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}
63
-
64
- input, select {vertical-align: middle;}
65
-
66
- pre {
67
- white-space: pre; /* CSS2 */
68
- white-space: pre-wrap; /* CSS 2.1 */
69
- white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
70
- word-wrap: break-word; /* IE */
71
- }
72
-
73
- input[type="radio"] {vertical-align: text-bottom;}
74
- input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
75
- .ie6 input {vertical-align: text-bottom;}
76
-
77
- select, input, textarea {font: 99% sans-serif;}
78
-
79
- table {font-size: inherit; font: 100%;}
80
-
81
- /* Accessible focus treatment
82
- people.opera.com/patrickl/experiments/keyboard/test */
83
- a:hover, a:active {outline: none;}
84
-
85
- small {font-size: 85%;}
86
-
87
- strong, th {font-weight: bold;}
88
-
89
- td, td img {vertical-align: top;}
90
-
91
- /* Make sure sup and sub don't screw with your line-heights
92
- gist.github.com/413930 */
93
- sub, sup {font-size: 75%; line-height: 0; position: relative;}
94
- sup {top: -0.5em;}
95
- sub {bottom: -0.25em;}
96
-
97
- /* standardize any monospaced elements */
98
- pre, code, kbd, samp {font-family: monospace, sans-serif;}
99
-
100
- /* hand cursor on clickable elements */
101
- .clickable,
102
- label,
103
- input[type=button],
104
- input[type=submit],
105
- button {cursor: pointer;}
106
-
107
- /* Webkit browsers add a 2px margin outside the chrome of form elements */
108
- button, input, select, textarea {margin: 0;}
109
-
110
- /* make buttons play nice in IE */
111
- button {width: auto; overflow: visible;}
112
-
113
- /* scale images in IE7 more attractively */
114
- .ie7 img {-ms-interpolation-mode: bicubic;}
115
-
116
- /* prevent BG image flicker upon hover */
117
- .ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
118
-
119
- /* let's clear some floats */
120
- .clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
121
- .clearfix:after { clear: both; }
122
- .clearfix { zoom: 1; }
123
-
124
- /* reset webkit searchfield */
125
- input[type=search]::-webkit-search-decoration,
126
- input[type=search]::-webkit-search-cancel-button,
127
- input[type=search]::-webkit-search-results-button,
128
- input[type=search]::-webkit-search-results-decoration {
129
- display: none;
130
- }
131
-
132
- input[type=search] {
133
- /* the webkit overrides need to stay at the top */
134
- -webkit-appearance: textfield;
135
- -webkit-box-sizing: content-box;
136
- /* your styles here */
137
- }
138
-
139
- /* Ok, this is where the fun starts.
140
- -------------------------------------------------------------------------------*/
141
-
142
- /* new Linux- and Windows-friendly sans-serif font stack: http://mky.be/fontstack */
143
- body {font: 13px Helmet, Freesans, sans-serif;}
144
-
145
- /* using local fonts? make sure to read up on Paul Irish's
146
- Bulletproof @font-face syntax: http://mky.be/font-face/bulletproof/ */
147
-
148
- /* we like off-black for text */
149
- body, select, input, textarea {color: #333;}
150
-
151
- a {color: #03f;}
152
- a:hover {color: #69f;}
153
-
154
1
  /*
155
2
  * Skeleton V1.1
156
3
  * Copyright 2011, Dave Gamache
@@ -175,7 +22,8 @@ a:hover {color: #69f;}
175
22
  ================================================== */
176
23
 
177
24
  .container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
178
- .column, .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
25
+ .container .column,
26
+ .container .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
179
27
  .row { margin-bottom: 20px; }
180
28
 
181
29
  /* Nested Column Classes */
@@ -183,7 +31,8 @@ a:hover {color: #69f;}
183
31
  .column.omega, .columns.omega { margin-right: 0; }
184
32
 
185
33
  /* Base Grid */
186
- .container .one.column { width: 40px; }
34
+ .container .one.column,
35
+ .container .one.columns { width: 40px; }
187
36
  .container .two.columns { width: 100px; }
188
37
  .container .three.columns { width: 160px; }
189
38
  .container .four.columns { width: 220px; }
@@ -233,8 +82,10 @@ a:hover {color: #69f;}
233
82
  .container .columns { margin-left: 10px; margin-right: 10px; }
234
83
  .column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; }
235
84
  .column.omega, .columns.omega { margin-right: 0; margin-left: 10px; }
85
+ .alpha.omega { margin-left: 0; margin-right: 0; }
236
86
 
237
- .container .one.column { width: 28px; }
87
+ .container .one.column,
88
+ .container .one.columns { width: 28px; }
238
89
  .container .two.columns { width: 76px; }
239
90
  .container .three.columns { width: 124px; }
240
91
  .container .four.columns { width: 172px; }
@@ -280,9 +131,11 @@ a:hover {color: #69f;}
280
131
 
281
132
  @media only screen and (max-width: 767px) {
282
133
  .container { width: 300px; }
283
- .columns, .column { margin: 0; }
134
+ .container .columns,
135
+ .container .column { margin: 0; }
284
136
 
285
137
  .container .one.column,
138
+ .container .one.columns,
286
139
  .container .two.columns,
287
140
  .container .three.columns,
288
141
  .container .four.columns,
@@ -328,9 +181,11 @@ a:hover {color: #69f;}
328
181
 
329
182
  @media only screen and (min-width: 480px) and (max-width: 767px) {
330
183
  .container { width: 420px; }
331
- .columns, .column { margin: 0; }
184
+ .container .columns,
185
+ .container .column { margin: 0; }
332
186
 
333
187
  .container .one.column,
188
+ .container .one.columns,
334
189
  .container .two.columns,
335
190
  .container .three.columns,
336
191
  .container .four.columns,
@@ -384,4 +239,4 @@ a:hover {color: #69f;}
384
239
  visibility: hidden;
385
240
  width: 0;
386
241
  height: 0;
387
- }
242
+ }