squad_goals 0.1.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.
- checksums.yaml +7 -0
- data/.bowerrc +3 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +74 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bower.json +15 -0
- data/config.ru +2 -0
- data/lib/squad_goals.rb +41 -0
- data/lib/squad_goals/app.rb +39 -0
- data/lib/squad_goals/helpers.rb +33 -0
- data/lib/squad_goals/public/vendor/bootstrap/.bower.json +44 -0
- data/lib/squad_goals/public/vendor/bootstrap/LICENSE +21 -0
- data/lib/squad_goals/public/vendor/bootstrap/bower.json +34 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap-theme.css +587 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap-theme.min.css +6 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap.css +6760 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap.css.map +1 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap.min.css +6 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/css/bootstrap.min.css.map +1 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/js/bootstrap.js +2363 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/js/bootstrap.min.js +7 -0
- data/lib/squad_goals/public/vendor/bootstrap/dist/js/npm.js +13 -0
- data/lib/squad_goals/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
- data/lib/squad_goals/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/lib/squad_goals/public/vendor/bootstrap/package.json +87 -0
- data/lib/squad_goals/version.rb +3 -0
- data/lib/squad_goals/views/error.erb +5 -0
- data/lib/squad_goals/views/index.erb +8 -0
- data/lib/squad_goals/views/layout.erb +27 -0
- data/lib/squad_goals/views/success.erb +9 -0
- data/script/bootstrap +5 -0
- data/script/cibuild +5 -0
- data/script/server +5 -0
- data/squad_goals.gemspec +33 -0
- metadata +261 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: badf3262d4bdba40aa294a1ae0cda649102b0fe6
|
4
|
+
data.tar.gz: 7e2cfbed9d2db0c1219ddb3de19af209c73a551b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f62dda1d8c8ef67640109fc358f4aa5d2b0924b1f59b7fef3e572412999224546f1a2b08ca3cfa1eef590747df241fad2239d1fb83d797f00cb1e949d9f8f80f
|
7
|
+
data.tar.gz: e756632cbc6fd58e1cc78cafca106a1180a674e398919ed90b6a0f921fe2cb0ca874e1b7e8bb37e3f780456d2f2270ee5001d3a5ee51976e1d23b3d4f1469878
|
data/.bowerrc
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
.env
|
2
|
+
.bundle
|
3
|
+
*.gem
|
4
|
+
Gemfile.lock
|
5
|
+
/lib/squad_goals/public/vendor/jquery
|
6
|
+
/lib/squad_goals/public/vendor/bootstrap/grunt
|
7
|
+
/lib/squad_goals/public/vendor/bootstrap/js
|
8
|
+
/lib/squad_goals/public/vendor/bootstrap/less
|
9
|
+
/lib/squad_goals/public/vendor/bootstrap/nuget
|
10
|
+
/lib/squad_goals/public/vendor/bootstrap/*.md
|
11
|
+
/lib/squad_goals/public/vendor/bootstrap/*.js
|
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Ben Balter
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# SquadGoals
|
2
|
+
|
3
|
+
A tiny app to allow open-source contributors to opt-in to GitHub teams.
|
4
|
+
|
5
|
+
## What it does
|
6
|
+
|
7
|
+
The #SquadGoals app provides an interface whereby community members can see a list of open GitHub teams, and provide them with the ability to freely join any team at the click of a button.
|
8
|
+
|
9
|
+

|
10
|
+
|
11
|
+
## Setup
|
12
|
+
|
13
|
+
### Credentials
|
14
|
+
|
15
|
+
You'll need a few different credentials for things to work:
|
16
|
+
|
17
|
+
#### A bot account
|
18
|
+
|
19
|
+
You'll need a dedicated "bot" account to add users to the organization:
|
20
|
+
|
21
|
+
1. [Create a bot account](https://github.com/signup) (a standard GitHub account not used by a human) that has *admin* rights to your organization.
|
22
|
+
2. [Create a personal access token](https://github.com/settings/tokens/new) for that user, with `admin:org` scope.
|
23
|
+
|
24
|
+
#### An OAuth application
|
25
|
+
|
26
|
+
You'll also need to create an OAuth application to validate users:
|
27
|
+
|
28
|
+
1. Create an OAuth application *within your organization* via `https://github.com/organizations/[YOUR-ORGANIZATION-NAME]/settings/applications/new`
|
29
|
+
2. The homepage URL should be the URL to your production instance.
|
30
|
+
3. You can leave the callback URL blank. The default is fine.
|
31
|
+
|
32
|
+
## Developing locally and deploying
|
33
|
+
|
34
|
+
1. Create [an OAuth app](github.com/settings/applications/new) (see above)
|
35
|
+
2. Create a personal access token for a user with admin rights to the organization (see above)
|
36
|
+
3. Add `gem 'squad_gaols' to your project's Gemfile`
|
37
|
+
4. Add the following to your project's `config.ru` file:
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
require 'squad_goals'
|
41
|
+
run SquadGoals::App
|
42
|
+
```
|
43
|
+
|
44
|
+
## Configuration
|
45
|
+
|
46
|
+
The following environmental values should be set:
|
47
|
+
|
48
|
+
* `GITHUB_ORG_ID` - The name of the org to add users to
|
49
|
+
* `GITHUB_CLIENT_ID` - Your OAuth app's client ID
|
50
|
+
* `GITHUB_CLIENT_SECRET` - Your OAuth app's client secret
|
51
|
+
* `GITHUB_TOKEN` - A personal access token for a user with admin rights to the organization
|
52
|
+
* `GITHUB_TEAMS` - Comma-separated list of team names you'd like to allow access to, e.g, `red-team,blue-team`
|
53
|
+
|
54
|
+
### Customizing Views
|
55
|
+
|
56
|
+
There are three views, `success`, `forbidden`, and `error`. They're pretty boring by default, so you may want to swap them out for something a bit my snazzy. If you had a views directory along side your `config.ru`, you can do so like this in your `config.ru` file:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
require 'squad_goals'
|
60
|
+
SquadGoals.views_dir = File.expand_path("./views", File.dirname(__FILE__))
|
61
|
+
run SquadGoals::App
|
62
|
+
```
|
63
|
+
|
64
|
+
These are just sinatra `.erb` views. Take a look at [the default views](https://github.com/benbalter/squad_goals/tree/master/lib/squad_goals/views) for an example.
|
65
|
+
|
66
|
+
### Customizing static assets
|
67
|
+
|
68
|
+
You can also do the same with `SquadGoals.public_dir` for serving static assets (AddToOrg comes bundled with Bootstrap by default).
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
require 'squad_goals'
|
72
|
+
SquadGoals.public_dir = File.expand_path("./public", File.dirname(__FILE__))
|
73
|
+
run SquadGoals::App
|
74
|
+
```
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'squad_goals'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
data/bower.json
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"name": "squad_goals",
|
3
|
+
"homepage": "https://github.com/benbalter/squad_goals",
|
4
|
+
"authors": [
|
5
|
+
"Ben Balter <ben.balter@github.com>"
|
6
|
+
],
|
7
|
+
"description": "A simple Oauth App to automatically add users to an organization",
|
8
|
+
"main": "script/server",
|
9
|
+
"moduleType": [],
|
10
|
+
"license": "MIT",
|
11
|
+
"private": true,
|
12
|
+
"dependencies": {
|
13
|
+
"bootstrap": "~3.3.6"
|
14
|
+
}
|
15
|
+
}
|
data/config.ru
ADDED
data/lib/squad_goals.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'sinatra_auth_github'
|
2
|
+
require 'octokit'
|
3
|
+
require 'dotenv'
|
4
|
+
require 'yaml'
|
5
|
+
require 'tilt/erb'
|
6
|
+
|
7
|
+
require 'squad_goals/version'
|
8
|
+
require 'squad_goals/helpers'
|
9
|
+
require 'squad_goals/app'
|
10
|
+
|
11
|
+
module SquadGoals
|
12
|
+
def self.root
|
13
|
+
File.expand_path './squad_goals', File.dirname(__FILE__)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.views_dir
|
17
|
+
@views_dir ||= File.expand_path 'views', SquadGoals.root
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.views_dir=(dir)
|
21
|
+
@views_dir = dir
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.public_dir
|
25
|
+
@public_dir ||= File.expand_path 'public', SquadGoals.root
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.public_dir=(dir)
|
29
|
+
@public_dir = dir
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
unless SquadGoals::App.production?
|
34
|
+
Dotenv.load
|
35
|
+
stack = Faraday::RackBuilder.new do |builder|
|
36
|
+
builder.response :logger
|
37
|
+
builder.use Octokit::Response::RaiseError
|
38
|
+
builder.adapter Faraday.default_adapter
|
39
|
+
end
|
40
|
+
Octokit.middleware = stack
|
41
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module SquadGoals
|
2
|
+
class App < Sinatra::Base
|
3
|
+
include SquadGoals::Helpers
|
4
|
+
|
5
|
+
set :github_options, scopes: ''
|
6
|
+
|
7
|
+
use Rack::Session::Cookie, http_only: true,
|
8
|
+
secret: ENV['SESSION_SECRET'] || SecureRandom.hex
|
9
|
+
|
10
|
+
ENV['WARDEN_GITHUB_VERIFIER_SECRET'] ||= SecureRandom.hex
|
11
|
+
register Sinatra::Auth::Github
|
12
|
+
|
13
|
+
set :views, proc { SquadGoals.views_dir }
|
14
|
+
set :root, proc { SquadGoals.root }
|
15
|
+
set :public_folder, proc { SquadGoals.public_dir }
|
16
|
+
|
17
|
+
# require ssl
|
18
|
+
configure :production do
|
19
|
+
require 'rack-ssl-enforcer'
|
20
|
+
use Rack::SslEnforcer
|
21
|
+
end
|
22
|
+
|
23
|
+
get '/' do
|
24
|
+
erb :index, locals: { teams: teams, org_id: org_id }
|
25
|
+
end
|
26
|
+
|
27
|
+
get '/join/:team' do
|
28
|
+
if team.nil? # invalid team
|
29
|
+
status 409
|
30
|
+
halt erb :error
|
31
|
+
end
|
32
|
+
|
33
|
+
authenticate!
|
34
|
+
add!
|
35
|
+
|
36
|
+
erb :success, locals: { team: team, org_id: org_id }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module SquadGoals
|
2
|
+
module Helpers
|
3
|
+
|
4
|
+
def teams
|
5
|
+
@teams ||= begin
|
6
|
+
teams = client.organization_teams(org_id)
|
7
|
+
teams.select { |team| team_whitelist.include? team.slug }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def team_whitelist
|
14
|
+
ENV['GITHUB_TEAMS'].split(",")
|
15
|
+
end
|
16
|
+
|
17
|
+
def client
|
18
|
+
@client ||= Octokit::Client.new access_token: ENV['GITHUB_TOKEN']
|
19
|
+
end
|
20
|
+
|
21
|
+
def org_id
|
22
|
+
ENV['GITHUB_ORG_ID']
|
23
|
+
end
|
24
|
+
|
25
|
+
def team
|
26
|
+
teams.find { |team| team.slug == params["team"] }
|
27
|
+
end
|
28
|
+
|
29
|
+
def add!
|
30
|
+
client.add_team_membership team.id, github_user.login
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
{
|
2
|
+
"name": "bootstrap",
|
3
|
+
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
4
|
+
"keywords": [
|
5
|
+
"css",
|
6
|
+
"js",
|
7
|
+
"less",
|
8
|
+
"mobile-first",
|
9
|
+
"responsive",
|
10
|
+
"front-end",
|
11
|
+
"framework",
|
12
|
+
"web"
|
13
|
+
],
|
14
|
+
"homepage": "http://getbootstrap.com",
|
15
|
+
"license": "MIT",
|
16
|
+
"moduleType": "globals",
|
17
|
+
"main": [
|
18
|
+
"less/bootstrap.less",
|
19
|
+
"dist/js/bootstrap.js"
|
20
|
+
],
|
21
|
+
"ignore": [
|
22
|
+
"/.*",
|
23
|
+
"_config.yml",
|
24
|
+
"CNAME",
|
25
|
+
"composer.json",
|
26
|
+
"CONTRIBUTING.md",
|
27
|
+
"docs",
|
28
|
+
"js/tests",
|
29
|
+
"test-infra"
|
30
|
+
],
|
31
|
+
"dependencies": {
|
32
|
+
"jquery": "1.9.1 - 2"
|
33
|
+
},
|
34
|
+
"version": "3.3.6",
|
35
|
+
"_release": "3.3.6",
|
36
|
+
"_resolution": {
|
37
|
+
"type": "version",
|
38
|
+
"tag": "v3.3.6",
|
39
|
+
"commit": "81df608a40bf0629a1dc08e584849bb1e43e0b7a"
|
40
|
+
},
|
41
|
+
"_source": "git://github.com/twbs/bootstrap.git",
|
42
|
+
"_target": "~3.3.6",
|
43
|
+
"_originalSource": "bootstrap"
|
44
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2011-2015 Twitter, Inc
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"name": "bootstrap",
|
3
|
+
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
4
|
+
"keywords": [
|
5
|
+
"css",
|
6
|
+
"js",
|
7
|
+
"less",
|
8
|
+
"mobile-first",
|
9
|
+
"responsive",
|
10
|
+
"front-end",
|
11
|
+
"framework",
|
12
|
+
"web"
|
13
|
+
],
|
14
|
+
"homepage": "http://getbootstrap.com",
|
15
|
+
"license": "MIT",
|
16
|
+
"moduleType": "globals",
|
17
|
+
"main": [
|
18
|
+
"less/bootstrap.less",
|
19
|
+
"dist/js/bootstrap.js"
|
20
|
+
],
|
21
|
+
"ignore": [
|
22
|
+
"/.*",
|
23
|
+
"_config.yml",
|
24
|
+
"CNAME",
|
25
|
+
"composer.json",
|
26
|
+
"CONTRIBUTING.md",
|
27
|
+
"docs",
|
28
|
+
"js/tests",
|
29
|
+
"test-infra"
|
30
|
+
],
|
31
|
+
"dependencies": {
|
32
|
+
"jquery": "1.9.1 - 2"
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,587 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap v3.3.6 (http://getbootstrap.com)
|
3
|
+
* Copyright 2011-2015 Twitter, Inc.
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
|
+
*/
|
6
|
+
.btn-default,
|
7
|
+
.btn-primary,
|
8
|
+
.btn-success,
|
9
|
+
.btn-info,
|
10
|
+
.btn-warning,
|
11
|
+
.btn-danger {
|
12
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
|
13
|
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
14
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
15
|
+
}
|
16
|
+
.btn-default:active,
|
17
|
+
.btn-primary:active,
|
18
|
+
.btn-success:active,
|
19
|
+
.btn-info:active,
|
20
|
+
.btn-warning:active,
|
21
|
+
.btn-danger:active,
|
22
|
+
.btn-default.active,
|
23
|
+
.btn-primary.active,
|
24
|
+
.btn-success.active,
|
25
|
+
.btn-info.active,
|
26
|
+
.btn-warning.active,
|
27
|
+
.btn-danger.active {
|
28
|
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
29
|
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
30
|
+
}
|
31
|
+
.btn-default.disabled,
|
32
|
+
.btn-primary.disabled,
|
33
|
+
.btn-success.disabled,
|
34
|
+
.btn-info.disabled,
|
35
|
+
.btn-warning.disabled,
|
36
|
+
.btn-danger.disabled,
|
37
|
+
.btn-default[disabled],
|
38
|
+
.btn-primary[disabled],
|
39
|
+
.btn-success[disabled],
|
40
|
+
.btn-info[disabled],
|
41
|
+
.btn-warning[disabled],
|
42
|
+
.btn-danger[disabled],
|
43
|
+
fieldset[disabled] .btn-default,
|
44
|
+
fieldset[disabled] .btn-primary,
|
45
|
+
fieldset[disabled] .btn-success,
|
46
|
+
fieldset[disabled] .btn-info,
|
47
|
+
fieldset[disabled] .btn-warning,
|
48
|
+
fieldset[disabled] .btn-danger {
|
49
|
+
-webkit-box-shadow: none;
|
50
|
+
box-shadow: none;
|
51
|
+
}
|
52
|
+
.btn-default .badge,
|
53
|
+
.btn-primary .badge,
|
54
|
+
.btn-success .badge,
|
55
|
+
.btn-info .badge,
|
56
|
+
.btn-warning .badge,
|
57
|
+
.btn-danger .badge {
|
58
|
+
text-shadow: none;
|
59
|
+
}
|
60
|
+
.btn:active,
|
61
|
+
.btn.active {
|
62
|
+
background-image: none;
|
63
|
+
}
|
64
|
+
.btn-default {
|
65
|
+
text-shadow: 0 1px 0 #fff;
|
66
|
+
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
67
|
+
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
68
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
69
|
+
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
70
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
71
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
72
|
+
background-repeat: repeat-x;
|
73
|
+
border-color: #dbdbdb;
|
74
|
+
border-color: #ccc;
|
75
|
+
}
|
76
|
+
.btn-default:hover,
|
77
|
+
.btn-default:focus {
|
78
|
+
background-color: #e0e0e0;
|
79
|
+
background-position: 0 -15px;
|
80
|
+
}
|
81
|
+
.btn-default:active,
|
82
|
+
.btn-default.active {
|
83
|
+
background-color: #e0e0e0;
|
84
|
+
border-color: #dbdbdb;
|
85
|
+
}
|
86
|
+
.btn-default.disabled,
|
87
|
+
.btn-default[disabled],
|
88
|
+
fieldset[disabled] .btn-default,
|
89
|
+
.btn-default.disabled:hover,
|
90
|
+
.btn-default[disabled]:hover,
|
91
|
+
fieldset[disabled] .btn-default:hover,
|
92
|
+
.btn-default.disabled:focus,
|
93
|
+
.btn-default[disabled]:focus,
|
94
|
+
fieldset[disabled] .btn-default:focus,
|
95
|
+
.btn-default.disabled.focus,
|
96
|
+
.btn-default[disabled].focus,
|
97
|
+
fieldset[disabled] .btn-default.focus,
|
98
|
+
.btn-default.disabled:active,
|
99
|
+
.btn-default[disabled]:active,
|
100
|
+
fieldset[disabled] .btn-default:active,
|
101
|
+
.btn-default.disabled.active,
|
102
|
+
.btn-default[disabled].active,
|
103
|
+
fieldset[disabled] .btn-default.active {
|
104
|
+
background-color: #e0e0e0;
|
105
|
+
background-image: none;
|
106
|
+
}
|
107
|
+
.btn-primary {
|
108
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
109
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
110
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
111
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
112
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
113
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
114
|
+
background-repeat: repeat-x;
|
115
|
+
border-color: #245580;
|
116
|
+
}
|
117
|
+
.btn-primary:hover,
|
118
|
+
.btn-primary:focus {
|
119
|
+
background-color: #265a88;
|
120
|
+
background-position: 0 -15px;
|
121
|
+
}
|
122
|
+
.btn-primary:active,
|
123
|
+
.btn-primary.active {
|
124
|
+
background-color: #265a88;
|
125
|
+
border-color: #245580;
|
126
|
+
}
|
127
|
+
.btn-primary.disabled,
|
128
|
+
.btn-primary[disabled],
|
129
|
+
fieldset[disabled] .btn-primary,
|
130
|
+
.btn-primary.disabled:hover,
|
131
|
+
.btn-primary[disabled]:hover,
|
132
|
+
fieldset[disabled] .btn-primary:hover,
|
133
|
+
.btn-primary.disabled:focus,
|
134
|
+
.btn-primary[disabled]:focus,
|
135
|
+
fieldset[disabled] .btn-primary:focus,
|
136
|
+
.btn-primary.disabled.focus,
|
137
|
+
.btn-primary[disabled].focus,
|
138
|
+
fieldset[disabled] .btn-primary.focus,
|
139
|
+
.btn-primary.disabled:active,
|
140
|
+
.btn-primary[disabled]:active,
|
141
|
+
fieldset[disabled] .btn-primary:active,
|
142
|
+
.btn-primary.disabled.active,
|
143
|
+
.btn-primary[disabled].active,
|
144
|
+
fieldset[disabled] .btn-primary.active {
|
145
|
+
background-color: #265a88;
|
146
|
+
background-image: none;
|
147
|
+
}
|
148
|
+
.btn-success {
|
149
|
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
150
|
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
151
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
152
|
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
153
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
154
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
155
|
+
background-repeat: repeat-x;
|
156
|
+
border-color: #3e8f3e;
|
157
|
+
}
|
158
|
+
.btn-success:hover,
|
159
|
+
.btn-success:focus {
|
160
|
+
background-color: #419641;
|
161
|
+
background-position: 0 -15px;
|
162
|
+
}
|
163
|
+
.btn-success:active,
|
164
|
+
.btn-success.active {
|
165
|
+
background-color: #419641;
|
166
|
+
border-color: #3e8f3e;
|
167
|
+
}
|
168
|
+
.btn-success.disabled,
|
169
|
+
.btn-success[disabled],
|
170
|
+
fieldset[disabled] .btn-success,
|
171
|
+
.btn-success.disabled:hover,
|
172
|
+
.btn-success[disabled]:hover,
|
173
|
+
fieldset[disabled] .btn-success:hover,
|
174
|
+
.btn-success.disabled:focus,
|
175
|
+
.btn-success[disabled]:focus,
|
176
|
+
fieldset[disabled] .btn-success:focus,
|
177
|
+
.btn-success.disabled.focus,
|
178
|
+
.btn-success[disabled].focus,
|
179
|
+
fieldset[disabled] .btn-success.focus,
|
180
|
+
.btn-success.disabled:active,
|
181
|
+
.btn-success[disabled]:active,
|
182
|
+
fieldset[disabled] .btn-success:active,
|
183
|
+
.btn-success.disabled.active,
|
184
|
+
.btn-success[disabled].active,
|
185
|
+
fieldset[disabled] .btn-success.active {
|
186
|
+
background-color: #419641;
|
187
|
+
background-image: none;
|
188
|
+
}
|
189
|
+
.btn-info {
|
190
|
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
191
|
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
192
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
193
|
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
194
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
195
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
196
|
+
background-repeat: repeat-x;
|
197
|
+
border-color: #28a4c9;
|
198
|
+
}
|
199
|
+
.btn-info:hover,
|
200
|
+
.btn-info:focus {
|
201
|
+
background-color: #2aabd2;
|
202
|
+
background-position: 0 -15px;
|
203
|
+
}
|
204
|
+
.btn-info:active,
|
205
|
+
.btn-info.active {
|
206
|
+
background-color: #2aabd2;
|
207
|
+
border-color: #28a4c9;
|
208
|
+
}
|
209
|
+
.btn-info.disabled,
|
210
|
+
.btn-info[disabled],
|
211
|
+
fieldset[disabled] .btn-info,
|
212
|
+
.btn-info.disabled:hover,
|
213
|
+
.btn-info[disabled]:hover,
|
214
|
+
fieldset[disabled] .btn-info:hover,
|
215
|
+
.btn-info.disabled:focus,
|
216
|
+
.btn-info[disabled]:focus,
|
217
|
+
fieldset[disabled] .btn-info:focus,
|
218
|
+
.btn-info.disabled.focus,
|
219
|
+
.btn-info[disabled].focus,
|
220
|
+
fieldset[disabled] .btn-info.focus,
|
221
|
+
.btn-info.disabled:active,
|
222
|
+
.btn-info[disabled]:active,
|
223
|
+
fieldset[disabled] .btn-info:active,
|
224
|
+
.btn-info.disabled.active,
|
225
|
+
.btn-info[disabled].active,
|
226
|
+
fieldset[disabled] .btn-info.active {
|
227
|
+
background-color: #2aabd2;
|
228
|
+
background-image: none;
|
229
|
+
}
|
230
|
+
.btn-warning {
|
231
|
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
232
|
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
233
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
234
|
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
235
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
236
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
237
|
+
background-repeat: repeat-x;
|
238
|
+
border-color: #e38d13;
|
239
|
+
}
|
240
|
+
.btn-warning:hover,
|
241
|
+
.btn-warning:focus {
|
242
|
+
background-color: #eb9316;
|
243
|
+
background-position: 0 -15px;
|
244
|
+
}
|
245
|
+
.btn-warning:active,
|
246
|
+
.btn-warning.active {
|
247
|
+
background-color: #eb9316;
|
248
|
+
border-color: #e38d13;
|
249
|
+
}
|
250
|
+
.btn-warning.disabled,
|
251
|
+
.btn-warning[disabled],
|
252
|
+
fieldset[disabled] .btn-warning,
|
253
|
+
.btn-warning.disabled:hover,
|
254
|
+
.btn-warning[disabled]:hover,
|
255
|
+
fieldset[disabled] .btn-warning:hover,
|
256
|
+
.btn-warning.disabled:focus,
|
257
|
+
.btn-warning[disabled]:focus,
|
258
|
+
fieldset[disabled] .btn-warning:focus,
|
259
|
+
.btn-warning.disabled.focus,
|
260
|
+
.btn-warning[disabled].focus,
|
261
|
+
fieldset[disabled] .btn-warning.focus,
|
262
|
+
.btn-warning.disabled:active,
|
263
|
+
.btn-warning[disabled]:active,
|
264
|
+
fieldset[disabled] .btn-warning:active,
|
265
|
+
.btn-warning.disabled.active,
|
266
|
+
.btn-warning[disabled].active,
|
267
|
+
fieldset[disabled] .btn-warning.active {
|
268
|
+
background-color: #eb9316;
|
269
|
+
background-image: none;
|
270
|
+
}
|
271
|
+
.btn-danger {
|
272
|
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
273
|
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
274
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
275
|
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
276
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
277
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
278
|
+
background-repeat: repeat-x;
|
279
|
+
border-color: #b92c28;
|
280
|
+
}
|
281
|
+
.btn-danger:hover,
|
282
|
+
.btn-danger:focus {
|
283
|
+
background-color: #c12e2a;
|
284
|
+
background-position: 0 -15px;
|
285
|
+
}
|
286
|
+
.btn-danger:active,
|
287
|
+
.btn-danger.active {
|
288
|
+
background-color: #c12e2a;
|
289
|
+
border-color: #b92c28;
|
290
|
+
}
|
291
|
+
.btn-danger.disabled,
|
292
|
+
.btn-danger[disabled],
|
293
|
+
fieldset[disabled] .btn-danger,
|
294
|
+
.btn-danger.disabled:hover,
|
295
|
+
.btn-danger[disabled]:hover,
|
296
|
+
fieldset[disabled] .btn-danger:hover,
|
297
|
+
.btn-danger.disabled:focus,
|
298
|
+
.btn-danger[disabled]:focus,
|
299
|
+
fieldset[disabled] .btn-danger:focus,
|
300
|
+
.btn-danger.disabled.focus,
|
301
|
+
.btn-danger[disabled].focus,
|
302
|
+
fieldset[disabled] .btn-danger.focus,
|
303
|
+
.btn-danger.disabled:active,
|
304
|
+
.btn-danger[disabled]:active,
|
305
|
+
fieldset[disabled] .btn-danger:active,
|
306
|
+
.btn-danger.disabled.active,
|
307
|
+
.btn-danger[disabled].active,
|
308
|
+
fieldset[disabled] .btn-danger.active {
|
309
|
+
background-color: #c12e2a;
|
310
|
+
background-image: none;
|
311
|
+
}
|
312
|
+
.thumbnail,
|
313
|
+
.img-thumbnail {
|
314
|
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
315
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
316
|
+
}
|
317
|
+
.dropdown-menu > li > a:hover,
|
318
|
+
.dropdown-menu > li > a:focus {
|
319
|
+
background-color: #e8e8e8;
|
320
|
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
321
|
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
322
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
323
|
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
324
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
325
|
+
background-repeat: repeat-x;
|
326
|
+
}
|
327
|
+
.dropdown-menu > .active > a,
|
328
|
+
.dropdown-menu > .active > a:hover,
|
329
|
+
.dropdown-menu > .active > a:focus {
|
330
|
+
background-color: #2e6da4;
|
331
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
332
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
333
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
334
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
335
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
336
|
+
background-repeat: repeat-x;
|
337
|
+
}
|
338
|
+
.navbar-default {
|
339
|
+
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
340
|
+
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
341
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
|
342
|
+
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
343
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
344
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
345
|
+
background-repeat: repeat-x;
|
346
|
+
border-radius: 4px;
|
347
|
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
348
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
349
|
+
}
|
350
|
+
.navbar-default .navbar-nav > .open > a,
|
351
|
+
.navbar-default .navbar-nav > .active > a {
|
352
|
+
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
353
|
+
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
354
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
355
|
+
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
356
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
357
|
+
background-repeat: repeat-x;
|
358
|
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
359
|
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
360
|
+
}
|
361
|
+
.navbar-brand,
|
362
|
+
.navbar-nav > li > a {
|
363
|
+
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
|
364
|
+
}
|
365
|
+
.navbar-inverse {
|
366
|
+
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
367
|
+
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
368
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
369
|
+
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
370
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
371
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
372
|
+
background-repeat: repeat-x;
|
373
|
+
border-radius: 4px;
|
374
|
+
}
|
375
|
+
.navbar-inverse .navbar-nav > .open > a,
|
376
|
+
.navbar-inverse .navbar-nav > .active > a {
|
377
|
+
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
378
|
+
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
379
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
380
|
+
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
381
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
382
|
+
background-repeat: repeat-x;
|
383
|
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
384
|
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
385
|
+
}
|
386
|
+
.navbar-inverse .navbar-brand,
|
387
|
+
.navbar-inverse .navbar-nav > li > a {
|
388
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
389
|
+
}
|
390
|
+
.navbar-static-top,
|
391
|
+
.navbar-fixed-top,
|
392
|
+
.navbar-fixed-bottom {
|
393
|
+
border-radius: 0;
|
394
|
+
}
|
395
|
+
@media (max-width: 767px) {
|
396
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
397
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
398
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
399
|
+
color: #fff;
|
400
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
401
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
402
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
403
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
404
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
405
|
+
background-repeat: repeat-x;
|
406
|
+
}
|
407
|
+
}
|
408
|
+
.alert {
|
409
|
+
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
410
|
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
411
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
412
|
+
}
|
413
|
+
.alert-success {
|
414
|
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
415
|
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
416
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
417
|
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
418
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
419
|
+
background-repeat: repeat-x;
|
420
|
+
border-color: #b2dba1;
|
421
|
+
}
|
422
|
+
.alert-info {
|
423
|
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
424
|
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
425
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
426
|
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
427
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
428
|
+
background-repeat: repeat-x;
|
429
|
+
border-color: #9acfea;
|
430
|
+
}
|
431
|
+
.alert-warning {
|
432
|
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
433
|
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
434
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
435
|
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
436
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
437
|
+
background-repeat: repeat-x;
|
438
|
+
border-color: #f5e79e;
|
439
|
+
}
|
440
|
+
.alert-danger {
|
441
|
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
442
|
+
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
443
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
444
|
+
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
445
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
446
|
+
background-repeat: repeat-x;
|
447
|
+
border-color: #dca7a7;
|
448
|
+
}
|
449
|
+
.progress {
|
450
|
+
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
451
|
+
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
452
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
453
|
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
454
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
455
|
+
background-repeat: repeat-x;
|
456
|
+
}
|
457
|
+
.progress-bar {
|
458
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
459
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
460
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
461
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
462
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
463
|
+
background-repeat: repeat-x;
|
464
|
+
}
|
465
|
+
.progress-bar-success {
|
466
|
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
467
|
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
468
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
469
|
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
470
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
471
|
+
background-repeat: repeat-x;
|
472
|
+
}
|
473
|
+
.progress-bar-info {
|
474
|
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
475
|
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
476
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
477
|
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
478
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
479
|
+
background-repeat: repeat-x;
|
480
|
+
}
|
481
|
+
.progress-bar-warning {
|
482
|
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
483
|
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
484
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
485
|
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
486
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
487
|
+
background-repeat: repeat-x;
|
488
|
+
}
|
489
|
+
.progress-bar-danger {
|
490
|
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
491
|
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
492
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
493
|
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
494
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
495
|
+
background-repeat: repeat-x;
|
496
|
+
}
|
497
|
+
.progress-bar-striped {
|
498
|
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
499
|
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
500
|
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
501
|
+
}
|
502
|
+
.list-group {
|
503
|
+
border-radius: 4px;
|
504
|
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
505
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
506
|
+
}
|
507
|
+
.list-group-item.active,
|
508
|
+
.list-group-item.active:hover,
|
509
|
+
.list-group-item.active:focus {
|
510
|
+
text-shadow: 0 -1px 0 #286090;
|
511
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
512
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
513
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
514
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
515
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
516
|
+
background-repeat: repeat-x;
|
517
|
+
border-color: #2b669a;
|
518
|
+
}
|
519
|
+
.list-group-item.active .badge,
|
520
|
+
.list-group-item.active:hover .badge,
|
521
|
+
.list-group-item.active:focus .badge {
|
522
|
+
text-shadow: none;
|
523
|
+
}
|
524
|
+
.panel {
|
525
|
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
526
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
527
|
+
}
|
528
|
+
.panel-default > .panel-heading {
|
529
|
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
530
|
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
531
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
532
|
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
533
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
534
|
+
background-repeat: repeat-x;
|
535
|
+
}
|
536
|
+
.panel-primary > .panel-heading {
|
537
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
538
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
539
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
540
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
541
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
542
|
+
background-repeat: repeat-x;
|
543
|
+
}
|
544
|
+
.panel-success > .panel-heading {
|
545
|
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
546
|
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
547
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
548
|
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
549
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
550
|
+
background-repeat: repeat-x;
|
551
|
+
}
|
552
|
+
.panel-info > .panel-heading {
|
553
|
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
554
|
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
555
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
556
|
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
557
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
558
|
+
background-repeat: repeat-x;
|
559
|
+
}
|
560
|
+
.panel-warning > .panel-heading {
|
561
|
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
562
|
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
563
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
564
|
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
565
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
566
|
+
background-repeat: repeat-x;
|
567
|
+
}
|
568
|
+
.panel-danger > .panel-heading {
|
569
|
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
570
|
+
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
571
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
572
|
+
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
573
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
574
|
+
background-repeat: repeat-x;
|
575
|
+
}
|
576
|
+
.well {
|
577
|
+
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
578
|
+
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
579
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
580
|
+
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
581
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
582
|
+
background-repeat: repeat-x;
|
583
|
+
border-color: #dcdcdc;
|
584
|
+
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
585
|
+
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
586
|
+
}
|
587
|
+
/*# sourceMappingURL=bootstrap-theme.css.map */
|