typus 3.1.0.rc14 → 3.1.0.rc15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. data/.gitmodules +3 -0
  2. data/README.md +10 -14
  3. data/Rakefile +7 -5
  4. data/app/assets/javascripts/typus.js +1 -0
  5. data/app/assets/javascripts/typus/jquery.application.js +0 -2
  6. data/app/assets/stylesheets/typus.css +13 -1
  7. data/app/assets/stylesheets/typus/account.css +53 -0
  8. data/app/assets/stylesheets/typus/actions.css +11 -0
  9. data/app/assets/stylesheets/typus/content.css +92 -0
  10. data/app/assets/stylesheets/typus/defaults.css +31 -0
  11. data/app/assets/stylesheets/typus/errors.css +33 -0
  12. data/app/assets/stylesheets/typus/footer.css +8 -0
  13. data/app/assets/stylesheets/typus/forms.css +52 -0
  14. data/app/assets/stylesheets/typus/hacks.css +20 -0
  15. data/app/assets/stylesheets/typus/header.css +55 -0
  16. data/app/assets/stylesheets/typus/layout.css +4 -0
  17. data/app/assets/stylesheets/typus/pagination.css +34 -8
  18. data/app/assets/stylesheets/typus/sidebar.css +23 -0
  19. data/app/assets/stylesheets/typus/tables.css +47 -0
  20. data/app/helpers/admin/base_helper.rb +1 -1
  21. data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +1 -0
  22. data/app/helpers/admin/resources/data_types/tree_helper.rb +1 -0
  23. data/app/helpers/admin/resources/display_helper.rb +1 -1
  24. data/app/helpers/admin/resources/form_helper.rb +1 -0
  25. data/app/helpers/admin/resources_helper.rb +3 -5
  26. data/app/views/admin/account/forgot_password.html.erb +7 -1
  27. data/app/views/admin/base/user_guide.html.erb +61 -57
  28. data/app/views/admin/dashboard/show.html.erb +6 -16
  29. data/app/views/admin/dashboard/widgets/_applications.html.erb +31 -0
  30. data/app/views/admin/dashboard/widgets/_models.html.erb +23 -0
  31. data/app/views/admin/dashboard/widgets/_models_extended.html.erb +25 -0
  32. data/app/views/admin/dashboard/widgets/_resources.html.erb +23 -0
  33. data/app/views/admin/resources/_actions.html.erb +23 -0
  34. data/app/views/admin/resources/edit.html.erb +26 -20
  35. data/app/views/admin/resources/edit/_actions.html.erb +7 -0
  36. data/app/views/admin/resources/edit/_rencently_edited.html.erb +8 -0
  37. data/app/views/admin/resources/index.html.erb +42 -32
  38. data/app/views/admin/resources/new.html.erb +16 -8
  39. data/app/views/admin/resources/show.html.erb +22 -14
  40. data/app/views/admin/session/new.html.erb +9 -1
  41. data/app/views/admin/templates/_belongs_to.html.erb +1 -1
  42. data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +1 -1
  43. data/app/views/admin/templates/_boolean.html.erb +1 -1
  44. data/app/views/admin/templates/_date.html.erb +1 -1
  45. data/app/views/admin/templates/_datetime.html.erb +1 -1
  46. data/app/views/admin/templates/_dragonfly.html.erb +1 -1
  47. data/app/views/admin/templates/_paperclip.html.erb +1 -1
  48. data/app/views/admin/templates/_password.html.erb +1 -1
  49. data/app/views/admin/templates/_selector.html.erb +1 -1
  50. data/app/views/admin/templates/_string.html.erb +1 -1
  51. data/app/views/admin/templates/_string_with_preview.html.erb +1 -1
  52. data/app/views/admin/templates/_text.html.erb +1 -1
  53. data/app/views/admin/templates/_text_with_ckeditor.html.erb +16 -2
  54. data/app/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +16 -2
  55. data/app/views/admin/templates/_time.html.erb +1 -1
  56. data/app/views/admin/templates/_tree.html.erb +1 -1
  57. data/app/views/helpers/admin/resources/_sidebar.html.erb +36 -12
  58. data/app/views/helpers/admin/resources/_table.html.erb +5 -3
  59. data/app/views/layouts/admin/base.html.erb +16 -29
  60. data/app/views/layouts/admin/headless.html.erb +1 -1
  61. data/app/views/layouts/admin/session.html.erb +6 -0
  62. data/lib/support/fake_user.rb +2 -8
  63. data/lib/typus.rb +6 -2
  64. data/lib/typus/authentication/devise.rb +19 -0
  65. data/lib/typus/controller/headless.rb +1 -1
  66. data/lib/typus/orm/active_record/admin_user_v1.rb +15 -1
  67. data/lib/typus/orm/active_record/admin_user_v2.rb +16 -2
  68. data/lib/typus/orm/active_record/user/class_methods.rb +2 -3
  69. data/lib/typus/orm/active_record/user/instance_methods.rb +5 -2
  70. data/lib/typus/orm/active_record/user/instance_methods_more.rb +19 -0
  71. data/lib/typus/version.rb +1 -1
  72. data/vendor/assets/adapt/css/1200.css +357 -0
  73. data/vendor/assets/adapt/css/1200.min.css +1 -0
  74. data/vendor/assets/adapt/css/1560.css +357 -0
  75. data/vendor/assets/adapt/css/1560.min.css +1 -0
  76. data/vendor/assets/adapt/css/720.css +357 -0
  77. data/vendor/assets/adapt/css/720.min.css +1 -0
  78. data/vendor/assets/adapt/css/960.css +357 -0
  79. data/vendor/assets/adapt/css/960.min.css +1 -0
  80. data/vendor/assets/adapt/css/fluid.css +345 -0
  81. data/vendor/assets/adapt/css/fluid.min.css +1 -0
  82. data/vendor/assets/adapt/css/master.css +120 -0
  83. data/vendor/assets/adapt/css/mobile.css +20 -0
  84. data/vendor/assets/adapt/css/mobile.min.css +1 -0
  85. data/vendor/assets/adapt/css/reset.css +202 -0
  86. data/vendor/assets/adapt/css/text.css +81 -0
  87. data/vendor/assets/adapt/images/h1.png +0 -0
  88. data/vendor/assets/adapt/js/adapt.js +135 -0
  89. data/vendor/assets/adapt/js/adapt.min.js +1 -0
  90. data/vendor/assets/formalize/.gitignore +1 -0
  91. data/vendor/assets/formalize/css/_formalize.sass +332 -0
  92. data/vendor/assets/formalize/css/demo.css +47 -0
  93. data/vendor/assets/formalize/css/formalize.css +395 -0
  94. data/vendor/assets/formalize/css/reset.css +202 -0
  95. data/vendor/assets/formalize/css/text.css +81 -0
  96. data/vendor/assets/formalize/images/button.png +0 -0
  97. data/vendor/assets/formalize/images/select_arrow.gif +0 -0
  98. data/vendor/assets/formalize/js/dojo.formalize.js +166 -0
  99. data/vendor/assets/formalize/js/dojo.formalize.min.js +1 -0
  100. data/vendor/assets/formalize/js/extjs.formalize.js +163 -0
  101. data/vendor/assets/formalize/js/extjs.formalize.min.js +1 -0
  102. data/vendor/assets/formalize/js/jquery.formalize.js +150 -0
  103. data/vendor/assets/formalize/js/jquery.formalize.min.js +1 -0
  104. data/vendor/assets/formalize/js/mootools.formalize.js +155 -0
  105. data/vendor/assets/formalize/js/mootools.formalize.min.js +1 -0
  106. data/vendor/assets/formalize/js/prototype.formalize.js +163 -0
  107. data/vendor/assets/formalize/js/prototype.formalize.min.js +1 -0
  108. data/vendor/assets/formalize/js/yui.formalize.js +152 -0
  109. data/vendor/assets/formalize/js/yui.formalize.min.js +1 -0
  110. metadata +79 -47
  111. data/app/assets/stylesheets/typus/screen.css +0 -340
  112. data/app/helpers/admin/dashboard_helper.rb +0 -8
  113. data/app/views/admin/dashboard/_applications.html.erb +0 -21
  114. data/config/locales/typus.ca.models.yml +0 -17
  115. data/config/locales/typus.ca.yml +0 -80
  116. data/config/locales/typus.de.models.yml +0 -17
  117. data/config/locales/typus.de.yml +0 -79
  118. data/config/locales/typus.el.models.yml +0 -17
  119. data/config/locales/typus.el.yml +0 -81
  120. data/config/locales/typus.es.models.yml +0 -18
  121. data/config/locales/typus.es.yml +0 -81
  122. data/config/locales/typus.fr.models.yml +0 -18
  123. data/config/locales/typus.fr.yml +0 -85
  124. data/config/locales/typus.hu.models.yml +0 -17
  125. data/config/locales/typus.hu.yml +0 -79
  126. data/config/locales/typus.it.models.yml +0 -18
  127. data/config/locales/typus.it.yml +0 -88
  128. data/config/locales/typus.locale.models.yml.template +0 -17
  129. data/config/locales/typus.locale.yml.template +0 -80
  130. data/config/locales/typus.pt-BR.models.yml +0 -17
  131. data/config/locales/typus.pt-BR.yml +0 -79
  132. data/config/locales/typus.pt-PT.models.yml +0 -17
  133. data/config/locales/typus.pt-PT.yml +0 -83
  134. data/config/locales/typus.ru.models.yml +0 -17
  135. data/config/locales/typus.ru.yml +0 -79
  136. data/config/locales/typus.zh-CN.models.yml +0 -17
  137. data/config/locales/typus.zh-CN.yml +0 -78
@@ -1,3 +1,6 @@
1
1
  [submodule "test/fixtures/rails_app"]
2
2
  path = test/fixtures/rails_app
3
3
  url = git@github.com:typus/demo.git
4
+ [submodule "config/locales"]
5
+ path = config/locales
6
+ url = git@github.com:typus/locales.git
data/README.md CHANGED
@@ -12,17 +12,17 @@ concentrate on your application instead of the bits to manage the system.
12
12
 
13
13
  > A category of people or things having common characteristics.
14
14
 
15
- You can try a demo [here][demo].
15
+ You can try a demo [here][typus_demo].
16
16
 
17
17
  ## Key Features
18
18
 
19
19
  - Built-in Authentication and Access Control Lists.
20
20
  - CRUD and custom actions for your models on a clean interface.
21
- - Internationalized interface ([See available translations][locales])
21
+ - Internationalized interface ([See available translations][typus_locales])
22
22
  - Customizable and extensible templates.
23
23
  - Integrated [paperclip][paperclip] and [dragonfly][dragonfly] attachments viewer.
24
24
  - Works with `Rails 3.1.X`.
25
- - Tested with latest versions of `1.8.7`, `ree`, `1.9.2` and `jruby`.
25
+ - Tested with latest Rubies. (`1.8.7-p352`, `ree-1.8.7-2011.03`, `1.9.2-p290`, `jruby-1.6.3`)
26
26
  - Tested with `SQLite`, `MySQL` and `PostgreSQL`.
27
27
 
28
28
  ## Installing
@@ -42,17 +42,11 @@ Update your bundle, run the generator and start the application server:
42
42
 
43
43
  and go to <http://0.0.0.0:3000/admin>.
44
44
 
45
- ## Development
46
-
47
- To clone repository and initialize submodules:
48
-
49
- $ git clone --recursive git://github.com/typus/typus.git
50
-
51
45
  ## Links
52
46
 
53
47
  - [Documentation](https://github.com/typus/typus/wiki)
54
48
  - [Issues](https://github.com/typus/typus/issues)
55
- - [Source Code](http://github.com/typus/typus) and [RubyGems](http://rubygems.org/gems/typus)
49
+ - [Source Code][typus] and [RubyGems][typus_gem]
56
50
  - [Mailing List](http://groups.google.com/group/typus)
57
51
  - [Contributors List](http://github.com/typus/typus/contributors)
58
52
 
@@ -79,9 +73,11 @@ To clone repository and initialize submodules:
79
73
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
80
74
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
81
75
 
82
- [demo]: http://demo.typuscms.com/
76
+ [typus]: http://github.com/typus/typus
77
+ [typus_demo]: http://demo.typuscms.com/
78
+ [typus_demo_code]: https://github.com/typus/demo
79
+ [typus_locales]: https://github.com/typus/typus/tree/master/config/locales
80
+ [typus_gem]: http://rubygems.org/gems/typus
83
81
  [paperclip]: http://rubygems.org/gems/paperclip
84
82
  [dragonfly]: http://rubygems.org/gems/dragonfly
85
- [rails]: http://rubyonrails.org/
86
- [code]: https://github.com/typus/typus/tree/master/test/fixtures/rails_app
87
- [locales]: https://github.com/typus/typus/tree/master/config/locales
83
+ [rails]: http://rubyonrails.org/
data/Rakefile CHANGED
@@ -7,8 +7,10 @@ task :default => :test
7
7
  Rake::TestTask.new do |t|
8
8
  t.libs << "test"
9
9
  t.test_files = FileList['test/app/controllers/**/*_test.rb',
10
- 'test/lib/support/*_test.rb',
11
- 'test/config/*_test.rb']
10
+ 'test/app/models/**/*_test.rb',
11
+ 'test/app/mailers/**/*_test.rb',
12
+ 'test/config/*_test.rb',
13
+ 'test/lib/**/*_test.rb']
12
14
  t.verbose = true
13
15
  end
14
16
 
@@ -44,14 +46,14 @@ namespace :test do
44
46
 
45
47
  end
46
48
 
47
- namespace :demo do
49
+ namespace :submodules do
48
50
 
49
- desc "Update demo"
51
+ desc "Update submodules"
50
52
  task :update do
51
53
  system "git pull && git submodule update --init"
52
54
  end
53
55
 
54
- desc "Upgrade demo"
56
+ desc "Upgrade submodules"
55
57
  task :upgrade do
56
58
  system "git submodule foreach 'git pull origin master'"
57
59
  system "git ci -m 'Updated submodules' ."
@@ -3,5 +3,6 @@
3
3
  //= require jquery.fancybox-1.3.4.pack
4
4
  //= require jquery.searchField
5
5
  //= require jquery.tokeninput
6
+ //= require js/jquery.formalize.min
6
7
  //= require typus/jquery.application
7
8
  //= require typus/application
@@ -1,5 +1,3 @@
1
- var CKEDITOR_BASEPATH = '/assets/ckeditor/';
2
-
3
1
  $(document).ready(function() {
4
2
 
5
3
  $("#quicksearch").searchField();
@@ -1,8 +1,20 @@
1
1
  /*
2
2
  *= require jquery.fancybox-1.3.4
3
+ *= require css/formalize
4
+ *= require css/fluid
3
5
  *= require token-input
4
6
  *= require typus/reset
5
- *= require typus/screen
7
+ *= require typus/layout
8
+ *= require typus/defaults
9
+ *= require typus/errors
10
+ *= require typus/account
11
+ *= require typus/header
12
+ *= require typus/content
13
+ *= require typus/sidebar
14
+ *= require typus/footer
15
+ *= require typus/tables
6
16
  *= require typus/pagination
17
+ *= require typus/forms
18
+ *= require typus/hacks
7
19
  *= require typus/application
8
20
  */
@@ -0,0 +1,53 @@
1
+ #account {
2
+ background: #F3F3F3;
3
+ }
4
+
5
+ #account #wrapper {
6
+ margin: 10em auto;
7
+ width: 40em;
8
+ }
9
+
10
+ #account #box {
11
+ -moz-border-radius: 4px;
12
+ -webkit-border-radius: 4px;
13
+ background: #FFF;
14
+ border: 0.1em solid #D3D3D3;
15
+ padding: 1em 2em;
16
+ margin: 0 0 1em 0;
17
+ }
18
+
19
+ #account #box h1 {
20
+ margin: 0.5em 0;
21
+ }
22
+
23
+ #account #box ul {
24
+ margin: 1.5em 0 0.5em 0;
25
+ }
26
+
27
+ #account #box li {
28
+ margin: 1em 0;
29
+ }
30
+
31
+ #account #box input.text {
32
+ font-size: 2em;
33
+ padding: 0.25em;
34
+ width: 100%;
35
+ }
36
+
37
+ #account #box input.button {
38
+ margin: 0.5em 1em 0 0;
39
+ }
40
+
41
+ #account #footer {
42
+ font-size: 0.9em;
43
+ line-height: 1.8em;
44
+ text-align: center;
45
+ }
46
+
47
+ #account #footer a {
48
+ font-weight: bold;
49
+ }
50
+
51
+ #account #actions {
52
+ text-align: center;
53
+ }
@@ -0,0 +1,11 @@
1
+
2
+ #content_wrapper ul.predefined_filters {
3
+ border-bottom: 1px solid #D3D3D3;
4
+ margin: -0.5em 0 0 0;
5
+ padding: 1em 0;
6
+ }
7
+
8
+ #content_wrapper ul.predefined_filters li {
9
+ display: inline;
10
+ margin: 0 0.5em 0 0;
11
+ }
@@ -0,0 +1,92 @@
1
+ #content {
2
+ margin: 0;
3
+ padding: 1em;
4
+ }
5
+
6
+ #content h2 {
7
+ font-size: 1.5em;
8
+ margin: 0.5em 0;
9
+ }
10
+
11
+ #content h2 small {
12
+ font-size: 0.75em;
13
+ }
14
+
15
+ #content h2 small a {
16
+ color: #666;
17
+ }
18
+
19
+ #content ol {
20
+ margin: 1em 2em;
21
+ }
22
+
23
+ #content ul {
24
+ margin: 0 1.5em;
25
+ }
26
+
27
+ #content li {
28
+ list-style: square;
29
+ line-height: 1.5em;
30
+ }
31
+
32
+ #content pre {
33
+ background: #000;
34
+ color: #FFF;
35
+ font-size: 1.5em;
36
+ margin: 1em 0;
37
+ overflow: auto;
38
+ padding: 1em;
39
+ }
40
+
41
+ #content blockquote {
42
+ -moz-border-radius: 4px;
43
+ -webkit-border-radius: 4px;
44
+ font-size: 1.25em;
45
+ font-family: georgia;
46
+ line-height: 1.5em;
47
+ margin: 1em 0;
48
+ padding: 0 1em;
49
+ border: 1px solid #AAA;
50
+ }
51
+
52
+ #content .filters {
53
+ border-bottom: 1px solid #D3D3D3;
54
+ height: 2em;
55
+ margin-bottom: 1em;
56
+ padding: 1em 0;
57
+ }
58
+
59
+ #content .filters ul {
60
+ margin: 0;
61
+ }
62
+
63
+ #content .filters ul li {
64
+ float: left;
65
+ list-style: none;
66
+ margin: 0 1em 0 0;
67
+ }
68
+
69
+ #content #search {
70
+ float: right;
71
+ }
72
+
73
+ #content #search ul li {
74
+ margin: 0;
75
+ }
76
+
77
+ #content ul.predefined_filters {
78
+ border-bottom: 1px solid #D3D3D3;
79
+ margin: -0.5em 0 0 0;
80
+ padding: 1em 0;
81
+ }
82
+
83
+ #content ul.predefined_filters li {
84
+ display: inline;
85
+ margin: 0 0.5em 0 0;
86
+ }
87
+
88
+ #content .actions {
89
+ font-size: 0.9em;
90
+ margin: 0.5em 0;
91
+ height: 1em;
92
+ }
@@ -0,0 +1,31 @@
1
+ html, body {}
2
+
3
+ body {
4
+ font-family: "Lucida Grande", Sans-serif;
5
+ font-size: 75%;
6
+ height: 100%;
7
+ }
8
+
9
+ label { display: block; font-weight: bold; margin: 0 0 5px 0; }
10
+ strong { font-weight: bold; }
11
+ em { font-style: italic; }
12
+
13
+ dl { margin: 14px 0 20px 0; }
14
+ dt { font-weight: bold; }
15
+ dd { font-size: 18px; margin: 0.25em 0 1em 0; }
16
+ dd p { color: #000; }
17
+
18
+ p {
19
+ color: #777;
20
+ line-height: 1.25em;
21
+ margin: 1em 0;
22
+ }
23
+
24
+ h1 { font-size: 2em; font-weight: normal; }
25
+ h2 { font-weight: bold; }
26
+ h3 { font-size: 1.25em; font-weight: bold; margin: 1em 0; }
27
+
28
+ a,
29
+ a:visited,
30
+ a:link { color: #000; font-weight: normal; }
31
+ a:hover { color: #333; text-decoration: underline!important; }
@@ -0,0 +1,33 @@
1
+ #errorExplanation,
2
+ .alert,
3
+ .notice {
4
+ padding: 0.8em;
5
+ margin: 1em 0;
6
+ border: 1px solid #ddd;
7
+ -moz-border-radius: 4px;
8
+ -webkit-border-radius: 4px;
9
+ line-height: 1.5em;
10
+ }
11
+
12
+ #errorExplanation p,
13
+ #errorExplanation li,
14
+ #errorExplanation h3 {
15
+ color: #D12F19;
16
+ }
17
+
18
+ #errorExplanation h3 { margin: 5px 0 0 0; }
19
+
20
+ #errorExplanation ul { margin: 10px 0 0 20px!important; }
21
+
22
+ #errorExplanation,
23
+ .alert { background: #FBE3E4; border-color: #FBC2C4; color: #D12F19; }
24
+ .alert a { color: #D12F19; text-decoration: underline; }
25
+
26
+ .notice { background: #FFF6BF; border-color: #FFD324; color: #817134; }
27
+ .notice a { color: #817134; text-decoration: underline; }
28
+
29
+ .fieldWithErrors label { color: #CD0A0A;}
30
+ .fieldWithErrors input { background: #FEF8F6; }
31
+
32
+ #errorExplanation ul { margin: 1em 1.5em; }
33
+ #errorExplanation ul li { list-style: square!important; margin: 0!important; }
@@ -0,0 +1,8 @@
1
+ #footer {
2
+ padding: 1em;
3
+ }
4
+
5
+ #footer .copyright {
6
+ display: none;
7
+ font-size: 0.80em;
8
+ }
@@ -0,0 +1,52 @@
1
+ fieldset {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ fieldset ol {
7
+ margin: 0!important;
8
+ }
9
+
10
+ fieldset ol li {
11
+ list-style: none!important;
12
+ margin: 1em 0!important;
13
+ }
14
+
15
+ fieldset small {
16
+ font-size: 0.9em;
17
+ font-weight: normal;
18
+ margin: 0 0 0 0.25em;
19
+ }
20
+
21
+ fieldset small a {
22
+ text-decoration: none;
23
+ }
24
+
25
+ fieldset.inputs {}
26
+
27
+ fieldset.inputs input[type='text'],
28
+ fieldset.inputs input[type='password'] {
29
+ font-size: 1.25em;
30
+ width: 100%;
31
+ }
32
+
33
+ fieldset.inputs textarea {
34
+ font-size: 1.25em;
35
+ padding: 3px;
36
+ }
37
+
38
+ fieldset.inputs select {
39
+ font-size: 1.25em;
40
+ }
41
+
42
+ fieldset.inputs label.inline_label {
43
+ display: inline;
44
+ }
45
+
46
+ fieldset.buttons {
47
+ margin-top: 1.5em;
48
+ }
49
+
50
+ fieldset.buttons ol li {
51
+ display: inline;
52
+ }
@@ -0,0 +1,20 @@
1
+ .box {
2
+ -moz-border-radius: 4px;
3
+ -webkit-border-radius: 4px;
4
+ background: #FFF;
5
+ border: 1px solid #AAA;
6
+ margin: 1em 0;
7
+ padding: 0.5em 1em ;
8
+ }
9
+
10
+ .box h3 {
11
+ margin: 0.5em 0!important;
12
+ }
13
+
14
+ .clear {
15
+ clear: both;
16
+ }
17
+
18
+ .box_relationships {
19
+ margin-top: 2.5em;
20
+ }
@@ -0,0 +1,55 @@
1
+ #header {
2
+ background: #4A525A;
3
+ padding: 1.25em 1em;
4
+ }
5
+
6
+ #header .title {
7
+ margin-bottom: 1.5em;
8
+ }
9
+
10
+ #header .title h1 a {
11
+ text-decoration: none;
12
+ }
13
+
14
+ #header .title h1 a:hover {
15
+ text-decoration: underline;
16
+ }
17
+
18
+ #header .title,
19
+ #header .title h1 a,
20
+ #header .applications,
21
+ #header .applications a,
22
+ #header .profile,
23
+ #header .profile a {
24
+ color: #FFF;
25
+ }
26
+
27
+ #header ul li {
28
+ display: inline;
29
+ }
30
+
31
+ #header .applications ul li {
32
+ padding-right: 0.25em;
33
+ }
34
+
35
+ #header .applications ul li a {
36
+ -moz-border-radius: 4px;
37
+ -webkit-border-radius: 4px;
38
+ background: #242527;
39
+ padding: 3px 5px;
40
+ text-decoration: none;
41
+ }
42
+
43
+ #header .applications ul li a.active,
44
+ #header .applications ul li a:hover {
45
+ background: #FFF;
46
+ color: #000;
47
+ }
48
+
49
+ #header .profile {
50
+ text-align: right;
51
+ }
52
+
53
+ #header .profile ul li {
54
+ padding-left: 0.5em;
55
+ }