flutie2 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,54 @@
1
+ h1. Flutie
2
+
3
+ Basic, default styles for rails applications
4
+
5
+ h2. Installation
6
+
7
+ Flutie is a Rails engine. It works with versions of Rails greater than 3.0.
8
+
9
+ Flutie is recommended to be run as a gem and included in your Gemfile.
10
+
11
+ $ rake flutie:install
12
+
13
+ The installer will copy the Flutie stylesheets into public/flutie/stylesheets
14
+
15
+ Once Flutie is installed, with your application running (not in production environment) you can browse to /styleguide. This will present you with many standard markup elements that are present in a Rails application, in your default application layout.
16
+
17
+ Click on the "Default styles" link to view the same markup with a barebones layout that only contains the Flutie stylesheets. Click on "Application styles" to view the markup in your application layout.
18
+
19
+ h2. Usage
20
+
21
+ Flutie registers a :flutie shortcut for stylesheets, so in your layout you can do...
22
+
23
+ <%= stylesheet_link_tag :flutie, 'admin', :cache => true %>
24
+
25
+ ...this will include all the flutie stylesheets, then the 'admin' stylesheet, and it will cache them all into one file.
26
+
27
+ To add custom styles to the styleguide add partials to the app/views/styleguides directory. For example:
28
+
29
+ bc. app/views/styleguides/_todo_item.erb:
30
+
31
+ bc.. <ol>
32
+ <li class="todo">This is a todo item</li>
33
+ </ol>
34
+
35
+ p. Plugin authors can also add to the styleguide by ensuring that their view path
36
+ is in ActionController::Base.view_paths and by placing a partial under the
37
+ styleguides directory. For example:
38
+
39
+ bc. ActionController::Base.append_view_path(File.join(File.dirname(__FILE__), 'views'))
40
+
41
+ bc. my_awesome_plugin/views/styleguides/_pagination.erb:
42
+
43
+ bc.. <div class="pagination">
44
+ <a href="#prev">Previous</a>
45
+ <a href="#next">Next</a>
46
+ </div>
47
+
48
+ h2. Authors
49
+
50
+ Flutie was written by thoughtbot, inc.
51
+
52
+ h2. Suggestions, Bugs, Refactoring?
53
+
54
+ Fork away and create a "Github Issue":http://github.com/thoughtbot/flutie/issues. Please don't send pull requests.
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rake'
4
+ require 'rake/testtask'
5
+ require 'rake/rdoctask'
6
+
7
+ desc 'Default: run unit tests.'
8
+ task :default => :test
9
+
10
+ Rake::TestTask.new(:test) do |t|
11
+ t.libs << 'lib'
12
+ t.libs << 'test'
13
+ t.pattern = 'test/**/*_test.rb'
14
+ t.verbose = true
15
+ end
16
+
17
+ Rake::RDocTask.new(:rdoc) do |rdoc|
18
+ rdoc.rdoc_dir = 'rdoc'
19
+ rdoc.title = 'Flutie'
20
+ rdoc.options << '--line-numbers' << '--inline-source'
21
+ rdoc.rdoc_files.include('README')
22
+ rdoc.rdoc_files.include('lib/**/*.rb')
23
+ end
@@ -0,0 +1,25 @@
1
+ module Flutie
2
+ class StyleguidesController < ApplicationController
3
+
4
+ unloadable
5
+
6
+ def show
7
+ @styleguides = styleguides
8
+ render :layout => "flutie" if params[:flutie] == "true"
9
+ end
10
+
11
+ private
12
+
13
+ def styleguides
14
+ all_styleguide_partials = ActionController::Base.view_paths.map do |view_path|
15
+ styleguide_path = File.join(view_path.to_s, 'styleguides')
16
+ if File.exists?(styleguide_path)
17
+ Dir.glob(styleguide_path + '/_*.*')
18
+ else
19
+ nil
20
+ end
21
+ end
22
+ all_styleguide_partials.flatten.compact
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,274 @@
1
+ <p>
2
+ <% if params[:flutie] -%>
3
+ <%= link_to "Application Styles", :flutie => false %>
4
+ <% else -%>
5
+ <%= link_to "Default Styles", :flutie => true %>
6
+ <% end -%>
7
+ </p>
8
+
9
+ <h1>This is an example page of our basic styles</h1>
10
+ <h2>This is an h2 level heading</h2>
11
+
12
+ <p>Wolbachia pipientis is a maternally transmitted obligate intracellular bacterium that chronically infects thousands of insect species, as well as a range of other arthropods and filarial nematodes. Wolbachia bacteria can induce various reproductive abnormalities in hosts that promote the bacteria's vertical transmission and spread. The discordance of host and Wolbachia phylogenies indicates that these bacteria have moved between host lineages on <a href="#">multiple occasions</a> during their evolutionary history, although the mechanisms that facilitate the transfer of Wolbachia are not well understood. The success of such host shifts is inherently reliant on the ability of the bacteria to adapt to new intracellular environments.</p>
13
+
14
+ <p>The experimental transfer of Wolbachia between host species (transinfection) has proved technically challenging, and the success of such experiments is difficult to predict. Despite an increasing number of reports that document Wolbachia transinfection, many attempts to experimentally infect host species are unsuccessful due to poor maternal transmission rates in the novel host (40). In some cases, transferred strains are extremely stable and maternally inherited at very high rates. This situation occurs primarily when Wolbachia is transferred within or between closely related species in a family or genus. In other cases, the infecting strain appears to be poorly adapted to its new host, showing fluctuating infection densities and various degrees of transovarial transmission. The result is often the loss of infection within a few host generations. Not surprisingly, Wolbachia infections tend to be more susceptible to loss when they have been transferred between phylogenetically distant hosts (17, 35). Similarly, those species that do not naturally harbor Wolbachia can be especially challenging to successfully transinfect.</p>
15
+
16
+ <blockquote>
17
+ <p>Blockquoted text. Not too long ago, two friends of mine were talking to a Cuban refugee, a businessman who had escaped from Castro, and in the midst of his story one of my friends turned to the other and said, "We don't know how lucky we are." And the Cuban stopped and said, "How lucky you are? I had someplace to escape to." And in that sentence he told us the entire story. If we lose freedom here, there's no place to escape to. This is the last stand on earth.</p>
18
+ </blockquote>
19
+
20
+ <h3>This is an h3 level heading</h3>
21
+ <p>Senator Humphrey last week charged that Barry Goldwater, as President, would seek to eliminate farmers. He should do his homework a little better, because he'll find out that we've had a decline of 5 million in the farm population under these government programs. He'll also find that the Democratic administration has sought to get from Congress [an] extension of the farm program to include that three-fourths that is now free. He'll find that they've also asked for the right to imprison farmers who wouldn't keep books as prescribed by the federal government. The Secretary of Agriculture asked for the right to seize farms through condemnation and resell them to other individuals. And contained in that same program was a provision that would have allowed the federal government to remove 2 million farmers from the soil.</p>
22
+
23
+ <hr />
24
+
25
+ <h1>This is an h1 heading</h1>
26
+ <h2>This is an h2 heading</h2>
27
+ <h3>This is an h3 heading</h3>
28
+ <h4>This is an h4 heading</h4>
29
+ <h5>This is an h5 heading</h5>
30
+ <h6>This is an h6 heading</h6>
31
+
32
+ <hr />
33
+
34
+ <h1>This is an h1 heading. It's extremely long and will undoubtedly wrap on a line or two by the time it's completely and utterly finished in ultimate perpetuity.</h1>
35
+ <p>And this is some text in a paragraph below it. Looks good. To understand what is really going on in a colony of ants or bees, Dr. Dornhaus, an assistant professor of ecology and evolutionary biology at the University of Arizona, tracks the little creatures individually — hence the paint and the numbers. Individual ants, she said, have “their own brains and legs, as well as complex and flexible behaviors.” She continues, “Each ant’s behavior and the rules under which it operates generate a pattern for the colony, so it’s crucial to discover its individual cognitive skill.”</p>
36
+ <h2>This is an h2 heading. It's also far too long for a typical headline but we need to know what it will look like when it wraps. I'm sure you understand. Don't read too far in to it, if at all possible.</h2>
37
+ <p>And this is some text in a paragraph below it. The study identifies that there are two scenarios in which a group can act as a unit. The first is when all the members are very closely related, and carry the same genes, so ensuring their genes are passed on to the next generation. The second is when the group's behaviour is controlled by a form of policing -in honey bee hives, for example, any egg not laid by the queen is destroyed by worker bees, to ensure only the queen's offspring survive. Both methods ensure that all the individuals involved are united in a common purpose.</p>
38
+ <h3>This is an h3 heading that, as you can probably imagine, is going to be much too long than is typically desired but you have to understand there is a perfectly good reason.</h3>
39
+ <p>And this is some text in a paragraph below it. Dr Andy Gardner, from the School of Biological Sciences at the University of Edinburgh, said: "We often see animals appearing to move in unison, such as bison or fish. However, what looks like a team effort is in fact each animal jostling to get to the middle of the group to evade predators.</p>
40
+ <h4>This is an h4 heading</h4>
41
+ <p>And this is some text in a paragraph below it. Looks good.Dr. Dornhaus is breaking new ground in her studies of whether the efficiency of ant society, based on a division of labor among ant specialists, is important to their success. To do that, she said, I briefly anesthetized 1,200 ants, one by one, and painted them using a single wire-size brush, with model airplane paint — Rally Green, Racing Red, Daytona Yellow.</p>
42
+
43
+ <p>After recording their behavior with two video cameras aiming down on an insect-size stage, she analyzed 300 hours of videotape of the ants in action. She discovered behavior more worthy of Aesop’s grasshopper than the proverbial industrious ants.</p>
44
+
45
+
46
+ <h2>List styles</h2>
47
+
48
+ <ul>
49
+ <li>Unordered list test</li>
50
+ <li>Another list element. Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
51
+ <li>Yet another element in the list</li>
52
+ <li>Some long text. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
53
+ </ul>
54
+ <ol>
55
+ <li>Ordered list test</li>
56
+ <li>Another list element</li>
57
+ <li>Yet another element in the list</li>
58
+ <li>How many things do you really need in a list</li>
59
+ </ol>
60
+
61
+ <ol>
62
+ <li>Outer Ordered list item</li>
63
+ <li>Outer Ordered list item
64
+ <ul>
65
+ <li>Nested Unordered list item</li>
66
+ <li>Nested Unordered list item
67
+ <ol>
68
+ <li>Inner Nested Ordered list item</li>
69
+ <li>Inner Nested Ordered list item</li>
70
+ </ol>
71
+ </li>
72
+ </ul>
73
+ </li>
74
+ <li>Outer Ordered list item</li>
75
+ <li>Outer Ordered list item
76
+ <ol>
77
+ <li>Nested Ordered list item</li>
78
+ <li>Nested Ordered list item
79
+ <ul>
80
+ <li>Inner Nested Unordered list item</li>
81
+ <li>Inner Nested Unordered list item</li>
82
+ </ul>
83
+ </li>
84
+ </ol>
85
+ </li>
86
+ </ol>
87
+
88
+ <dl>
89
+ <dt>definition list dt</dt>
90
+ <dd>definition list dd</dd>
91
+ <dt>definition list dt</dt>
92
+ <dd>definition list dd</dd>
93
+ <dt>definition list dt</dt>
94
+ <dd>definition list dd one</dd>
95
+ <dd>definition list dd two</dd>
96
+ </dl>
97
+
98
+
99
+
100
+
101
+ <h2>Basic form styles</h2>
102
+
103
+ <%= form_for '' do |f| %>
104
+ <table>
105
+ <tr>
106
+ <td class='label'><%= f.label :version, 'Version' %>:</td>
107
+ <td class='text_field'><%= f.text_field :version %></td>
108
+ </tr><tr>
109
+ <td class='label'><%= f.label :author, 'Author' %>:</td>
110
+ <td class='text_field'><%= f.text_field :author %></td>
111
+ </tr><tr>
112
+ <td class='label'><%= f.label :pass, 'Pass' %>:</td>
113
+ <td class='text_field'><%= f.password_field :pass %></td>
114
+ </tr><tr>
115
+ <td class='label'><%= f.label :search, 'Search' %>:</td>
116
+ <td class='text_field'><%= f.search_field :search %></td>
117
+ </tr><tr>
118
+ <td class='label'><%= f.label :telephone, 'Telephone' %>:</td>
119
+ <td class='text_field'><%= f.telephone_field :telephone %></td>
120
+ </tr><tr>
121
+ <td class='label'><%= f.label :admin, 'Admin?' %>:</td>
122
+ <td><%= f.check_box :admin %></td>
123
+ </tr><tr>
124
+ <td class='label'><%= f.label :radio, 'Radio' %>:</td>
125
+ <td><%= f.radio_button :radio, 'yes' %></td>
126
+ </tr><tr>
127
+ <td class='label_text_area'><%= f.label :biography, 'Biography' %>:</td>
128
+ <td class='text_area'><%= f.text_area :biography %></td>
129
+ </tr><tr>
130
+ <td class='label'><%= f.label :date, 'Date' %>:</td>
131
+ <td class='select'><%= f.date_select :date, :start_year => 1995 %></td>
132
+ </tr><tr>
133
+ <td class='label'><%= f.label :email, 'Tu correo electrónico' %>:</td>
134
+ <td class='text_field'><%= f.email_field :email %></td>
135
+ </tr><tr>
136
+ <td></td>
137
+ <td class='warning_dialog'>¿Por qué tengo que dar esta información?</td>
138
+ </tr><tr>
139
+ <td></td>
140
+ <td class='submit'><%= f.submit "Edit this article" %></td>
141
+ </tr>
142
+ </table>
143
+ <% end %>
144
+
145
+ <h2>Miscellaneous Styles</h2>
146
+
147
+ <div class="error">
148
+ This is a &lt;div&gt; with the class <strong>.error</strong>.
149
+ </div>
150
+ <div class="notice">
151
+ This is a &lt;div&gt; with the class <strong>.notice</strong>.
152
+ </div>
153
+ <div class="success">
154
+ This is a &lt;div&gt; with the class <strong>.success</strong>.
155
+ </div>
156
+
157
+ <p>
158
+ <strong>&lt;strong&gt;</strong><br />
159
+ <ins>&lt;ins&gt; inserted</ins><br />
160
+ <del>&lt;del&gt; deleted</del><br />
161
+ <dfn>&lt;dfn&gt; dfn</dfn><br />
162
+ <em>&lt;em&gt; emphasis</em><br />
163
+ </p>
164
+ <p>
165
+ <a>&lt;a&gt; anchor</a><br />
166
+ <a href="http://www.google.com">&lt;a&gt; a + href</a><br />
167
+ </p>
168
+ <p>
169
+ <abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr><br />
170
+ <acronym title="extended acronym text should show when mouse over">&lt;acronym&gt; acronym - extended text when mouseover.</acronym><br />
171
+ </p>
172
+ <address>
173
+ &lt;address&gt;<br />
174
+ Donald Duck<br />
175
+ Box 555<br />
176
+ Disneyland
177
+ </address>
178
+
179
+ <h2>Table Styles</h2>
180
+
181
+ <div class="table">
182
+ <table summary="This is the summary text for this table." border="0" cellspacing="0" cellpadding="0">
183
+ <tr>
184
+ <th class="">Table Header One</th>
185
+ <th class="last">Table Header Two</th>
186
+ </tr>
187
+ <tr>
188
+ <td>TD One</td>
189
+ <td>TD Two</td>
190
+ </tr>
191
+ <tr>
192
+ <td colspan="2">TD colspan 2</td>
193
+ </tr>
194
+ </table>
195
+ </div>
196
+
197
+ <div class="table">
198
+ <table summary="This is the summary text for this table." border="0" cellspacing="0" cellpadding="0">
199
+ <thead>
200
+ <tr>
201
+ <th>Table Header One</th>
202
+ <th>Table Header Two</th>
203
+ <th>Table Header One</th>
204
+ <th>Table Header Two</th>
205
+ </tr>
206
+ </thead>
207
+ <tfoot>
208
+ <tr>
209
+ <td colspan="4">tfoot footer</td>
210
+ </tr>
211
+ </tfoot>
212
+ <tbody>
213
+ <tr>
214
+ <td>TD One</td>
215
+ <td>TD Two</td>
216
+ <td>TD One</td>
217
+ <td>TD Two</td>
218
+ </tr>
219
+ <tr>
220
+ <td>TD One</td>
221
+ <td>TD Two</td>
222
+ <td>TD One</td>
223
+ <td>TD Two</td>
224
+ </tr>
225
+ </tbody>
226
+ <tbody>
227
+ <tr>
228
+ <td>TD One</td>
229
+ <td>TD Two</td>
230
+ <td>TD One</td>
231
+ <td>TD Two</td>
232
+ </tr>
233
+ <tr>
234
+ <td>TD One</td>
235
+ <td>TD Two</td>
236
+ <td>TD One</td>
237
+ <td>TD Two</td>
238
+ </tr>
239
+ </tbody>
240
+ </table>
241
+ </div>
242
+
243
+ <h2>Code Styles</h2>
244
+
245
+ <pre>&lt;pre&gt;
246
+ What light
247
+ through yonder window breaks</pre>
248
+
249
+ <code>&lt;code&gt;
250
+ User.new</code>
251
+
252
+ <pre class="code"><code>
253
+ class User &lt; ActiveRecord::Base
254
+ has_many :groups
255
+ belongs_to :account
256
+
257
+ def name
258
+ [first_name, last_name].join(' ')
259
+ end
260
+ end
261
+ </code></pre>
262
+
263
+ <tt>&lt;tt&gt;
264
+ This tt text should be monospaced
265
+ and
266
+ wrap as if
267
+ one line of text
268
+ even though the code has newlines, spaces, and tabs.
269
+ It should be the same size as &lt;p&gt; text.
270
+ </tt>
271
+
272
+ <hr />
273
+ <h1>Additional Styleguides</h1>
274
+ <hr />
@@ -0,0 +1,14 @@
1
+ !!!
2
+ %html{:lang => 'en'}
3
+
4
+ %head
5
+ %meta{:charset => 'utf-8'}/
6
+ %meta{'http-equiv'=>'X-UA-Compatible', :content=>'chrome=1'}/
7
+ %title Flutie2
8
+ = stylesheet_link_tag 'flutie2'
9
+
10
+ %body
11
+ .wrap
12
+ .line
13
+ .unit.size1o1
14
+ = yield
@@ -0,0 +1,3 @@
1
+ Flutie2::Application.routes.draw do
2
+ resource :styleguides, :as => :styleguide, :controller => 'flutie/styleguides', :only => [:show]
3
+ end
@@ -0,0 +1,3 @@
1
+ module Flutie
2
+ require 'flutie/engine' if defined?(Rails)
3
+ end
@@ -0,0 +1,6 @@
1
+ module Flutie
2
+
3
+ class Engine < Rails::Engine
4
+ end
5
+
6
+ end
@@ -0,0 +1,17 @@
1
+ require 'fileutils'
2
+
3
+ def copy_files(source_path, destination_path, directory)
4
+ source, destination = File.join(directory, source_path), File.join(Rails.root, destination_path)
5
+ FileUtils.mkdir_p(destination, :verbose => true) unless File.exist?(destination)
6
+ FileUtils.cp_r(source, destination, :verbose => true)
7
+ end
8
+
9
+ directory = File.dirname(__FILE__)
10
+
11
+ namespace :flutie do
12
+ desc 'install flutie stylesheets into public/ directory'
13
+ task :install => :environment do
14
+ # Copy the flutie stylesheets into rails_root/public/flutie
15
+ copy_files("../../public/stylesheets", "/public/flutie", directory)
16
+ end
17
+ end
@@ -0,0 +1,492 @@
1
+ /* http://meyerweb.com/eric/tools/css/reset/ */
2
+ /* v1.0 | 20080212 */
3
+ html, body, div, span, applet, object, iframe,
4
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
5
+ a, abbr, acronym, address, big, cite, code,
6
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
7
+ small, strike, strong, sub, sup, tt, var,
8
+ b, u, i, center,
9
+ dl, dt, dd, ol, ul, li,
10
+ fieldset, form, label, legend,
11
+ table, caption, tbody, tfoot, thead, tr, th, td {
12
+ margin: 0;
13
+ padding: 0;
14
+ border: 0;
15
+ outline: 0;
16
+ font-size: 100%;
17
+ vertical-align: baseline;
18
+ background: transparent; }
19
+
20
+ body {
21
+ line-height: 1; }
22
+
23
+ ol, ul {
24
+ list-style: none; }
25
+
26
+ blockquote, q {
27
+ quotes: none; }
28
+
29
+ blockquote:before, blockquote:after,
30
+ q:before, q:after {
31
+ content: '';
32
+ content: none; }
33
+
34
+ /* remember to define focus styles! */
35
+ :focus {
36
+ outline: 0; }
37
+
38
+ /* remember to highlight inserts somehow! */
39
+ ins {
40
+ text-decoration: none; }
41
+
42
+ del {
43
+ text-decoration: line-through; }
44
+
45
+ /* tables still need 'cellspacing="0"' in the markup */
46
+ table {
47
+ border-collapse: collapse;
48
+ border-spacing: 0; }
49
+
50
+ section, article, header, footer, nav {
51
+ display: block; }
52
+
53
+ @media screen and (max-width: 319px) {
54
+ .unit {
55
+ float: none !important;
56
+ width: auto !important; } }
57
+
58
+ .line:after, .lastUnit:after {
59
+ clear: both;
60
+ display: block;
61
+ visibility: hidden;
62
+ overflow: hidden;
63
+ height: 0 !important;
64
+ line-height: 0;
65
+ font-size: xx-large;
66
+ content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x "; }
67
+
68
+ .line {
69
+ *zoom: 1; }
70
+
71
+ .unit {
72
+ float: left; }
73
+
74
+ .size1of1 {
75
+ float: none; }
76
+
77
+ .size1of2 {
78
+ width: 50%; }
79
+
80
+ .size1of3 {
81
+ width: 33.33333%; }
82
+
83
+ .size2of3 {
84
+ width: 66.66666%; }
85
+
86
+ .size1of4 {
87
+ width: 25%; }
88
+
89
+ .size3of4 {
90
+ width: 75%; }
91
+
92
+ .size1of5 {
93
+ width: 20%; }
94
+
95
+ .size2of5 {
96
+ width: 40%; }
97
+
98
+ .size3of5 {
99
+ width: 60%; }
100
+
101
+ .size4of5 {
102
+ width: 80%; }
103
+
104
+ .lastUnit {
105
+ display: table-cell;
106
+ float: none;
107
+ width: auto;
108
+ *display: block;
109
+ *zoom: 1;
110
+ _position: relative;
111
+ _left: -3px;
112
+ _margin-right: -3px; }
113
+
114
+ /*
115
+ Formulas ritmo vertical:
116
+ (1 ÷ tamaño de fuente padre × requerido por el valor en pixel = valor en em)
117
+
118
+ m => margin
119
+ p => padding
120
+ t = top
121
+ l = left
122
+ b = bottom
123
+ r = right
124
+ */
125
+ /* Lists */
126
+ ul, ol {
127
+ list-style-position: inside;
128
+ margin: 1.286em;
129
+ font-size: 0.875em;
130
+ line-height: 1.286em; }
131
+
132
+ li ul, li ol {
133
+ font-size: 1em; }
134
+
135
+ ul {
136
+ list-style-type: disc; }
137
+
138
+ ol {
139
+ list-style-type: decimal; }
140
+
141
+ dl {
142
+ margin: 1.286em;
143
+ font-size: 0.875em;
144
+ line-height: 1.286em; }
145
+
146
+ dl dt {
147
+ font-weight: bold;
148
+ margin-top: 1.5em; }
149
+
150
+ dl dd {
151
+ margin-bottom: 0em; }
152
+
153
+ dd {
154
+ margin-left: 1.5em; }
155
+
156
+ ol ol, ol ul, ul ul, ul ol {
157
+ margin-left: 1.5em; }
158
+
159
+ /* Tables */
160
+ table {
161
+ table-layout: fixed;
162
+ width: 100%; }
163
+
164
+ div.table {
165
+ margin: 1.286em;
166
+ font-size: 0.875em;
167
+ line-height: 1.286em; }
168
+
169
+ th {
170
+ border: 1px solid #000000;
171
+ font-weight: bold;
172
+ text-align: left; }
173
+
174
+ td {
175
+ border: 1px solid #000000; }
176
+
177
+ caption, th, td {
178
+ padding: 0.25em; }
179
+
180
+ caption {
181
+ background: #f1f1f1; }
182
+
183
+ tr, td, th {
184
+ vertical-align: middle; }
185
+
186
+ /* Form */
187
+ form {
188
+ margin: 1.286em;
189
+ font-size: 0.875em;
190
+ line-height: 1.286em; }
191
+ form table {
192
+ table-layout: auto; }
193
+ form tr, form td {
194
+ border: 0 none; }
195
+
196
+ td.warning_dialog {
197
+ padding-top: 0;
198
+ font-size: 11px; }
199
+
200
+ td.with_warning_dialog {
201
+ padding-bottom: 0; }
202
+
203
+ td.label_text_area {
204
+ vertical-align: top;
205
+ padding-top: 0.5em; }
206
+
207
+ td.label {
208
+ text-align: right;
209
+ width: 10%; }
210
+
211
+ td.text_field {
212
+ width: 90%; }
213
+ td.text_field input {
214
+ font-size: 16px;
215
+ padding: 0.25em;
216
+ background: url("/images/input_bg.gif") repeat-x scroll center top white;
217
+ border: 1px solid;
218
+ border-color: #666666 #CCCCCC #CCCCCC;
219
+ width: 400px; }
220
+
221
+ td.text_area textarea {
222
+ font-size: 16px;
223
+ padding: 0.25em;
224
+ height: 200px;
225
+ width: 400px;
226
+ background: url("/images/input_bg.gif") repeat-x scroll center top white;
227
+ border: 1px solid;
228
+ border-color: #666666 #CCCCCC #CCCCCC; }
229
+
230
+ td.select select {
231
+ font-size: 16px;
232
+ padding: 0.25em;
233
+ border: 1px solid;
234
+ border-color: #666666 #CCCCCC #CCCCCC; }
235
+
236
+ td.submit {
237
+ padding-top: 1em; }
238
+ td.submit input {
239
+ padding: 0.833em;
240
+ cursor: pointer;
241
+ display: inline-block;
242
+ font-size: 12px;
243
+ font-weight: bold;
244
+ color: #333333;
245
+ display: inline-block;
246
+ /* Background */
247
+ background: #286da3;
248
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF',endColorstr='#E1E1E1');
249
+ /* IE6,IE7 */
250
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#E1E1E1')";
251
+ /* IE8 */
252
+ background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(white), to(#e1e1e1));
253
+ background: -moz-linear-gradient(-90deg, white, #e1e1e1) repeat scroll 0 0 transparent;
254
+ /* Border */
255
+ border: 1px solid #EBEBEB;
256
+ -webkit-border-radius: 4px;
257
+ /* Saf3-4 */
258
+ -moz-border-radius: 4px;
259
+ /* FF1+ */
260
+ border-radius: 4px;
261
+ /* Opera 10.5, IE 9, Saf5, Chrome */
262
+ /* Shadow */
263
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
264
+ /* Saf3.0+, Chrome */
265
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
266
+ /* FF3.5+ */
267
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
268
+ /* Opera 10.5, IE 9.0 */
269
+ /* Aditional */
270
+ -webkit-font-smoothing: antialiased;
271
+ text-shadow: 1px 1px 0 #FFFFFF; }
272
+ td.submit input:hover {
273
+ border: 1px solid #0CA6DD;
274
+ color: #FFFFFF;
275
+ background: #286da3;
276
+ background: -moz-linear-gradient(-90deg, #0ca6dd, #0770a0) repeat scroll 0 0 transparent;
277
+ background: -webkit-gradient(linear, 0% 0, 0% 100%, from(#0ca6dd), to(#0770a0));
278
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#0CA6DD',endColorstr='#0770A0');
279
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#0CA6DD', EndColorStr='#0770A0')";
280
+ /* IE8 */
281
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.25); }
282
+
283
+ /* Success, error & notice boxes for messages and errors. */
284
+ div.error, div.notice, div.success,
285
+ #flash_failure, #flash_success, #flash_notice {
286
+ padding: 1.286em;
287
+ font-size: 0.875em;
288
+ line-height: 1.286em;
289
+ margin: 1.286em;
290
+ font-size: 0.875em;
291
+ line-height: 1.286em;
292
+ border: 1px solid;
293
+ color: #fff; }
294
+
295
+ div.error,
296
+ #flash_failure {
297
+ border-color: #5e1718;
298
+ background: #B02B2C; }
299
+
300
+ div.notice,
301
+ #flash_notice {
302
+ border-color: #1c3753;
303
+ background: #356AA0; }
304
+
305
+ div.success,
306
+ #flash_success {
307
+ border-color: #232903;
308
+ background: #73880A; }
309
+
310
+ *, :active, :focus {
311
+ outline: 0 none; }
312
+
313
+ body {
314
+ font-size: 1em;
315
+ font-family: Arial, Verdana, sans-serif;
316
+ /* Experimental: */
317
+ -webkit-user-select: none;
318
+ color: #333333; }
319
+
320
+ div.wrap {
321
+ width: 46.875em;
322
+ margin-top: 1.5em;
323
+ margin-bottom: 1.5em;
324
+ margin-right: auto;
325
+ margin-left: auto; }
326
+
327
+ h1, h2, h3, h4, h5, h6 {
328
+ font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
329
+ color: #203360; }
330
+
331
+ h1 {
332
+ padding-top: 0.9em;
333
+ padding-left: 0.9em;
334
+ padding-right: 0.9em;
335
+ padding-bottom: 0;
336
+ font-size: 1.25em;
337
+ line-height: 0.9em;
338
+ font-weight: bold; }
339
+
340
+ h2 {
341
+ padding-top: 1em;
342
+ padding-left: 1em;
343
+ padding-right: 1em;
344
+ padding-bottom: 0;
345
+ font-size: 1.125em;
346
+ line-height: 1em;
347
+ word-spacing: -1px;
348
+ font-weight: normal; }
349
+
350
+ h3 {
351
+ padding-top: 1.125em;
352
+ padding-left: 1.125em;
353
+ padding-right: 1.125em;
354
+ padding-bottom: 0;
355
+ font-size: 1em;
356
+ line-height: 1.125em;
357
+ font-weight: bold; }
358
+
359
+ h4 {
360
+ padding-top: 1.125em;
361
+ padding-left: 1.125em;
362
+ padding-right: 1.125em;
363
+ padding-bottom: 0;
364
+ font-size: 1em;
365
+ line-height: 1.125em;
366
+ font-weight: bold; }
367
+
368
+ h5 {
369
+ padding-top: 1.125em;
370
+ padding-left: 1.125em;
371
+ padding-right: 1.125em;
372
+ padding-bottom: 0;
373
+ font-size: 1em;
374
+ line-height: 1.125em;
375
+ font-weight: bold; }
376
+
377
+ h6 {
378
+ padding-top: 1.125em;
379
+ padding-left: 1.125em;
380
+ padding-right: 1.125em;
381
+ padding-bottom: 0;
382
+ font-size: 1em;
383
+ line-height: 1.125em;
384
+ font-weight: bold; }
385
+
386
+ p {
387
+ margin: 1.286em;
388
+ font-size: 0.875em;
389
+ line-height: 1.286em; }
390
+
391
+ /* Use this to create a horizontal ruler across a column. */
392
+ hr {
393
+ background: #000000;
394
+ border: none;
395
+ clear: both;
396
+ color: #000000;
397
+ float: none;
398
+ height: 1px;
399
+ margin: 1.286em;
400
+ font-size: 0.875em;
401
+ line-height: 1.286em; }
402
+
403
+ hr.space {
404
+ background: #fff;
405
+ color: #fff; }
406
+
407
+ /* Clearfix hack I love you */
408
+ .clearfix:after {
409
+ content: ".";
410
+ display: block;
411
+ height: 0;
412
+ clear: both;
413
+ visibility: hidden; }
414
+
415
+ .clearfix {
416
+ display: inline-block; }
417
+
418
+ /* Hide from IE Mac \*/
419
+ .clearfix {
420
+ display: block; }
421
+
422
+ /* End hide from IE Mac */
423
+ abbr, acronym {
424
+ border-bottom: 1px dotted #666;
425
+ cursor: help; }
426
+
427
+ address {
428
+ font-style: italic;
429
+ margin: 1.286em;
430
+ font-size: 0.875em;
431
+ line-height: 1.286em; }
432
+
433
+ del {
434
+ color: #666; }
435
+
436
+ a, a:link {
437
+ color: #1a4882;
438
+ text-decoration: underline; }
439
+
440
+ a:visited {
441
+ color: #1a4882; }
442
+
443
+ a:hover {
444
+ color: #052246; }
445
+
446
+ a:active,
447
+ a:focus {
448
+ color: #1a4882; }
449
+
450
+ blockquote {
451
+ margin: 1.286em;
452
+ font-size: 0.875em;
453
+ line-height: 1.286em;
454
+ border-left: 4px solid #d1d1d1;
455
+ color: gray;
456
+ font-style: italic;
457
+ font-size: 1em; }
458
+
459
+ strong {
460
+ font-weight: bold; }
461
+
462
+ em,
463
+ dfn {
464
+ font-style: italic; }
465
+
466
+ dfn {
467
+ font-weight: bold; }
468
+
469
+ pre, code {
470
+ margin: 1.286em;
471
+ font-size: 0.875em;
472
+ line-height: 1.286em;
473
+ white-space: pre;
474
+ display: block; }
475
+
476
+ pre, code, tt {
477
+ font: 1em 'andale mono', 'monotype.com', 'lucida console', monospace; }
478
+
479
+ pre.code {
480
+ background: #000;
481
+ color: #fff;
482
+ padding: 1.286em;
483
+ font-size: 0.875em;
484
+ line-height: 1.286em; }
485
+ pre.code code {
486
+ margin: 0; }
487
+
488
+ tt {
489
+ display: block;
490
+ margin: 1.286em;
491
+ font-size: 0.875em;
492
+ line-height: 1.286em; }