llab-generators 0.1

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 (59) hide show
  1. data/CHANGELOG +1 -0
  2. data/LICENSE +21 -0
  3. data/Manifest +57 -0
  4. data/README +8 -0
  5. data/Rakefile +2 -0
  6. data/lib/generators/scaffold/USAGE +13 -0
  7. data/lib/generators/scaffold/scaffold_generator.rb +184 -0
  8. data/lib/generators/scaffold/templates/actions/create.rb +8 -0
  9. data/lib/generators/scaffold/templates/actions/destroy.rb +5 -0
  10. data/lib/generators/scaffold/templates/actions/edit.rb +3 -0
  11. data/lib/generators/scaffold/templates/actions/index.rb +3 -0
  12. data/lib/generators/scaffold/templates/actions/new.rb +3 -0
  13. data/lib/generators/scaffold/templates/actions/show.rb +3 -0
  14. data/lib/generators/scaffold/templates/actions/update.rb +8 -0
  15. data/lib/generators/scaffold/templates/controller.rb +3 -0
  16. data/lib/generators/scaffold/templates/helper.rb +2 -0
  17. data/lib/generators/scaffold/templates/migration.rb +16 -0
  18. data/lib/generators/scaffold/templates/model.rb +3 -0
  19. data/lib/generators/scaffold/templates/views/haml/_form.html.haml +12 -0
  20. data/lib/generators/scaffold/templates/views/haml/edit.html.haml +11 -0
  21. data/lib/generators/scaffold/templates/views/haml/index.html.haml +26 -0
  22. data/lib/generators/scaffold/templates/views/haml/new.html.haml +8 -0
  23. data/lib/generators/scaffold/templates/views/haml/show.html.haml +15 -0
  24. data/lib/generators/setup/USAGE +14 -0
  25. data/lib/generators/setup/setup_generator.rb +91 -0
  26. data/lib/generators/setup/templates/css/_constants.sass +17 -0
  27. data/lib/generators/setup/templates/css/_mixins.sass +156 -0
  28. data/lib/generators/setup/templates/css/blueprint.css +254 -0
  29. data/lib/generators/setup/templates/css/ie.css +60 -0
  30. data/lib/generators/setup/templates/css/print.css +61 -0
  31. data/lib/generators/setup/templates/css/screen.sass +289 -0
  32. data/lib/generators/setup/templates/devise/authorization_rules.rb +23 -0
  33. data/lib/generators/setup/templates/devise/devise_migration.rb +26 -0
  34. data/lib/generators/setup/templates/devise/devise_user.rb +30 -0
  35. data/lib/generators/setup/templates/devise/users_controller.rb +52 -0
  36. data/lib/generators/setup/templates/devise/views/_form.html.haml +29 -0
  37. data/lib/generators/setup/templates/devise/views/change_password.haml +15 -0
  38. data/lib/generators/setup/templates/devise/views/edit.html.haml +7 -0
  39. data/lib/generators/setup/templates/devise/views/forgot_password.haml +10 -0
  40. data/lib/generators/setup/templates/devise/views/index.html.haml +28 -0
  41. data/lib/generators/setup/templates/devise/views/login.haml +18 -0
  42. data/lib/generators/setup/templates/devise/views/new.html.haml +6 -0
  43. data/lib/generators/setup/templates/devise/views/show.html.haml +11 -0
  44. data/lib/generators/setup/templates/images/alert.gif +0 -0
  45. data/lib/generators/setup/templates/images/bullet_black.gif +0 -0
  46. data/lib/generators/setup/templates/images/edit.gif +0 -0
  47. data/lib/generators/setup/templates/images/error.gif +0 -0
  48. data/lib/generators/setup/templates/images/help_triangle.gif +0 -0
  49. data/lib/generators/setup/templates/images/logo_learninglab.gif +0 -0
  50. data/lib/generators/setup/templates/images/navbar_bkg.gif +0 -0
  51. data/lib/generators/setup/templates/images/new.gif +0 -0
  52. data/lib/generators/setup/templates/images/notice.gif +0 -0
  53. data/lib/generators/setup/templates/info_controller.rb +4 -0
  54. data/lib/generators/setup/templates/layout.erb +62 -0
  55. data/lib/generators/setup/templates/layout_helper.rb +20 -0
  56. data/lib/generators/setup/templates/root_index.erb +4 -0
  57. data/lib/generators/setup/templates/sass_config.rb +2 -0
  58. data/llab-generators.gemspec +30 -0
  59. metadata +183 -0
@@ -0,0 +1,14 @@
1
+ Description:
2
+ This generator will create and config a start point, with all the defaults for a common Learning Lab's application
3
+
4
+ Example:
5
+ rails generate config AppName
6
+ rails g config "My App Name"
7
+
8
+ This will create:
9
+ copy css files to public dir
10
+ generate layout and sass files
11
+ setup root controller
12
+ config initializers
13
+ setup devise and users controller
14
+ setup declarative authorization
@@ -0,0 +1,91 @@
1
+ require 'rails/generators/migration'
2
+
3
+ class SetupGenerator < Rails::Generators::Base
4
+ include Rails::Generators::Migration
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ argument :app_name, :type => :string, :default => "My App"
7
+
8
+ def initial_cleaning
9
+ remove_file "public/index.html"
10
+ remove_file "README"
11
+ remove_file "public/images/rails.png"
12
+ remove_file "app/views/layouts/application.html.erb"
13
+ end
14
+
15
+ def setup_gems
16
+ append_file "Gemfile", "gem 'haml'\n"
17
+ append_file "Gemfile", "gem 'devise'\n"
18
+ append_file "Gemfile", "gem 'jquery-rails'\n"
19
+ append_file "Gemfile", "gem 'declarative_authorization'\n"
20
+ run "bundle install"
21
+ end
22
+
23
+ def copy_static_assets
24
+ copy_file "css/blueprint.css", "public/stylesheets/blueprint.css"
25
+ copy_file "css/ie.css", "public/stylesheets/ie.css"
26
+ copy_file "css/print.css", "public/stylesheets/print.css"
27
+ copy_file "images/logo_learninglab.gif", "public/images/logo_learninglab.gif"
28
+ copy_file "images/navbar_bkg.gif", "public/images/navbar_bkg.gif"
29
+ copy_file "images/help_triangle.gif", "public/images/help_triangle.gif"
30
+ copy_file "images/bullet_black.gif", "public/images/icons/bullet_black.gif"
31
+ copy_file "images/notice.gif", "public/images/icons/notice.gif"
32
+ copy_file "images/alert.gif", "public/images/icons/alert.gif"
33
+ copy_file "images/error.gif", "public/images/icons/error.gif"
34
+ copy_file "images/edit.gif", "public/images/icons/edit.gif"
35
+ copy_file "images/new.gif", "public/images/icons/new.gif"
36
+ end
37
+
38
+ def create_layout
39
+ template "layout.erb", "app/views/layouts/application.html.haml"
40
+ copy_file "css/_constants.sass", "app/stylesheets/_constants.sass"
41
+ copy_file "css/_mixins.sass", "app/stylesheets/_mixins.sass"
42
+ copy_file "css/screen.sass", "app/stylesheets/screen.sass"
43
+ copy_file "layout_helper.rb", "app/helpers/layout_helper.rb"
44
+ end
45
+
46
+ def create_config
47
+ copy_file "sass_config.rb", "config/initializers/sass_config.rb"
48
+ template "root_index.erb", "app/views/info/index.html.haml"
49
+ copy_file "info_controller.rb", "app/controllers/info_controller.rb"
50
+ route "root :to => \"info#index\""
51
+ end
52
+
53
+ def setup_jquery_rails
54
+ run "rails generate jquery:install --ui"
55
+ end
56
+
57
+ def setup_devise
58
+ run "rails generate devise:install"
59
+ inject_into_file "config/environments/development.rb", "config.action_mailer.default_url_options = { :host => 'localhost:3000' }", :before => "end\n"
60
+ template "devise/devise_user.rb", "app/models/user.rb"
61
+ migration_template "devise/devise_migration.rb", "db/migrate/devise_create_users.rb"
62
+ route "resources :users"
63
+ route "devise_for :users"
64
+ template "devise/authorization_rules.rb", "config/authorization_rules.rb"
65
+ template "devise/users_controller.rb", "app/controllers/users_controller.rb"
66
+ copy_file "devise/views/login.haml", "app/views/devise/sessions/new.html.haml"
67
+ copy_file "devise/views/forgot_password.haml", "app/views/devise/passwords/new.html.haml"
68
+ copy_file "devise/views/change_password.haml", "app/views/devise/passwords/edit.html.haml"
69
+ copy_file "devise/views/_form.html.haml", "app/views/users/_form.html.haml"
70
+ copy_file "devise/views/edit.html.haml", "app/views/users/edit.html.haml"
71
+ copy_file "devise/views/index.html.haml", "app/views/users/index.html.haml"
72
+ copy_file "devise/views/new.html.haml", "app/views/users/new.html.haml"
73
+ copy_file "devise/views/show.html.haml", "app/views/users/show.html.haml"
74
+ inject_into_class "app/controllers/application_controller.rb", ApplicationController do
75
+ " def permission_denied\n" +
76
+ " redirect_to(root_url, :alert => \"You are not allowed to do this action.\")\n" +
77
+ " end\n"
78
+ end
79
+ end
80
+
81
+ private
82
+ # FIXME: Should be proxied to ActiveRecord::Generators::Base
83
+ # Implement the required interface for Rails::Generators::Migration.
84
+ def self.next_migration_number(dirname) #:nodoc:
85
+ if ActiveRecord::Base.timestamped_migrations
86
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
87
+ else
88
+ "%.3d" % (current_migration_number(dirname) + 1)
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,17 @@
1
+ $headline_fonts: "Helvetica", "Helvetica Neue", "HelveticaNeue", "Arial"
2
+ $normal_fonts: "Verdana", "Arial", "Helvetica"
3
+
4
+ $body_background_color: #eee
5
+ $header_background_color: #222
6
+ $navbar_background_color: #fff
7
+ $content_background_color: #fff
8
+ $footer_background_color: #eee
9
+
10
+ $font_color: #666
11
+ $headline_color: #333
12
+ $link_color: #4183c4
13
+ $link_hover_color: #08f
14
+ $link_active_color: #08f
15
+ $strong_color: #222
16
+ $weak_color: #aaa
17
+ $disabled_color: #efefef
@@ -0,0 +1,156 @@
1
+ @mixin bordered
2
+ padding: 0.2em 0.2em 0.2em 0.5em
3
+ border-left: 2px solid #ccc
4
+ @mixin colborder
5
+ border-right: 1px solid #EEEEEE
6
+ margin-right: 25px
7
+ padding-right: 24px
8
+ @mixin weak
9
+ font-size: 90%
10
+ color: $weak_color
11
+ @mixin strong
12
+ font-weight: bold
13
+
14
+ @mixin clearfix
15
+ overflow: hidden
16
+ display: inline-block
17
+ &
18
+ display: block
19
+ @mixin float($side: left)
20
+ display: inline
21
+ float: $side
22
+ @mixin no-bullet
23
+ list-style-type: none
24
+ margin-left: 0px
25
+ @mixin no-bullets
26
+ li
27
+ @include no-bullet
28
+ @mixin horizontal-list-container
29
+ margin: 0
30
+ padding: 0
31
+ border: 0
32
+ outline: 0
33
+ @include clearfix
34
+ @mixin horizontal-list-item($padding: 4px)
35
+ @include no-bullet
36
+ white-space: nowrap
37
+ @include float
38
+ padding:
39
+ left: $padding
40
+ right: $padding
41
+ &.first
42
+ padding-left: 0px
43
+ &.last
44
+ padding-right: 0px
45
+ @mixin horizontal-list($padding: 4px)
46
+ @include horizontal-list-container
47
+ li
48
+ @include horizontal-list-item($padding)
49
+ @mixin link-colors($normal, $hover = false, $active = false, $visited = false, $focus = false)
50
+ color: $normal
51
+ @if $visited
52
+ &:visited
53
+ color: $visited
54
+ @if $focus
55
+ &:focus
56
+ color: $focus
57
+ @if $hover
58
+ &:hover
59
+ color: $hover
60
+ @if $active
61
+ &:active
62
+ color: $active
63
+ @mixin inline-block
64
+ zoom: 1
65
+ display: inline
66
+ display: -moz-inline-box
67
+ display: inline-block
68
+ vertical-align: top
69
+
70
+ // Button Font
71
+
72
+ $blueprint_button_font_family ||= "\"Lucida Grande\", Tahoma, Arial, Verdana, sans-serif"
73
+
74
+ // Default Button Colors
75
+
76
+ $blueprint_button_border_color ||= #DEDEDE
77
+ $blueprint_button_background_color ||= #F5F5F5
78
+ $blueprint_button_font_color ||= #565656
79
+
80
+ // Default Button Hover Colors
81
+
82
+ $blueprint_button_hover_border_color ||= #C2E1EF
83
+ $blueprint_button_hover_background_color ||= #DFF4FF
84
+ $blueprint_button_hover_font_color ||= #336699
85
+
86
+ // Default Button Active Colors
87
+
88
+ $blueprint_button_active_border_color ||= #6299C5
89
+ $blueprint_button_active_background_color ||= #6299C5
90
+ $blueprint_button_active_font_color ||= #FFF
91
+
92
+ //**
93
+ Sets the colors for a button
94
+ @param border_highlight_color
95
+ The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
96
+
97
+ @mixin button-colors($font_color: $blueprint_button_font_color, $bg_color: $blueprint_button_background_color, $border_color: $blueprint_button_border_color, $border_highlight_color: $border_color + #101010)
98
+ background-color: $bg_color
99
+ border-color: $border_highlight_color $border_color $border_color $border_highlight_color
100
+ color: $font_color
101
+
102
+ //**
103
+ Sets the colors for a button in the active state
104
+ @param border_highlight_color
105
+ The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
106
+
107
+ @mixin button-active-colors($font_color: $blueprint_button_active_font_color, $bg_color: $blueprint_button_active_background_color, $border_color: $blueprint_button_active_border_color, $border_highlight_color: $border_color + #101010)
108
+ &:active
109
+ @include button-colors($font_color, $bg_color, $border_color, $border_highlight_color)
110
+
111
+ //**
112
+ Sets the colors for a button in the hover state.
113
+ @param border_highlight_color
114
+ The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
115
+
116
+ @mixin button-hover-colors($font_color: $blueprint_button_hover_font_color, $bg_color: $blueprint_button_hover_background_color, $border_color: $blueprint_button_hover_border_color, $border_highlight_color: $border_color + #101010)
117
+ &:hover
118
+ @include button-colors($font_color, $bg_color, $border_color, $border_highlight_color)
119
+
120
+ @mixin button-base($float: false)
121
+ @if $float
122
+ display: block
123
+ @include float($float)
124
+ @else
125
+ @include inline-block
126
+ margin: 0.7em 0.5em 0.7em 0
127
+ border-width: 1px
128
+ border-style: solid
129
+ font-family: $blueprint_button_font_family
130
+ font-size: 100%
131
+ line-height: 130%
132
+ text-decoration: none
133
+ font-weight: bold
134
+ cursor: pointer
135
+ img
136
+ margin: 0 3px -3px 0 $important
137
+ padding: 0
138
+ border: none
139
+ width: 16px
140
+ height: 16px
141
+ float: none
142
+
143
+ @mixin anchor-button($float: false)
144
+ @include button-base($float)
145
+ padding: 5px 10px 5px 7px
146
+
147
+ @mixin button-button($float: false)
148
+ @include button-base($float)
149
+ width: auto
150
+ overflow: visible
151
+ padding: 4px 10px 3px 7px
152
+ &[type]
153
+ padding: 4px 10px 4px 7px
154
+ line-height: 17px
155
+ *:first-child+html &[type]
156
+ padding: 4px 10px 3px 7px
@@ -0,0 +1,254 @@
1
+ /* -----------------------------------------------------------------------
2
+
3
+
4
+ Blueprint CSS Framework 0.9
5
+ http://blueprintcss.org
6
+
7
+ * Copyright (c) 2007-Present. See LICENSE for more info.
8
+ * See README for instructions on how to use Blueprint.
9
+ * For credits and origins, see AUTHORS.
10
+ * This is a compressed file. See the sources in the 'src' directory.
11
+
12
+ Slightly Modified by Luca Tironi, on july 2010.
13
+ ----------------------------------------------------------------------- */
14
+
15
+ /* reset.css */
16
+ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
17
+ article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
18
+ body {line-height:1.5;}
19
+ table {border-collapse:separate;border-spacing:0;}
20
+ caption, th, td {text-align:left;font-weight:normal;}
21
+ table, td, th {vertical-align:middle;}
22
+ blockquote:before, blockquote:after, q:before, q:after {content:"";}
23
+ blockquote, q {quotes:"" "";}
24
+ a img {border:none;}
25
+
26
+ /* typography.css */
27
+ html {height:100%;font-size:100.01%;}
28
+ body {height:100%;font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
29
+ h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
30
+ h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
31
+ h2 {font-size:2em;margin-bottom:0.75em;}
32
+ h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
33
+ h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
34
+ h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
35
+ h6 {font-size:1em;font-weight:bold;}
36
+ h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
37
+ p {margin:0 0 1.5em;}
38
+ p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
39
+ p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
40
+ a:focus, a:hover {color:#000;}
41
+ a {color:#009;text-decoration:underline;}
42
+ blockquote {margin:1.5em;color:#666;font-style:italic;}
43
+ strong {font-weight:bold;}
44
+ em, dfn {font-style:italic;}
45
+ dfn {font-weight:bold;}
46
+ sup, sub {line-height:0;}
47
+ abbr, acronym {border-bottom:1px dotted #666;}
48
+ address {margin:0 0 1.5em;font-style:italic;}
49
+ del {color:#666;}
50
+ pre {margin:1.5em 0;white-space:pre;}
51
+ pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
52
+ li ul, li ol {margin:0;}
53
+ ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
54
+ ul {list-style-type:disc;}
55
+ ol {list-style-type:decimal;}
56
+ dl {margin:0 0 1.5em 0;}
57
+ dl dt {font-weight:bold;}
58
+ dd {margin-left:1.5em;}
59
+ table {margin-bottom:1.4em;width:100%;}
60
+ th {font-weight:bold;}
61
+ thead th {background:#c3d9ff;}
62
+ th, td, caption {padding:4px 10px 4px 5px;}
63
+ tr.even td {background:#e5ecf9;}
64
+ tfoot {font-style:italic;}
65
+ caption {background:#eee;}
66
+ .small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
67
+ .large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
68
+ .hide {display:none;}
69
+ .quiet {color:#666;}
70
+ .loud {color:#000;}
71
+ .highlight {background:#ff0;}
72
+ .added {background:#060;color:#fff;}
73
+ .removed {background:#900;color:#fff;}
74
+ .first {margin-left:0;padding-left:0;}
75
+ .last {margin-right:0;padding-right:0;}
76
+ .top {margin-top:0;padding-top:0;}
77
+ .bottom {margin-bottom:0;padding-bottom:0;}
78
+
79
+ /* forms.css */
80
+ label {font-weight:bold;}
81
+ fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
82
+ legend {font-weight:bold;font-size:1.2em;}
83
+ input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
84
+ input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
85
+ input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
86
+ input.text, input.title {width:95%;padding:5px;}
87
+ select.text {width:95%;margin-bottom:1.2em;}
88
+ input.title {font-size:1.5em;}
89
+ textarea {width:97%;padding:5px;}
90
+ input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
91
+ form.inline {line-height:3;}
92
+ form.inline p {margin-bottom:0;}
93
+
94
+ /* grid.css */
95
+ .container {width:950px;margin:0 auto;}
96
+ .showgrid {background:url('./grid.png');}
97
+ .column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
98
+ .last {margin-right:0;}
99
+ .span-1 {width:30px;}
100
+ .span-2 {width:70px;}
101
+ .span-3 {width:110px;}
102
+ .span-4 {width:150px;}
103
+ .span-5 {width:190px;}
104
+ .span-6 {width:230px;}
105
+ .span-7 {width:270px;}
106
+ .span-8 {width:310px;}
107
+ .span-9 {width:350px;}
108
+ .span-10 {width:390px;}
109
+ .span-11 {width:430px;}
110
+ .span-12 {width:470px;}
111
+ .span-13 {width:510px;}
112
+ .span-14 {width:550px;}
113
+ .span-15 {width:590px;}
114
+ .span-16 {width:630px;}
115
+ .span-17 {width:670px;}
116
+ .span-18 {width:710px;}
117
+ .span-19 {width:750px;}
118
+ .span-20 {width:790px;}
119
+ .span-21 {width:830px;}
120
+ .span-22 {width:870px;}
121
+ .span-23 {width:910px;}
122
+ .span-24 {width:950px;margin-right:0;}
123
+ input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
124
+ input.span-1, textarea.span-1 {width:18px;}
125
+ input.span-2, textarea.span-2 {width:58px;}
126
+ input.span-3, textarea.span-3 {width:98px;}
127
+ input.span-4, textarea.span-4 {width:138px;}
128
+ input.span-5, textarea.span-5 {width:178px;}
129
+ input.span-6, textarea.span-6 {width:218px;}
130
+ input.span-7, textarea.span-7 {width:258px;}
131
+ input.span-8, textarea.span-8 {width:298px;}
132
+ input.span-9, textarea.span-9 {width:338px;}
133
+ input.span-10, textarea.span-10 {width:378px;}
134
+ input.span-11, textarea.span-11 {width:418px;}
135
+ input.span-12, textarea.span-12 {width:458px;}
136
+ input.span-13, textarea.span-13 {width:498px;}
137
+ input.span-14, textarea.span-14 {width:538px;}
138
+ input.span-15, textarea.span-15 {width:578px;}
139
+ input.span-16, textarea.span-16 {width:618px;}
140
+ input.span-17, textarea.span-17 {width:658px;}
141
+ input.span-18, textarea.span-18 {width:698px;}
142
+ input.span-19, textarea.span-19 {width:738px;}
143
+ input.span-20, textarea.span-20 {width:778px;}
144
+ input.span-21, textarea.span-21 {width:818px;}
145
+ input.span-22, textarea.span-22 {width:858px;}
146
+ input.span-23, textarea.span-23 {width:898px;}
147
+ input.span-24, textarea.span-24 {width:938px;}
148
+ .append-1 {padding-right:40px;}
149
+ .append-2 {padding-right:80px;}
150
+ .append-3 {padding-right:120px;}
151
+ .append-4 {padding-right:160px;}
152
+ .append-5 {padding-right:200px;}
153
+ .append-6 {padding-right:240px;}
154
+ .append-7 {padding-right:280px;}
155
+ .append-8 {padding-right:320px;}
156
+ .append-9 {padding-right:360px;}
157
+ .append-10 {padding-right:400px;}
158
+ .append-11 {padding-right:440px;}
159
+ .append-12 {padding-right:480px;}
160
+ .append-13 {padding-right:520px;}
161
+ .append-14 {padding-right:560px;}
162
+ .append-15 {padding-right:600px;}
163
+ .append-16 {padding-right:640px;}
164
+ .append-17 {padding-right:680px;}
165
+ .append-18 {padding-right:720px;}
166
+ .append-19 {padding-right:760px;}
167
+ .append-20 {padding-right:800px;}
168
+ .append-21 {padding-right:840px;}
169
+ .append-22 {padding-right:880px;}
170
+ .append-23 {padding-right:920px;}
171
+ .prepend-1 {padding-left:40px;}
172
+ .prepend-2 {padding-left:80px;}
173
+ .prepend-3 {padding-left:120px;}
174
+ .prepend-4 {padding-left:160px;}
175
+ .prepend-5 {padding-left:200px;}
176
+ .prepend-6 {padding-left:240px;}
177
+ .prepend-7 {padding-left:280px;}
178
+ .prepend-8 {padding-left:320px;}
179
+ .prepend-9 {padding-left:360px;}
180
+ .prepend-10 {padding-left:400px;}
181
+ .prepend-11 {padding-left:440px;}
182
+ .prepend-12 {padding-left:480px;}
183
+ .prepend-13 {padding-left:520px;}
184
+ .prepend-14 {padding-left:560px;}
185
+ .prepend-15 {padding-left:600px;}
186
+ .prepend-16 {padding-left:640px;}
187
+ .prepend-17 {padding-left:680px;}
188
+ .prepend-18 {padding-left:720px;}
189
+ .prepend-19 {padding-left:760px;}
190
+ .prepend-20 {padding-left:800px;}
191
+ .prepend-21 {padding-left:840px;}
192
+ .prepend-22 {padding-left:880px;}
193
+ .prepend-23 {padding-left:920px;}
194
+ .border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
195
+ .colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
196
+ .pull-1 {margin-left:-40px;}
197
+ .pull-2 {margin-left:-80px;}
198
+ .pull-3 {margin-left:-120px;}
199
+ .pull-4 {margin-left:-160px;}
200
+ .pull-5 {margin-left:-200px;}
201
+ .pull-6 {margin-left:-240px;}
202
+ .pull-7 {margin-left:-280px;}
203
+ .pull-8 {margin-left:-320px;}
204
+ .pull-9 {margin-left:-360px;}
205
+ .pull-10 {margin-left:-400px;}
206
+ .pull-11 {margin-left:-440px;}
207
+ .pull-12 {margin-left:-480px;}
208
+ .pull-13 {margin-left:-520px;}
209
+ .pull-14 {margin-left:-560px;}
210
+ .pull-15 {margin-left:-600px;}
211
+ .pull-16 {margin-left:-640px;}
212
+ .pull-17 {margin-left:-680px;}
213
+ .pull-18 {margin-left:-720px;}
214
+ .pull-19 {margin-left:-760px;}
215
+ .pull-20 {margin-left:-800px;}
216
+ .pull-21 {margin-left:-840px;}
217
+ .pull-22 {margin-left:-880px;}
218
+ .pull-23 {margin-left:-920px;}
219
+ .pull-24 {margin-left:-960px;}
220
+ .pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
221
+ .push-1 {margin:0 -40px 1.5em 40px;}
222
+ .push-2 {margin:0 -80px 1.5em 80px;}
223
+ .push-3 {margin:0 -120px 1.5em 120px;}
224
+ .push-4 {margin:0 -160px 1.5em 160px;}
225
+ .push-5 {margin:0 -200px 1.5em 200px;}
226
+ .push-6 {margin:0 -240px 1.5em 240px;}
227
+ .push-7 {margin:0 -280px 1.5em 280px;}
228
+ .push-8 {margin:0 -320px 1.5em 320px;}
229
+ .push-9 {margin:0 -360px 1.5em 360px;}
230
+ .push-10 {margin:0 -400px 1.5em 400px;}
231
+ .push-11 {margin:0 -440px 1.5em 440px;}
232
+ .push-12 {margin:0 -480px 1.5em 480px;}
233
+ .push-13 {margin:0 -520px 1.5em 520px;}
234
+ .push-14 {margin:0 -560px 1.5em 560px;}
235
+ .push-15 {margin:0 -600px 1.5em 600px;}
236
+ .push-16 {margin:0 -640px 1.5em 640px;}
237
+ .push-17 {margin:0 -680px 1.5em 680px;}
238
+ .push-18 {margin:0 -720px 1.5em 720px;}
239
+ .push-19 {margin:0 -760px 1.5em 760px;}
240
+ .push-20 {margin:0 -800px 1.5em 800px;}
241
+ .push-21 {margin:0 -840px 1.5em 840px;}
242
+ .push-22 {margin:0 -880px 1.5em 880px;}
243
+ .push-23 {margin:0 -920px 1.5em 920px;}
244
+ .push-24 {margin:0 -960px 1.5em 960px;}
245
+ .push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
246
+ .prepend-top {margin-top:1.5em;}
247
+ .append-bottom {margin-bottom:1.5em;}
248
+ hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
249
+ hr.space {background:#fff;color:#fff;visibility:hidden;}
250
+ .clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
251
+ .clearfix, .container {display:block;}
252
+ .clear {clear:both;}
253
+ .floatleft {float:left;}
254
+ .floatright {float:right;}