gitdocs 0.3.6 → 0.4.0

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.
data/README.md CHANGED
@@ -5,7 +5,9 @@ gitdocs will automatically keep everyone's repos in sync by pushing and pulling
5
5
  This allows any git repo to be used as a collaborative task list, file share, or wiki for a team.
6
6
  Supports a web front-end allowing each repo to be accessed through your browser.
7
7
 
8
- **Note:** Right now, gitdocs only supports Mac OSX using fsevent. Linux and windows support are coming very soon, so check back here again.
8
+ **Note:** Gitdocs uses [joshbuddy-guard](https://github.com/joshbuddy/guard) for file system monitoring. This
9
+ means that gitdocs works on Mac OSX, Linux and Windows. That being said, we have only currently
10
+ tested on Mac OSX and our notifications are still mac-only. Stay tuned.
9
11
 
10
12
  ## Why?
11
13
 
@@ -57,7 +59,7 @@ to enable Growl support (other platforms coming soon).
57
59
 
58
60
  ## Usage
59
61
 
60
- ### Monitoring Repos
62
+ ### Monitoring Shares
61
63
 
62
64
  You can add existing folders to watch:
63
65
 
@@ -65,7 +67,7 @@ You can add existing folders to watch:
65
67
  gitdocs add my/path/to/watch
66
68
  ```
67
69
 
68
- or instruct gitdocs to fetch a remote repository and keep it synced with:
70
+ or instruct gitdocs to fetch a remote share and keep it synced with:
69
71
 
70
72
  ```
71
73
  gitdocs create local/path/for/repo git@github.com:user/some/remote/repo.git
@@ -119,25 +121,24 @@ of the repo can then compare all versions and resolve the conflict.
119
121
 
120
122
  Gitdocs come with a handy web front-end that is available. This browser front-end supports the following features:
121
123
 
122
- * Explore all repos and directories
123
- * View source files in your repos with smart syntax highlighting (ruby, python, js, etc)
124
- * View text files in your repos with smart formatting (markdown, textile)
125
- * View any file in your repos that can be embedded in the browser
126
- * Edit and update text files with rich text editor (ace editor)
127
- * Upload or create new files in your repos
128
- * Manage path settings and other configuration options
124
+ * Explore the files within all your shares
125
+ * View source files in your shares with code syntax highlighting
126
+ * View text files in your shares with smart formatting (markdown, textile)
127
+ * View any file in your shares that can be rendered inline (pdf, images, et al)
128
+ * Edit and update text files using a text editor
129
+ * Upload and create new files within your shares
130
+ * Manage share settings and other configuration options
129
131
 
130
- To check out the front-end, simply visit `http://localhost:8888` whenever gitdocs is running. Yes, we know
131
- this currently looks (design-wise) like hot garbage. We will get to the aesthetics but patches and help welcome.
132
+ To check out the front-end, simply visit `http://localhost:8888` whenever gitdocs is running.
132
133
 
133
134
  ## Planned Features
134
135
 
135
136
  Gitdocs is a young project but we have big plans for it including:
136
137
 
137
- - Local-area peer-to-peer syncing, avoid 'polling' in cases where we can using a messaging protocol.
138
138
  - Click-to-share instant access granting file access to users using a local tunnel or other means.
139
- - Support for linux and windows platforms (coming soon), and maybe android and iOS as well?
140
139
  - Indexing and full-text search for all documents in a repo
140
+ - Better access to the versions for a particular file within the web front-end
141
+ - Tagging and organizing of files within the web front-end
141
142
 
142
143
  ## Prior Projects
143
144
 
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_dependency 'rb-fsevent', '~> 0.4.3.1'
21
+ s.add_dependency 'joshbuddy-guard', '~> 0.10.0'
22
22
  s.add_dependency 'thin'
23
23
  s.add_dependency 'renee', '~> 0.3.7'
24
24
  s.add_dependency 'redcarpet'
@@ -1,10 +1,10 @@
1
1
  require 'thread'
2
- require 'rb-fsevent'
3
2
  require 'growl'
4
3
  require 'yajl'
5
4
  require 'dante'
6
5
  require 'socket'
7
6
  require 'shell_tools'
7
+ require 'guard'
8
8
 
9
9
  require 'gitdocs/version'
10
10
  require 'gitdocs/configuration'
@@ -12,6 +12,7 @@ require 'gitdocs/runner'
12
12
  require 'gitdocs/server'
13
13
  require 'gitdocs/cli'
14
14
  require 'gitdocs/manager'
15
+ require 'gitdocs/docfile'
15
16
 
16
17
  module Gitdocs
17
18
 
@@ -35,7 +35,7 @@ module Gitdocs
35
35
  end
36
36
 
37
37
  class Config < ActiveRecord::Base
38
- attr_accessible :load_browser_on_startup
38
+ attr_accessible :load_browser_on_startup, :start_web_frontend
39
39
  end
40
40
 
41
41
  def add_path(path, opts = nil)
@@ -0,0 +1,37 @@
1
+ module Gitdocs
2
+ class Docfile
3
+ attr_reader :parent, :path, :name, :author, :modified
4
+
5
+ def initialize(path)
6
+ @path = path
7
+ @parent = File.dirname(path)
8
+ @name = File.basename(path)
9
+ end
10
+
11
+ # within?("parent", "/root/path") => "/root/path/parent"
12
+ def within?(dir, root)
13
+ expanded_root = File.expand_path(dir, root)
14
+ File.expand_path(@parent, root) == expanded_root ||
15
+ File.expand_path(@path, root).include?(expanded_root)
16
+ end
17
+ end
18
+
19
+ class Docdir < Docfile
20
+ attr_accessor :subdirs
21
+ attr_accessor :files
22
+
23
+ def initialize(path)
24
+ super
25
+ @subdirs = []
26
+ @files = []
27
+ end
28
+
29
+ def items
30
+ subdirs + files
31
+ end
32
+
33
+ def parent=(dir)
34
+ dir.subdirs.push(self) if dir
35
+ end
36
+ end
37
+ end
@@ -11,43 +11,35 @@ module Gitdocs
11
11
  end
12
12
 
13
13
  def run
14
- loop do
14
+ run = true
15
+ trap('USR1') { run = true; EM.stop }
16
+ while run
17
+ run = false
15
18
  puts "Gitdocs v#{VERSION}" if self.debug
16
19
  puts "Using configuration root: '#{self.config.config_root}'" if self.debug
17
20
  puts "Shares: #{config.shares.map(&:inspect).join(", ")}" if self.debug
18
21
  # Start the repo watchers
19
- runners = []
20
- threads = config.shares.map do |share|
21
- t = Thread.new(runners) { |r|
22
- runner = Runner.new(share)
23
- r << runner
24
- runner.run
25
- }
26
- t.abort_on_exception = true
27
- t
28
- end
29
- trap("USR1") { puts "stopping threads: #{threads.map(&:alive?)}"; runners.each { |r| r.listener.stop } }
30
- sleep 1
31
- unless @pid
22
+ runners = nil
23
+ EM.run do
24
+ runners = config.shares.map { |share| Runner.new(share) }
25
+ runners.each(&:run)
32
26
  # Start the web front-end
33
- @pid = fork { Server.new(self, *runners).start }
34
- at_exit { Process.kill("KILL", @pid) rescue nil }
35
- end
36
- puts "Watch threads: #{threads.map { |t| "Thread status: '#{t.status}', running: #{t.alive?}" }}" if self.debug
37
- puts "Joined #{threads.size} watch threads...running" if self.debug
38
- i = 0
39
- web_started = false
40
- begin
41
- TCPSocket.open('127.0.0.1', 8888).close
42
- web_started = true
43
- rescue Errno::ECONNREFUSED
44
- sleep 0.2
45
- i += 1
46
- retry if i <= 20
27
+ if self.config.global.start_web_frontend
28
+ Server.new(self, *runners).start
29
+ i = 0
30
+ web_started = false
31
+ begin
32
+ TCPSocket.open('127.0.0.1', 8888).close
33
+ web_started = true
34
+ rescue Errno::ECONNREFUSED
35
+ sleep 0.2
36
+ i += 1
37
+ retry if i <= 20
38
+ end
39
+ system("open http://localhost:8888/") if self.config.global.load_browser_on_startup && web_started
40
+ end
47
41
  end
48
- system("open http://localhost:8888/") if self.config.global.load_browser_on_startup && web_started
49
- threads.each(&:join)
50
- sleep(60) if threads.empty?
42
+ sleep(10) if runners && runners.empty?
51
43
  end
52
44
  end
53
45
 
@@ -0,0 +1,9 @@
1
+ class AddStartWebFrontend < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :configs, :start_web_frontend, :boolean, :default => true
4
+ end
5
+
6
+ def self.down
7
+ raise
8
+ end
9
+ end
@@ -1,84 +1,49 @@
1
1
  body {
2
- margin-left: 20%;
3
- margin-right: 20%;
4
- font-family: Helvetica, Arial, Verdana;
2
+ padding-top: 50px;
5
3
  }
6
4
 
7
- h1, h2 {
8
- margin: 0;
9
- padding-bottom: 0.8em;
10
- font-weight: bold;
5
+ .inline-file {
6
+ width:100%;
7
+ min-height: 600px;
8
+ background: white;
11
9
  }
12
10
 
13
- h1 { font-size: 1.8em; }
14
- h2 { font-size: 1.5em; margin-top: 0.2em; }
15
-
16
- .nav h1 {
17
- text-align: center;
11
+ h2.path {
12
+ margin-bottom: 0.8em;
18
13
  }
19
14
 
20
- .nav h1 a {
21
- text-decoration: none;
22
- color: black;
15
+ #editor {
16
+ line-height: normal;
17
+ position: relative;
18
+ width: 100%;
19
+ height: 600px;
20
+ margin-bottom: 1em;
23
21
  }
24
22
 
25
- .nav h1 a:hover {
26
- text-decoration: none;
23
+ form.upload p, form.add p {
24
+ padding-bottom: 0.6em;
25
+ font-weight: bold;
27
26
  }
28
27
 
29
- .menu {
30
- margin-top :10px;
31
- display: absolute;
32
- float:right;
28
+ /* Dir Listing */
29
+ table td.author, td.modified {
30
+ width: 30%;
33
31
  }
34
32
 
33
+ /* Settings */
35
34
  div.share {
36
- border-color: #000000;
37
35
  border-radius: 7px;
38
- padding: 2em;
39
- margin-top: 1.2em;
40
- }
41
-
42
- div.share.even {
43
- background: #FEFBAA;
44
- }
45
-
46
- div.share input {
47
- width :100%;
36
+ border: 1px solid black;
37
+ padding: 1em;
38
+ margin: 1em 0;
39
+ width: 60%;
48
40
  }
49
41
 
50
- .container {
51
- min-width: 700px;
52
- background: #FCEA97;
53
- border-style: solid;
54
- border-width: 5px;
55
- border-color: #FFC003;
56
- border-radius: 15px;
57
- padding: 2em;
58
- margin-top: 1.2em;
42
+ input.path {
43
+ width: 80%;
59
44
  }
60
45
 
61
- .container .inline-file {
62
- width:100%;
63
- min-height: 600px;
64
- background: white;
46
+ .field {
47
+ padding: 0.8em 0;
65
48
  }
66
-
67
- a { text-decoration: none; color: #33e; }
68
- a:hover { text-decoration: underline; }
69
-
70
- #editor {
71
- position: relative;
72
- width: 700px;
73
- height: 600px;
74
- margin-bottom: 1em;
75
- }
76
-
77
- form.upload, form.add {
78
- padding-top: 1.4em;
79
- }
80
-
81
- form.upload p, form.add p {
82
- padding-bottom: 0.6em;
83
- font-weight: bold;
84
- }
49
+ .field span { font-weight: bold; }
@@ -0,0 +1,356 @@
1
+ html,body{margin:0;padding:0;}
2
+ h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;}
3
+ table{border-collapse:collapse;border-spacing:0;}
4
+ ol,ul{list-style:none;}
5
+ q:before,q:after,blockquote:before,blockquote:after{content:"";}
6
+ html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
7
+ a:focus{outline:thin dotted;}
8
+ a:hover,a:active{outline:0;}
9
+ article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
10
+ audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
11
+ audio:not([controls]){display:none;}
12
+ sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
13
+ sup{top:-0.5em;}
14
+ sub{bottom:-0.25em;}
15
+ img{border:0;-ms-interpolation-mode:bicubic;}
16
+ button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
17
+ button,input{line-height:normal;*overflow:visible;}
18
+ button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
19
+ button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
20
+ input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
21
+ input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
22
+ textarea{overflow:auto;vertical-align:top;}
23
+ body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#404040;}
24
+ .container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;}
25
+ .container:after{clear:both;}
26
+ .container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;}
27
+ .container-fluid:after{clear:both;}
28
+ .container-fluid>.sidebar{position:absolute;top:0;left:20px;width:220px;}
29
+ .container-fluid>.content{margin-left:240px;}
30
+ a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;}
31
+ .pull-right{float:right;}
32
+ .pull-left{float:left;}
33
+ .hide{display:none;}
34
+ .show{display:block;}
35
+ .row{zoom:1;margin-left:-20px;}.row:before,.row:after{display:table;content:"";zoom:1;}
36
+ .row:after{clear:both;}
37
+ .row>[class*="span"]{display:inline;float:left;margin-left:20px;}
38
+ .span1{width:40px;}
39
+ .span2{width:100px;}
40
+ .span3{width:160px;}
41
+ .span4{width:220px;}
42
+ .span5{width:280px;}
43
+ .span6{width:340px;}
44
+ .span7{width:400px;}
45
+ .span8{width:460px;}
46
+ .span9{width:520px;}
47
+ .span10{width:580px;}
48
+ .span11{width:640px;}
49
+ .span12{width:700px;}
50
+ .span13{width:760px;}
51
+ .span14{width:820px;}
52
+ .span15{width:880px;}
53
+ .span16{width:940px;}
54
+ .span17{width:1000px;}
55
+ .span18{width:1060px;}
56
+ .span19{width:1120px;}
57
+ .span20{width:1180px;}
58
+ .span21{width:1240px;}
59
+ .span22{width:1300px;}
60
+ .span23{width:1360px;}
61
+ .span24{width:1420px;}
62
+ .row>.offset1{margin-left:80px;}
63
+ .row>.offset2{margin-left:140px;}
64
+ .row>.offset3{margin-left:200px;}
65
+ .row>.offset4{margin-left:260px;}
66
+ .row>.offset5{margin-left:320px;}
67
+ .row>.offset6{margin-left:380px;}
68
+ .row>.offset7{margin-left:440px;}
69
+ .row>.offset8{margin-left:500px;}
70
+ .row>.offset9{margin-left:560px;}
71
+ .row>.offset10{margin-left:620px;}
72
+ .row>.offset11{margin-left:680px;}
73
+ .row>.offset12{margin-left:740px;}
74
+ .span-one-third{width:300px;}
75
+ .span-two-thirds{width:620px;}
76
+ .row>.offset-one-third{margin-left:340px;}
77
+ .row>.offset-two-thirds{margin-left:660px;}
78
+ p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;}
79
+ h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;}
80
+ h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;}
81
+ h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;}
82
+ h3,h4,h5,h6{line-height:36px;}
83
+ h3{font-size:18px;}h3 small{font-size:14px;}
84
+ h4{font-size:16px;}h4 small{font-size:12px;}
85
+ h5{font-size:14px;}
86
+ h6{font-size:13px;color:#bfbfbf;text-transform:uppercase;}
87
+ ul,ol{margin:0 0 18px 25px;}
88
+ ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
89
+ ul{list-style:disc;}
90
+ ol{list-style:decimal;}
91
+ li{line-height:18px;color:#808080;}
92
+ ul.unstyled{list-style:none;margin-left:0;}
93
+ dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;}
94
+ dl dt{font-weight:bold;}
95
+ dl dd{margin-left:9px;}
96
+ hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;}
97
+ strong{font-style:inherit;font-weight:bold;}
98
+ em{font-style:italic;font-weight:inherit;line-height:inherit;}
99
+ .muted{color:#bfbfbf;}
100
+ blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;}
101
+ blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';}
102
+ address{display:block;line-height:18px;margin-bottom:18px;}
103
+ code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
104
+ code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;}
105
+ pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
106
+ form{margin-bottom:18px;}
107
+ fieldset{margin-bottom:18px;padding-top:18px;}fieldset legend{display:block;padding-left:150px;font-size:19.5px;line-height:1;color:#404040;*padding:0 0 5px 145px;*line-height:1.5;}
108
+ form .clearfix{margin-bottom:18px;zoom:1;}form .clearfix:before,form .clearfix:after{display:table;content:"";zoom:1;}
109
+ form .clearfix:after{clear:both;}
110
+ label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;}
111
+ label{padding-top:6px;font-size:13px;line-height:18px;float:left;width:130px;text-align:right;color:#404040;}
112
+ form .input{margin-left:150px;}
113
+ input[type=checkbox],input[type=radio]{cursor:pointer;}
114
+ input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
115
+ select{padding:initial;}
116
+ input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;}
117
+ input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
118
+ input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;}
119
+ select,input[type=file]{height:27px;*height:auto;line-height:27px;*margin-top:4px;}
120
+ select[multiple]{height:inherit;background-color:#ffffff;}
121
+ textarea{height:auto;}
122
+ .uneditable-input{background-color:#ffffff;display:block;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;}
123
+ :-moz-placeholder{color:#bfbfbf;}
124
+ ::-webkit-input-placeholder{color:#bfbfbf;}
125
+ input,textarea{-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);}
126
+ input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);}
127
+ input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;}
128
+ form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;}
129
+ form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
130
+ form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;}
131
+ form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;}
132
+ form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;}
133
+ form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;}
134
+ form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;}
135
+ form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;}
136
+ form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;}
137
+ .input-mini,input.mini,textarea.mini,select.mini{width:60px;}
138
+ .input-small,input.small,textarea.small,select.small{width:90px;}
139
+ .input-medium,input.medium,textarea.medium,select.medium{width:150px;}
140
+ .input-large,input.large,textarea.large,select.large{width:210px;}
141
+ .input-xlarge,input.xlarge,textarea.xlarge,select.xlarge{width:270px;}
142
+ .input-xxlarge,input.xxlarge,textarea.xxlarge,select.xxlarge{width:530px;}
143
+ textarea.xxlarge{overflow-y:auto;}
144
+ input.span1,textarea.span1{display:inline-block;float:none;width:30px;margin-left:0;}
145
+ input.span2,textarea.span2{display:inline-block;float:none;width:90px;margin-left:0;}
146
+ input.span3,textarea.span3{display:inline-block;float:none;width:150px;margin-left:0;}
147
+ input.span4,textarea.span4{display:inline-block;float:none;width:210px;margin-left:0;}
148
+ input.span5,textarea.span5{display:inline-block;float:none;width:270px;margin-left:0;}
149
+ input.span6,textarea.span6{display:inline-block;float:none;width:330px;margin-left:0;}
150
+ input.span7,textarea.span7{display:inline-block;float:none;width:390px;margin-left:0;}
151
+ input.span8,textarea.span8{display:inline-block;float:none;width:450px;margin-left:0;}
152
+ input.span9,textarea.span9{display:inline-block;float:none;width:510px;margin-left:0;}
153
+ input.span10,textarea.span10{display:inline-block;float:none;width:570px;margin-left:0;}
154
+ input.span11,textarea.span11{display:inline-block;float:none;width:630px;margin-left:0;}
155
+ input.span12,textarea.span12{display:inline-block;float:none;width:690px;margin-left:0;}
156
+ input.span13,textarea.span13{display:inline-block;float:none;width:750px;margin-left:0;}
157
+ input.span14,textarea.span14{display:inline-block;float:none;width:810px;margin-left:0;}
158
+ input.span15,textarea.span15{display:inline-block;float:none;width:870px;margin-left:0;}
159
+ input.span16,textarea.span16{display:inline-block;float:none;width:930px;margin-left:0;}
160
+ input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
161
+ .actions{background:#f5f5f5;margin-top:18px;margin-bottom:18px;padding:17px 20px 18px 150px;border-top:1px solid #ddd;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.actions .secondary-action{float:right;}.actions .secondary-action a{line-height:30px;}.actions .secondary-action a:hover{text-decoration:underline;}
162
+ .help-inline,.help-block{font-size:13px;line-height:18px;color:#bfbfbf;}
163
+ .help-inline{padding-left:5px;*position:relative;*top:-5px;}
164
+ .help-block{display:block;max-width:600px;}
165
+ .inline-inputs{color:#808080;}.inline-inputs span{padding:0 2px 0 1px;}
166
+ .input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
167
+ .input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
168
+ .input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;}
169
+ .input-prepend .add-on{*margin-top:1px;}
170
+ .input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
171
+ .input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;}
172
+ .inputs-list{margin:0 0 5px;width:100%;}.inputs-list li{display:block;padding:0;width:100%;}
173
+ .inputs-list label{display:block;float:none;width:auto;padding:0;margin-left:20px;line-height:18px;text-align:left;white-space:normal;}.inputs-list label strong{color:#808080;}
174
+ .inputs-list label small{font-size:11px;font-weight:normal;}
175
+ .inputs-list .inputs-list{margin-left:25px;margin-bottom:10px;padding-top:0;}
176
+ .inputs-list:first-child{padding-top:6px;}
177
+ .inputs-list li+li{padding-top:2px;}
178
+ .inputs-list input[type=radio],.inputs-list input[type=checkbox]{margin-bottom:0;margin-left:-20px;float:left;}
179
+ .form-stacked{padding-left:20px;}.form-stacked fieldset{padding-top:9px;}
180
+ .form-stacked legend{padding-left:0;}
181
+ .form-stacked label{display:block;float:none;width:auto;font-weight:bold;text-align:left;line-height:20px;padding-top:0;}
182
+ .form-stacked .clearfix{margin-bottom:9px;}.form-stacked .clearfix div.input{margin-left:0;}
183
+ .form-stacked .inputs-list{margin-bottom:0;}.form-stacked .inputs-list li{padding-top:0;}.form-stacked .inputs-list li label{font-weight:normal;padding-top:0;}
184
+ .form-stacked div.clearfix.error{padding-top:10px;padding-bottom:10px;padding-left:10px;margin-top:0;margin-left:-10px;}
185
+ .form-stacked .actions{margin-left:-20px;padding-left:20px;}
186
+ table{width:100%;margin-bottom:18px;padding:0;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;}
187
+ table th{padding-top:9px;font-weight:bold;vertical-align:middle;}
188
+ table td{vertical-align:top;border-top:1px solid #ddd;}
189
+ table tbody th{border-top:1px solid #ddd;vertical-align:top;}
190
+ .condensed-table th,.condensed-table td{padding:5px 5px 4px;}
191
+ .bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;}
192
+ .bordered-table thead tr:first-child th:first-child,.bordered-table tbody tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;}
193
+ .bordered-table thead tr:first-child th:last-child,.bordered-table tbody tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;}
194
+ .bordered-table tbody tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;}
195
+ .bordered-table tbody tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;}
196
+ table .span1{width:20px;}
197
+ table .span2{width:60px;}
198
+ table .span3{width:100px;}
199
+ table .span4{width:140px;}
200
+ table .span5{width:180px;}
201
+ table .span6{width:220px;}
202
+ table .span7{width:260px;}
203
+ table .span8{width:300px;}
204
+ table .span9{width:340px;}
205
+ table .span10{width:380px;}
206
+ table .span11{width:420px;}
207
+ table .span12{width:460px;}
208
+ table .span13{width:500px;}
209
+ table .span14{width:540px;}
210
+ table .span15{width:580px;}
211
+ table .span16{width:620px;}
212
+ .zebra-striped tbody tr:nth-child(odd) td,.zebra-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
213
+ .zebra-striped tbody tr:hover td,.zebra-striped tbody tr:hover th{background-color:#f5f5f5;}
214
+ table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;}
215
+ table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);}
216
+ table .header:hover:after{visibility:visible;}
217
+ table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
218
+ table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
219
+ table .blue{color:#049cdb;border-bottom-color:#049cdb;}
220
+ table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;}
221
+ table .green{color:#46a546;border-bottom-color:#46a546;}
222
+ table .headerSortUp.green,table .headerSortDown.green{background-color:#cdeacd;}
223
+ table .red{color:#9d261d;border-bottom-color:#9d261d;}
224
+ table .headerSortUp.red,table .headerSortDown.red{background-color:#f4c8c5;}
225
+ table .yellow{color:#ffc40d;border-bottom-color:#ffc40d;}
226
+ table .headerSortUp.yellow,table .headerSortDown.yellow{background-color:#fff6d9;}
227
+ table .orange{color:#f89406;border-bottom-color:#f89406;}
228
+ table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;}
229
+ table .purple{color:#7a43b6;border-bottom-color:#7a43b6;}
230
+ table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;}
231
+ .topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
232
+ .topbar h3 a:hover,.topbar .brand:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;}
233
+ .topbar h3{position:relative;}
234
+ .topbar h3 a,.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}
235
+ .topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;}
236
+ .topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}
237
+ .topbar form.pull-right{float:right;}
238
+ .topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;}
239
+ .topbar input::-webkit-input-placeholder{color:#e6e6e6;}
240
+ .topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;}
241
+ .topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);}
242
+ .topbar-inner,.topbar .fill{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);}
243
+ .topbar div>ul,.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.topbar div>ul>li,.nav>li{display:block;float:left;}
244
+ .topbar div>ul a,.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.topbar div>ul a:hover,.nav a:hover{color:#ffffff;text-decoration:none;}
245
+ .topbar div>ul .active>a,.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
246
+ .topbar div>ul.secondary-nav,.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.topbar div>ul.secondary-nav .menu-dropdown,.nav.secondary-nav .menu-dropdown,.topbar div>ul.secondary-nav .dropdown-menu,.nav.secondary-nav .dropdown-menu{right:0;border:0;}
247
+ .topbar div>ul a.menu:hover,.nav a.menu:hover,.topbar div>ul li.open .menu,.nav li.open .menu,.topbar div>ul .dropdown-toggle:hover,.nav .dropdown-toggle:hover,.topbar div>ul .dropdown.open .dropdown-toggle,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);}
248
+ .topbar div>ul .menu-dropdown,.nav .menu-dropdown,.topbar div>ul .dropdown-menu,.nav .dropdown-menu{background-color:#333;}.topbar div>ul .menu-dropdown a.menu,.nav .menu-dropdown a.menu,.topbar div>ul .dropdown-menu a.menu,.nav .dropdown-menu a.menu,.topbar div>ul .menu-dropdown .dropdown-toggle,.nav .menu-dropdown .dropdown-toggle,.topbar div>ul .dropdown-menu .dropdown-toggle,.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.topbar div>ul .menu-dropdown a.menu.open,.nav .menu-dropdown a.menu.open,.topbar div>ul .dropdown-menu a.menu.open,.nav .dropdown-menu a.menu.open,.topbar div>ul .menu-dropdown .dropdown-toggle.open,.nav .menu-dropdown .dropdown-toggle.open,.topbar div>ul .dropdown-menu .dropdown-toggle.open,.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);}
249
+ .topbar div>ul .menu-dropdown li a,.nav .menu-dropdown li a,.topbar div>ul .dropdown-menu li a,.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.topbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.topbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;}
250
+ .topbar div>ul .menu-dropdown .active a,.nav .menu-dropdown .active a,.topbar div>ul .dropdown-menu .active a,.nav .dropdown-menu .active a{color:#ffffff;}
251
+ .topbar div>ul .menu-dropdown .divider,.nav .menu-dropdown .divider,.topbar div>ul .dropdown-menu .divider,.nav .dropdown-menu .divider{background-color:#222;border-color:#444;}
252
+ .topbar ul .menu-dropdown li a,.topbar ul .dropdown-menu li a{padding:4px 15px;}
253
+ li.menu,.dropdown{position:relative;}
254
+ a.menu:after,.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"&darr;";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
255
+ .menu-dropdown,.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.menu-dropdown li,.dropdown-menu li{float:none;display:block;background-color:none;}
256
+ .menu-dropdown .divider,.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;}
257
+ .topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover,.topbar .dropdown-menu a.hover,.dropdown-menu a.hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);}
258
+ .open .menu,.dropdown.open .menu,.open .dropdown-toggle,.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
259
+ .open .menu-dropdown,.dropdown.open .menu-dropdown,.open .dropdown-menu,.dropdown.open .dropdown-menu{display:block;}
260
+ .tabs,.pills{margin:0 0 18px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;}
261
+ .tabs:after,.pills:after{clear:both;}
262
+ .tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;}
263
+ .tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:34px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;}
264
+ .tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
265
+ .tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
266
+ .tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;}
267
+ .tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;}
268
+ .tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;}
269
+ .pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;}
270
+ .pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;}
271
+ .pills-vertical>li{float:none;}
272
+ .tab-content>.tab-pane,.pill-content>.pill-pane,.tab-content>div,.pill-content>div{display:none;}
273
+ .tab-content>.active,.pill-content>.active{display:block;}
274
+ .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;}
275
+ .breadcrumb .divider{padding:0 5px;color:#bfbfbf;}
276
+ .breadcrumb .active a{color:#404040;}
277
+ .hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
278
+ .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
279
+ footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;}
280
+ .page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;}
281
+ .btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;}
282
+ .btn .close,.alert-message .close{font-family:Arial,sans-serif;line-height:18px;}
283
+ .btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
284
+ .btn.success,.alert-message.success{background-color:#57a957;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
285
+ .btn.info,.alert-message.info{background-color:#339bb9;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
286
+ .btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-repeat:no-repeat;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;}
287
+ .btn:focus{outline:1px dotted #666;}
288
+ .btn.primary{color:#ffffff;background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);}
289
+ .btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);}
290
+ .btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
291
+ .btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
292
+ .btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
293
+ .btn.small{padding:7px 9px 7px;font-size:11px;}
294
+ :root .alert-message,:root .btn{border-radius:0 \0;}
295
+ button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;}
296
+ .close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=25);-khtml-opacity:0.25;-moz-opacity:0.25;opacity:0.25;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;}
297
+ .alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{margin-top:1px;*margin-top:0;}
298
+ .alert-message a{font-weight:bold;color:#404040;}
299
+ .alert-message.danger p a,.alert-message.error p a,.alert-message.success p a,.alert-message.info p a{color:#ffffff;}
300
+ .alert-message h5{line-height:18px;}
301
+ .alert-message p{margin-bottom:0;}
302
+ .alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;}
303
+ .alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);}
304
+ .alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;}
305
+ .alert-message.block-message ul{margin-bottom:0;}
306
+ .alert-message.block-message li{color:#404040;}
307
+ .alert-message.block-message .alert-actions{margin-top:5px;}
308
+ .alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
309
+ .alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;}
310
+ .alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;}
311
+ .alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;}
312
+ .alert-message.block-message.danger p a,.alert-message.block-message.error p a,.alert-message.block-message.success p a,.alert-message.block-message.info p a{color:#404040;}
313
+ .pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
314
+ .pagination li{display:inline;}
315
+ .pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;}
316
+ .pagination a:hover,.pagination .active a{background-color:#c7eefe;}
317
+ .pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;}
318
+ .pagination .next a{border:0;}
319
+ .well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
320
+ .modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;}
321
+ .modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
322
+ .modal{position:fixed;top:50%;left:50%;z-index:11000;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;}
323
+ .modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
324
+ .modal.fade.in{top:50%;}
325
+ .modal-header{border-bottom:1px solid #eee;padding:5px 15px;}
326
+ .modal-body{padding:15px;}
327
+ .modal-body form{margin-bottom:0;}
328
+ .modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;}
329
+ .modal-footer:after{clear:both;}
330
+ .modal-footer .btn{float:right;margin-left:5px;}
331
+ .modal .popover,.modal .twipsy{z-index:12000;}
332
+ .twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}
333
+ .twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
334
+ .twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
335
+ .twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
336
+ .twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
337
+ .twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
338
+ .twipsy-arrow{position:absolute;width:0;height:0;}
339
+ .popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
340
+ .popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
341
+ .popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
342
+ .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
343
+ .popover .arrow{position:absolute;width:0;height:0;}
344
+ .popover .inner{background:#000000;background:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);}
345
+ .popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;}
346
+ .popover .content{background-color:#ffffff;padding:14px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;}
347
+ .fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;}
348
+ .label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;white-space:nowrap;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label.important{background-color:#c43c35;}
349
+ .label.warning{background-color:#f89406;}
350
+ .label.success{background-color:#46a546;}
351
+ .label.notice{background-color:#62cffc;}
352
+ .media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;}
353
+ .media-grid:after{clear:both;}
354
+ .media-grid li{display:inline;}
355
+ .media-grid a{float:left;padding:4px;margin:0 0 18px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}.media-grid a img{display:block;}
356
+ .media-grid a:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}