minimum_viable_product 0.6.7 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/bin/mvp +2 -3
- data/minimum_viable_product.gemspec +89 -3
- data/project/Gemfile +33 -0
- data/project/Gemfile.lock +437 -0
- data/project/Procfile +2 -0
- data/project/README.md +117 -0
- data/project/Rakefile +14 -0
- data/project/app/controllers/application_controller.rb +12 -0
- data/project/app/controllers/conversions_controller.rb +24 -0
- data/project/app/controllers/examples_controller.rb +2 -0
- data/project/app/controllers/home_controller.rb +7 -0
- data/project/app/decorators/.keep +0 -0
- data/project/app/helpers/application_helper.rb +24 -0
- data/project/app/mailers/.keep +0 -0
- data/project/app/models/conversion.rb +4 -0
- data/project/app/views/examples/index.html.erb +1 -0
- data/project/app/views/examples/mustache.html.erb +18 -0
- data/project/app/views/examples/mustache/template.mustache +1 -0
- data/project/app/views/home/conversion.html.erb +12 -0
- data/project/app/views/home/index.html.erb +28 -0
- data/project/app/views/layouts/_header.html.erb +16 -0
- data/project/app/views/layouts/_includes.html.erb +7 -0
- data/project/app/views/layouts/application.html.erb +17 -0
- data/project/app/views/layouts/modal.html.erb +14 -0
- data/project/assets/images/.keep +0 -0
- data/project/assets/images/favicon.ico +0 -0
- data/project/assets/javascripts/controllers/home.coffee +15 -0
- data/project/assets/javascripts/pack.js +9 -0
- data/project/assets/stylesheets/config/variables.scss +876 -0
- data/project/assets/stylesheets/layout/basic.scss +6 -0
- data/project/assets/stylesheets/layout/carousel.scss +127 -0
- data/project/assets/stylesheets/layout/cover.scss +129 -0
- data/project/assets/stylesheets/lib/spacing.scss +55 -0
- data/project/assets/stylesheets/skin/style.scss +16 -0
- data/project/assets/stylesheets/style.scss +8 -0
- data/project/bin/bundle +3 -0
- data/project/bin/rails +9 -0
- data/project/bin/rake +9 -0
- data/project/bin/setup +32 -0
- data/project/bin/spring +15 -0
- data/project/config.ru +4 -0
- data/project/config/application.rb +32 -0
- data/project/config/boot.rb +3 -0
- data/project/config/database.yml +19 -0
- data/project/config/environment.rb +5 -0
- data/project/config/environments/development.rb +67 -0
- data/project/config/environments/production.rb +93 -0
- data/project/config/environments/test.rb +42 -0
- data/project/config/initializers/assets.rb +11 -0
- data/project/config/initializers/backtrace_silencers.rb +7 -0
- data/project/config/initializers/cookies_serializer.rb +3 -0
- data/project/config/initializers/filter_parameter_logging.rb +4 -0
- data/project/config/initializers/inflections.rb +16 -0
- data/project/config/initializers/mime_types.rb +4 -0
- data/project/config/initializers/mustache.rb +7 -0
- data/project/config/initializers/rails_admin.rb +43 -0
- data/project/config/initializers/session_store.rb +3 -0
- data/project/config/initializers/simple_form.rb +177 -0
- data/project/config/initializers/wrap_parameters.rb +14 -0
- data/project/config/locales/en.yml +23 -0
- data/project/config/locales/simple_form.en.yml +31 -0
- data/project/config/routes.rb +13 -0
- data/project/config/secrets.yml +8 -0
- data/project/config/sitemap.rb +28 -0
- data/project/db/migrate/20160728235100_create_conversions.rb +9 -0
- data/project/db/schema.rb +25 -0
- data/project/db/seeds.rb +7 -0
- data/project/lib/assets/.keep +0 -0
- data/project/lib/tasks/heroku.rake +70 -0
- data/project/log/.keep +0 -0
- data/project/log/development.log +48216 -0
- data/project/log/production.log +0 -0
- data/project/package.json +44 -0
- data/project/public/404.html +67 -0
- data/project/public/422.html +67 -0
- data/project/public/500.html +66 -0
- data/project/public/assets/javascripts/448c34a56d699c29117adc64c43affeb.woff2 +0 -0
- data/project/public/assets/javascripts/89889688147bd7575d6327160d64e760.svg +288 -0
- data/project/public/assets/javascripts/e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
- data/project/public/assets/javascripts/f4769f9bdb7466be65088239c12046d1.eot +0 -0
- data/project/public/assets/javascripts/fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
- data/project/public/assets/javascripts/pack.js +31367 -0
- data/project/public/assets/javascripts/pack.js.map +1 -0
- data/project/public/assets/pack.js +17220 -0
- data/project/public/assets/style.css +7477 -0
- data/project/vendor/assets/javascripts/.keep +0 -0
- data/project/vendor/assets/stylesheets/.keep +0 -0
- data/project/webpack.config.js +67 -0
- metadata +88 -2
data/project/Procfile
ADDED
data/project/README.md
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
# Installation
|
2
|
+
|
3
|
+
Install the mvp gem:
|
4
|
+
|
5
|
+
```
|
6
|
+
gem install minimum_viable_product
|
7
|
+
```
|
8
|
+
|
9
|
+
Then setup your project:
|
10
|
+
|
11
|
+
```
|
12
|
+
mvp new PROJECT
|
13
|
+
```
|
14
|
+
|
15
|
+
# Setup
|
16
|
+
|
17
|
+
## `.env`
|
18
|
+
|
19
|
+
Set your `.env` file up with your own variables
|
20
|
+
|
21
|
+
```
|
22
|
+
ROLLBAR_CLIENT_ACCESS_TOKEN=
|
23
|
+
ROLLBAR_SERVER_ACCESS_TOKEN=
|
24
|
+
SEGMENT_WRITE_KEY=
|
25
|
+
FACEBOOK_TRACKING_ID=
|
26
|
+
CANONICAL_HOST=
|
27
|
+
GOOGLE_ANALYTICS_ID=
|
28
|
+
HOTJAR_ID=
|
29
|
+
AWS_ACCESS_KEY_ID=
|
30
|
+
AWS_SECRET_ACCESS_KEY=
|
31
|
+
AWS_S3_BUCKET=
|
32
|
+
SPOOF_IP=true
|
33
|
+
```
|
34
|
+
|
35
|
+
## Heroku
|
36
|
+
|
37
|
+
To setup deployment for heroku, first create the project:
|
38
|
+
|
39
|
+
```
|
40
|
+
heroku create PROJECT
|
41
|
+
```
|
42
|
+
|
43
|
+
You're probably going to want Database backups. This will let you use `rake db:import`
|
44
|
+
|
45
|
+
```
|
46
|
+
heroku addons:create heroku-postgresql:hobby-dev
|
47
|
+
heroku pg:backups capture
|
48
|
+
```
|
49
|
+
|
50
|
+
You're also going to need to setup the buildpacks
|
51
|
+
|
52
|
+
```
|
53
|
+
heroku buildpacks:set heroku/ruby
|
54
|
+
heroku buildpacks:add --index 1 heroku/nodejs
|
55
|
+
```
|
56
|
+
|
57
|
+
Add a scheduled task to update your sitemaps: `rake sitemap:create_upload_and_ping`
|
58
|
+
|
59
|
+
# SEO
|
60
|
+
|
61
|
+
## Meta Properties
|
62
|
+
|
63
|
+
All meta fields are controlled via the `page` object. Set attributes on this in order to get meta properties populated. This is best done at the controller level.
|
64
|
+
|
65
|
+
### Available Properties
|
66
|
+
|
67
|
+
|Property|Description|Inheritance|
|
68
|
+
|---|---|---|
|
69
|
+
|`page.title`| | |
|
70
|
+
|`page.description`| | |
|
71
|
+
|`page.author`| | |
|
72
|
+
|`page.og_url`| | |
|
73
|
+
|`page.og_type`| | |
|
74
|
+
|`page.og_title`| |`page.title`|
|
75
|
+
|`page.og_description`| |`page.description`|
|
76
|
+
|`page.og_image`| | |
|
77
|
+
|`page.twitter_card`| | | |
|
78
|
+
|
79
|
+
## Sitemaps
|
80
|
+
|
81
|
+
### Setup
|
82
|
+
|
83
|
+
Edit `config/sitemap.rb` with your own custom routes.
|
84
|
+
|
85
|
+
### Updating
|
86
|
+
|
87
|
+
Run `sitemap:refresh` in production to update Bing/Google with changes to the sitemap.
|
88
|
+
|
89
|
+
Put this in a `cron` task or in Heroku Scheduler.
|
90
|
+
|
91
|
+
# Helpers
|
92
|
+
|
93
|
+
## Geolocation
|
94
|
+
|
95
|
+
By default, Geolocation of the session will automatically happen.
|
96
|
+
|
97
|
+
You can access the session's geolocation in `request.location`.
|
98
|
+
|
99
|
+
To test geolocation locally, set `SPOOF_IP=true` in your `.env`.
|
100
|
+
|
101
|
+
For more info see [Geocoder](https://github.com/alexreisner/geocoder).
|
102
|
+
|
103
|
+
## Bootstrap
|
104
|
+
|
105
|
+
### `row_groups_of`
|
106
|
+
|
107
|
+
Makes a series of row/col `div` elements based in group count.
|
108
|
+
|
109
|
+
```
|
110
|
+
<% row_groups_of(3, [1,2,3,4,5,6,7,8,9]) do |i| %>
|
111
|
+
<div class="panel panel-default">
|
112
|
+
<div class="panel-heading">
|
113
|
+
<h2 class="text-center"><%= i %></h2>
|
114
|
+
</div>
|
115
|
+
</div>
|
116
|
+
<% end %>
|
117
|
+
```
|
data/project/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
|
+
|
4
|
+
require File.expand_path('../config/application', __FILE__)
|
5
|
+
|
6
|
+
# HACK @see http://stackoverflow.com/questions/35893584/nomethoderror-undefined-method-last-comment-after-upgrading-to-rake-11
|
7
|
+
module TempFixForRakeLastComment
|
8
|
+
def last_comment
|
9
|
+
last_description
|
10
|
+
end
|
11
|
+
end
|
12
|
+
Rake::Application.send :include, TempFixForRakeLastComment
|
13
|
+
|
14
|
+
Rails.application.load_tasks
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class ApplicationController < ActionController::Base
|
2
|
+
include MinimumViableProduct::AnalyticsConcern
|
3
|
+
include MinimumViableProduct::SEOConcern
|
4
|
+
include MinimumViableProduct::SessionConcern
|
5
|
+
|
6
|
+
helper MVP::BodyHelper
|
7
|
+
helper MVP::BootstrapHelper
|
8
|
+
|
9
|
+
# Prevent CSRF attacks by raising an exception.
|
10
|
+
# For APIs, you may want to use :null_session instead.
|
11
|
+
protect_from_forgery with: :exception
|
12
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class ConversionsController < ApplicationController
|
2
|
+
skip_before_action :verify_authenticity_token
|
3
|
+
|
4
|
+
def create
|
5
|
+
@conversion = Conversion.new(conversion_params)
|
6
|
+
|
7
|
+
respond_to do |format|
|
8
|
+
if @conversion.save
|
9
|
+
sign_in(@conversion)
|
10
|
+
track! 'Conversion', {email: @conversion.email}
|
11
|
+
slack! "Conversion: #{@conversion.email}"
|
12
|
+
format.json { render json: @conversion, status: :ok }
|
13
|
+
else
|
14
|
+
format.json { render json: @conversion.errors, status: :unprocessable_entity }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def conversion_params
|
22
|
+
params.require(:conversion).permit(:email)
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module ApplicationHelper
|
2
|
+
def render_partial(partial, locals={}, &block)
|
3
|
+
render(
|
4
|
+
partial: partial,
|
5
|
+
locals: locals.merge(block: block)
|
6
|
+
)
|
7
|
+
end
|
8
|
+
|
9
|
+
def render_mustache(template, object)
|
10
|
+
mustache = Mustache.new
|
11
|
+
mustache.template_extension = 'mustache'
|
12
|
+
# mustache.template_path = Rails.root.join("assets/templates")
|
13
|
+
# mustache.template_file = Rails.root.join("assets/templates/#{template}.mustache")
|
14
|
+
mustache.template_path = Rails.root.join("app/views")
|
15
|
+
mustache.template_file = Rails.root.join("app/views/#{template}.mustache")
|
16
|
+
mustache.instance_eval %%
|
17
|
+
def logged_in
|
18
|
+
#{!!current_user}
|
19
|
+
end
|
20
|
+
%
|
21
|
+
# mustache.template_extension = 'mustache'
|
22
|
+
mustache.render(object).html_safe
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= link_to "Mustache Rendering", mustache_example_path %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-9">
|
3
|
+
<h1>Mustache Rendering</h1>
|
4
|
+
<p>
|
5
|
+
You can render mustache files by using <code><<%= "%= render_mustache 'examples/mustache/template', { some: 'value' } %" %>></code>.
|
6
|
+
</p>
|
7
|
+
<p>
|
8
|
+
Place your files into <code>app/views</code> and reference it relatively. You don't need the <code>.mustache</code> file suffix.
|
9
|
+
</p>
|
10
|
+
<p>
|
11
|
+
Here we render <code>examples/mustache/template</code>:
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<div class="well">
|
15
|
+
<%= render_mustache 'examples/mustache/template', { some: 'value' } %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
This is <code>template.mustache</code>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<div class="row mt100">
|
2
|
+
<div class="col-sm-8 offset-sm-2 col-md-6 offset-md-3">
|
3
|
+
<p class='text-center mb50'>
|
4
|
+
By default, this page is setup to accept an email submission and store in the database. Depending on your configuration, this will fire an conversion event and even submit to Slack.
|
5
|
+
</p>
|
6
|
+
<div class="card">
|
7
|
+
<div class="card-header">
|
8
|
+
<h4>Sign Up</h4>
|
9
|
+
</div>
|
10
|
+
<div class="card-block">
|
11
|
+
<%= simple_form_for Conversion.new, url: conversion_path, remote:true, validate: true, html: { class: 'disable-on-submit' } do |f| %>
|
12
|
+
<div class="row">
|
13
|
+
<div class="col-sm-7 pr10-sm">
|
14
|
+
<%= f.input :email, placeholder: 'joe@example.com', label: false, input_html: { class: "mb0" } %>
|
15
|
+
</div>
|
16
|
+
<div class="col-sm-5 pl0-sm">
|
17
|
+
<%= f.submit "Register for Free", class: 'btn btn-primary btn-block' %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<p class="text-center mt10 mb0 text-grey">
|
22
|
+
<small>We hate spam, don't worry, we'll never try to sell you anything or your info to anyone.</small>
|
23
|
+
</p>
|
24
|
+
<% end %>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<nav class="navbar navbar-light bg-faded mt50">
|
2
|
+
<a class="navbar-brand" href="/">__PROJECT_NAME__</a>
|
3
|
+
<ul class="nav navbar-nav float-lg-right">
|
4
|
+
<li class="nav-item active">
|
5
|
+
<%= link_to 'Examples', examples_path, class: 'nav-link' %>
|
6
|
+
</li>
|
7
|
+
<li class="nav-item dropdown">
|
8
|
+
<a class="nav-link dropdown-toggle" href="http://example.com" id="supportedContentDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
|
9
|
+
<div class="dropdown-menu" aria-labelledby="supportedContentDropdown">
|
10
|
+
<a class="dropdown-item" href="#">Action</a>
|
11
|
+
<a class="dropdown-item" href="#">Another action</a>
|
12
|
+
<a class="dropdown-item" href="#">Something else here</a>
|
13
|
+
</div>
|
14
|
+
</li>
|
15
|
+
</ul>
|
16
|
+
</nav>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<% page.classes = "body-basic" %>
|
2
|
+
<%= render 'layouts/includes' %>
|
3
|
+
|
4
|
+
<%- content_for :body do %>
|
5
|
+
<% if content_for :header %>
|
6
|
+
<%= yield :header %>
|
7
|
+
<% else %>
|
8
|
+
<div class="container">
|
9
|
+
<%= render 'layouts/header' %>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
12
|
+
<div class="container">
|
13
|
+
<%= yield %>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= render template: "layouts/minimum_viable_product/application" %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% page.classes = "body-cover" %>
|
2
|
+
<%= render 'layouts/includes' %>
|
3
|
+
|
4
|
+
<%- content_for :body do %>
|
5
|
+
<div class="site-wrapper">
|
6
|
+
<div class="site-wrapper-inner">
|
7
|
+
<div class="cover-container">
|
8
|
+
<%= yield %>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<%= render template: "layouts/minimum_viable_product/application" %>
|
File without changes
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Controller
|
2
|
+
index: ()=>
|
3
|
+
# Registration page logic
|
4
|
+
$('#new_conversion').on('submit', (e)->
|
5
|
+
window.track("Conversion Submit", { source: "Registration Form" })
|
6
|
+
)
|
7
|
+
|
8
|
+
$('#new_conversion').on('ajax:success', ()->
|
9
|
+
top.location = "/conversion"
|
10
|
+
)
|
11
|
+
|
12
|
+
thanks: ()=>
|
13
|
+
# Conversion page logic
|
14
|
+
|
15
|
+
window.controllers['home'] = new Controller()
|
@@ -0,0 +1,876 @@
|
|
1
|
+
$bootstrap-sass-asset-helper: false !default;
|
2
|
+
|
3
|
+
//
|
4
|
+
// Variables
|
5
|
+
// --------------------------------------------------
|
6
|
+
|
7
|
+
|
8
|
+
//== Colors
|
9
|
+
//
|
10
|
+
//## Gray and brand colors for use across Bootstrap.
|
11
|
+
|
12
|
+
$gray-base: #000 !default;
|
13
|
+
$gray-darker: lighten($gray-base, 13.5%) !default; // #222
|
14
|
+
$gray-dark: lighten($gray-base, 20%) !default; // #333
|
15
|
+
$gray: lighten($gray-base, 33.5%) !default; // #555
|
16
|
+
$gray-light: lighten($gray-base, 46.7%) !default; // #777
|
17
|
+
$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
|
18
|
+
|
19
|
+
$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7
|
20
|
+
$brand-success: #5cb85c !default;
|
21
|
+
$brand-info: #5bc0de !default;
|
22
|
+
$brand-warning: #f0ad4e !default;
|
23
|
+
$brand-danger: #d9534f !default;
|
24
|
+
|
25
|
+
|
26
|
+
//== Scaffolding
|
27
|
+
//
|
28
|
+
//## Settings for some of the most global styles.
|
29
|
+
|
30
|
+
//** Background color for `<body>`.
|
31
|
+
$body-bg: #fff !default;
|
32
|
+
//** Global text color on `<body>`.
|
33
|
+
$text-color: $gray-dark !default;
|
34
|
+
|
35
|
+
//** Global textual link color.
|
36
|
+
$link-color: $brand-primary !default;
|
37
|
+
//** Link hover color set via `darken()` function.
|
38
|
+
$link-hover-color: darken($link-color, 15%) !default;
|
39
|
+
//** Link hover decoration.
|
40
|
+
$link-hover-decoration: underline !default;
|
41
|
+
|
42
|
+
|
43
|
+
//== Typography
|
44
|
+
//
|
45
|
+
//## Font, line-height, and color for body text, headings, and more.
|
46
|
+
|
47
|
+
$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
|
48
|
+
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
|
49
|
+
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
|
50
|
+
$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
|
51
|
+
$font-family-base: $font-family-sans-serif !default;
|
52
|
+
|
53
|
+
$font-size-base: 14px !default;
|
54
|
+
$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
|
55
|
+
$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
|
56
|
+
|
57
|
+
$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
|
58
|
+
$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
|
59
|
+
$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
|
60
|
+
$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
|
61
|
+
$font-size-h5: $font-size-base !default;
|
62
|
+
$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
|
63
|
+
|
64
|
+
//** Unit-less `line-height` for use in components like buttons.
|
65
|
+
$line-height-base: 1.428571429 !default; // 20/14
|
66
|
+
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
|
67
|
+
$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px
|
68
|
+
|
69
|
+
//** By default, this inherits from the `<body>`.
|
70
|
+
$headings-font-family: inherit !default;
|
71
|
+
$headings-font-weight: 500 !default;
|
72
|
+
$headings-line-height: 1.1 !default;
|
73
|
+
$headings-color: inherit !default;
|
74
|
+
|
75
|
+
|
76
|
+
//== Iconography
|
77
|
+
//
|
78
|
+
//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
|
79
|
+
|
80
|
+
//** Load fonts from this directory.
|
81
|
+
|
82
|
+
// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
|
83
|
+
// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
|
84
|
+
// $icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "fonts/bootstrap/") !default;
|
85
|
+
$icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/" !default;
|
86
|
+
|
87
|
+
//** File name for all font files.
|
88
|
+
$icon-font-name: "glyphicons-halflings-regular" !default;
|
89
|
+
//** Element ID within SVG icon file.
|
90
|
+
$icon-font-svg-id: "glyphicons_halflingsregular" !default;
|
91
|
+
|
92
|
+
|
93
|
+
//== Components
|
94
|
+
//
|
95
|
+
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
96
|
+
|
97
|
+
$padding-base-vertical: 6px !default;
|
98
|
+
$padding-base-horizontal: 12px !default;
|
99
|
+
|
100
|
+
$padding-large-vertical: 10px !default;
|
101
|
+
$padding-large-horizontal: 16px !default;
|
102
|
+
|
103
|
+
$padding-small-vertical: 5px !default;
|
104
|
+
$padding-small-horizontal: 10px !default;
|
105
|
+
|
106
|
+
$padding-xs-vertical: 1px !default;
|
107
|
+
$padding-xs-horizontal: 5px !default;
|
108
|
+
|
109
|
+
$line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
|
110
|
+
$line-height-small: 1.5 !default;
|
111
|
+
|
112
|
+
$border-radius-base: 4px !default;
|
113
|
+
$border-radius-large: 6px !default;
|
114
|
+
$border-radius-small: 3px !default;
|
115
|
+
|
116
|
+
//** Global color for active items (e.g., navs or dropdowns).
|
117
|
+
$component-active-color: #fff !default;
|
118
|
+
//** Global background color for active items (e.g., navs or dropdowns).
|
119
|
+
$component-active-bg: $brand-primary !default;
|
120
|
+
|
121
|
+
//** Width of the `border` for generating carets that indicate dropdowns.
|
122
|
+
$caret-width-base: 4px !default;
|
123
|
+
//** Carets increase slightly in size for larger components.
|
124
|
+
$caret-width-large: 5px !default;
|
125
|
+
|
126
|
+
|
127
|
+
//== Tables
|
128
|
+
//
|
129
|
+
//## Customizes the `.table` component with basic values, each used across all table variations.
|
130
|
+
|
131
|
+
//** Padding for `<th>`s and `<td>`s.
|
132
|
+
$table-cell-padding: 8px !default;
|
133
|
+
//** Padding for cells in `.table-condensed`.
|
134
|
+
$table-condensed-cell-padding: 5px !default;
|
135
|
+
|
136
|
+
//** Default background color used for all tables.
|
137
|
+
$table-bg: transparent !default;
|
138
|
+
//** Background color used for `.table-striped`.
|
139
|
+
$table-bg-accent: #f9f9f9 !default;
|
140
|
+
//** Background color used for `.table-hover`.
|
141
|
+
$table-bg-hover: #f5f5f5 !default;
|
142
|
+
$table-bg-active: $table-bg-hover !default;
|
143
|
+
|
144
|
+
//** Border color for table and cell borders.
|
145
|
+
$table-border-color: #ddd !default;
|
146
|
+
|
147
|
+
|
148
|
+
//== Buttons
|
149
|
+
//
|
150
|
+
//## For each of Bootstrap's buttons, define text, background and border color.
|
151
|
+
|
152
|
+
$btn-font-weight: normal !default;
|
153
|
+
|
154
|
+
$btn-default-color: #333 !default;
|
155
|
+
$btn-default-bg: #fff !default;
|
156
|
+
$btn-default-border: #ccc !default;
|
157
|
+
|
158
|
+
$btn-primary-color: #fff !default;
|
159
|
+
$btn-primary-bg: $brand-primary !default;
|
160
|
+
$btn-primary-border: darken($btn-primary-bg, 5%) !default;
|
161
|
+
|
162
|
+
$btn-success-color: #fff !default;
|
163
|
+
$btn-success-bg: $brand-success !default;
|
164
|
+
$btn-success-border: darken($btn-success-bg, 5%) !default;
|
165
|
+
|
166
|
+
$btn-info-color: #fff !default;
|
167
|
+
$btn-info-bg: $brand-info !default;
|
168
|
+
$btn-info-border: darken($btn-info-bg, 5%) !default;
|
169
|
+
|
170
|
+
$btn-warning-color: #fff !default;
|
171
|
+
$btn-warning-bg: $brand-warning !default;
|
172
|
+
$btn-warning-border: darken($btn-warning-bg, 5%) !default;
|
173
|
+
|
174
|
+
$btn-danger-color: #fff !default;
|
175
|
+
$btn-danger-bg: $brand-danger !default;
|
176
|
+
$btn-danger-border: darken($btn-danger-bg, 5%) !default;
|
177
|
+
|
178
|
+
$btn-link-disabled-color: $gray-light !default;
|
179
|
+
|
180
|
+
// Allows for customizing button radius independently from global border radius
|
181
|
+
$btn-border-radius-base: $border-radius-base !default;
|
182
|
+
$btn-border-radius-large: $border-radius-large !default;
|
183
|
+
$btn-border-radius-small: $border-radius-small !default;
|
184
|
+
|
185
|
+
|
186
|
+
//== Forms
|
187
|
+
//
|
188
|
+
//##
|
189
|
+
|
190
|
+
//** `<input>` background color
|
191
|
+
$input-bg: #fff !default;
|
192
|
+
//** `<input disabled>` background color
|
193
|
+
$input-bg-disabled: $gray-lighter !default;
|
194
|
+
|
195
|
+
//** Text color for `<input>`s
|
196
|
+
$input-color: $gray !default;
|
197
|
+
//** `<input>` border color
|
198
|
+
$input-border: #ccc !default;
|
199
|
+
|
200
|
+
// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
|
201
|
+
//** Default `.form-control` border radius
|
202
|
+
// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
|
203
|
+
$input-border-radius: $border-radius-base !default;
|
204
|
+
//** Large `.form-control` border radius
|
205
|
+
$input-border-radius-large: $border-radius-large !default;
|
206
|
+
//** Small `.form-control` border radius
|
207
|
+
$input-border-radius-small: $border-radius-small !default;
|
208
|
+
|
209
|
+
//** Border color for inputs on focus
|
210
|
+
$input-border-focus: #66afe9 !default;
|
211
|
+
|
212
|
+
//** Placeholder text color
|
213
|
+
$input-color-placeholder: #999 !default;
|
214
|
+
|
215
|
+
//** Default `.form-control` height
|
216
|
+
$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
|
217
|
+
//** Large `.form-control` height
|
218
|
+
$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
|
219
|
+
//** Small `.form-control` height
|
220
|
+
$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
|
221
|
+
|
222
|
+
//** `.form-group` margin
|
223
|
+
$form-group-margin-bottom: 15px !default;
|
224
|
+
|
225
|
+
$legend-color: $gray-dark !default;
|
226
|
+
$legend-border-color: #e5e5e5 !default;
|
227
|
+
|
228
|
+
//** Background color for textual input addons
|
229
|
+
$input-group-addon-bg: $gray-lighter !default;
|
230
|
+
//** Border color for textual input addons
|
231
|
+
$input-group-addon-border-color: $input-border !default;
|
232
|
+
|
233
|
+
//** Disabled cursor for form controls and buttons.
|
234
|
+
$cursor-disabled: not-allowed !default;
|
235
|
+
|
236
|
+
|
237
|
+
//== Dropdowns
|
238
|
+
//
|
239
|
+
//## Dropdown menu container and contents.
|
240
|
+
|
241
|
+
//** Background for the dropdown menu.
|
242
|
+
$dropdown-bg: #fff !default;
|
243
|
+
//** Dropdown menu `border-color`.
|
244
|
+
$dropdown-border: rgba(0,0,0,.15) !default;
|
245
|
+
//** Dropdown menu `border-color` **for IE8**.
|
246
|
+
$dropdown-fallback-border: #ccc !default;
|
247
|
+
//** Divider color for between dropdown items.
|
248
|
+
$dropdown-divider-bg: #e5e5e5 !default;
|
249
|
+
|
250
|
+
//** Dropdown link text color.
|
251
|
+
$dropdown-link-color: $gray-dark !default;
|
252
|
+
//** Hover color for dropdown links.
|
253
|
+
$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
|
254
|
+
//** Hover background for dropdown links.
|
255
|
+
$dropdown-link-hover-bg: #f5f5f5 !default;
|
256
|
+
|
257
|
+
//** Active dropdown menu item text color.
|
258
|
+
$dropdown-link-active-color: $component-active-color !default;
|
259
|
+
//** Active dropdown menu item background color.
|
260
|
+
$dropdown-link-active-bg: $component-active-bg !default;
|
261
|
+
|
262
|
+
//** Disabled dropdown menu item background color.
|
263
|
+
$dropdown-link-disabled-color: $gray-light !default;
|
264
|
+
|
265
|
+
//** Text color for headers within dropdown menus.
|
266
|
+
$dropdown-header-color: $gray-light !default;
|
267
|
+
|
268
|
+
//** Deprecated `$dropdown-caret-color` as of v3.1.0
|
269
|
+
$dropdown-caret-color: #000 !default;
|
270
|
+
|
271
|
+
|
272
|
+
//-- Z-index master list
|
273
|
+
//
|
274
|
+
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
275
|
+
// of components dependent on the z-axis and are designed to all work together.
|
276
|
+
//
|
277
|
+
// Note: These variables are not generated into the Customizer.
|
278
|
+
|
279
|
+
$zindex-navbar: 1000 !default;
|
280
|
+
$zindex-dropdown: 1000 !default;
|
281
|
+
$zindex-popover: 1060 !default;
|
282
|
+
$zindex-tooltip: 1070 !default;
|
283
|
+
$zindex-navbar-fixed: 1030 !default;
|
284
|
+
$zindex-modal-background: 1040 !default;
|
285
|
+
$zindex-modal: 1050 !default;
|
286
|
+
|
287
|
+
|
288
|
+
//== Media queries breakpoints
|
289
|
+
//
|
290
|
+
//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
|
291
|
+
|
292
|
+
// Extra small screen / phone
|
293
|
+
//** Deprecated `$screen-xs` as of v3.0.1
|
294
|
+
$screen-xs: 480px !default;
|
295
|
+
//** Deprecated `$screen-xs-min` as of v3.2.0
|
296
|
+
$screen-xs-min: $screen-xs !default;
|
297
|
+
//** Deprecated `$screen-phone` as of v3.0.1
|
298
|
+
$screen-phone: $screen-xs-min !default;
|
299
|
+
|
300
|
+
// Small screen / tablet
|
301
|
+
//** Deprecated `$screen-sm` as of v3.0.1
|
302
|
+
$screen-sm: 768px !default;
|
303
|
+
$screen-sm-min: $screen-sm !default;
|
304
|
+
//** Deprecated `$screen-tablet` as of v3.0.1
|
305
|
+
$screen-tablet: $screen-sm-min !default;
|
306
|
+
|
307
|
+
// Medium screen / desktop
|
308
|
+
//** Deprecated `$screen-md` as of v3.0.1
|
309
|
+
$screen-md: 992px !default;
|
310
|
+
$screen-md-min: $screen-md !default;
|
311
|
+
//** Deprecated `$screen-desktop` as of v3.0.1
|
312
|
+
$screen-desktop: $screen-md-min !default;
|
313
|
+
|
314
|
+
// Large screen / wide desktop
|
315
|
+
//** Deprecated `$screen-lg` as of v3.0.1
|
316
|
+
$screen-lg: 1200px !default;
|
317
|
+
$screen-lg-min: $screen-lg !default;
|
318
|
+
//** Deprecated `$screen-lg-desktop` as of v3.0.1
|
319
|
+
$screen-lg-desktop: $screen-lg-min !default;
|
320
|
+
|
321
|
+
// So media queries don't overlap when required, provide a maximum
|
322
|
+
$screen-xs-max: ($screen-sm-min - 1) !default;
|
323
|
+
$screen-sm-max: ($screen-md-min - 1) !default;
|
324
|
+
$screen-md-max: ($screen-lg-min - 1) !default;
|
325
|
+
|
326
|
+
|
327
|
+
//== Grid system
|
328
|
+
//
|
329
|
+
//## Define your custom responsive grid.
|
330
|
+
|
331
|
+
//** Number of columns in the grid.
|
332
|
+
$grid-columns: 12 !default;
|
333
|
+
//** Padding between columns. Gets divided in half for the left and right.
|
334
|
+
$grid-gutter-width: 30px !default;
|
335
|
+
// Navbar collapse
|
336
|
+
//** Point at which the navbar becomes uncollapsed.
|
337
|
+
$grid-float-breakpoint: $screen-sm-min !default;
|
338
|
+
//** Point at which the navbar begins collapsing.
|
339
|
+
$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
|
340
|
+
|
341
|
+
|
342
|
+
//== Container sizes
|
343
|
+
//
|
344
|
+
//## Define the maximum width of `.container` for different screen sizes.
|
345
|
+
|
346
|
+
// Small screen / tablet
|
347
|
+
$container-tablet: (720px + $grid-gutter-width) !default;
|
348
|
+
//** For `$screen-sm-min` and up.
|
349
|
+
$container-sm: $container-tablet !default;
|
350
|
+
|
351
|
+
// Medium screen / desktop
|
352
|
+
$container-desktop: (940px + $grid-gutter-width) !default;
|
353
|
+
//** For `$screen-md-min` and up.
|
354
|
+
$container-md: $container-desktop !default;
|
355
|
+
|
356
|
+
// Large screen / wide desktop
|
357
|
+
$container-large-desktop: (1140px + $grid-gutter-width) !default;
|
358
|
+
//** For `$screen-lg-min` and up.
|
359
|
+
$container-lg: $container-large-desktop !default;
|
360
|
+
|
361
|
+
|
362
|
+
//== Navbar
|
363
|
+
//
|
364
|
+
//##
|
365
|
+
|
366
|
+
// Basics of a navbar
|
367
|
+
$navbar-height: 50px !default;
|
368
|
+
$navbar-margin-bottom: $line-height-computed !default;
|
369
|
+
$navbar-border-radius: $border-radius-base !default;
|
370
|
+
$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;
|
371
|
+
$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;
|
372
|
+
$navbar-collapse-max-height: 340px !default;
|
373
|
+
|
374
|
+
$navbar-default-color: #777 !default;
|
375
|
+
$navbar-default-bg: #f8f8f8 !default;
|
376
|
+
$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;
|
377
|
+
|
378
|
+
// Navbar links
|
379
|
+
$navbar-default-link-color: #777 !default;
|
380
|
+
$navbar-default-link-hover-color: #333 !default;
|
381
|
+
$navbar-default-link-hover-bg: transparent !default;
|
382
|
+
$navbar-default-link-active-color: #555 !default;
|
383
|
+
$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;
|
384
|
+
$navbar-default-link-disabled-color: #ccc !default;
|
385
|
+
$navbar-default-link-disabled-bg: transparent !default;
|
386
|
+
|
387
|
+
// Navbar brand label
|
388
|
+
$navbar-default-brand-color: $navbar-default-link-color !default;
|
389
|
+
$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;
|
390
|
+
$navbar-default-brand-hover-bg: transparent !default;
|
391
|
+
|
392
|
+
// Navbar toggle
|
393
|
+
$navbar-default-toggle-hover-bg: #ddd !default;
|
394
|
+
$navbar-default-toggle-icon-bar-bg: #888 !default;
|
395
|
+
$navbar-default-toggle-border-color: #ddd !default;
|
396
|
+
|
397
|
+
|
398
|
+
//=== Inverted navbar
|
399
|
+
// Reset inverted navbar basics
|
400
|
+
$navbar-inverse-color: lighten($gray-light, 15%) !default;
|
401
|
+
$navbar-inverse-bg: #222 !default;
|
402
|
+
$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
|
403
|
+
|
404
|
+
// Inverted navbar links
|
405
|
+
$navbar-inverse-link-color: lighten($gray-light, 15%) !default;
|
406
|
+
$navbar-inverse-link-hover-color: #fff !default;
|
407
|
+
$navbar-inverse-link-hover-bg: transparent !default;
|
408
|
+
$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
|
409
|
+
$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;
|
410
|
+
$navbar-inverse-link-disabled-color: #444 !default;
|
411
|
+
$navbar-inverse-link-disabled-bg: transparent !default;
|
412
|
+
|
413
|
+
// Inverted navbar brand label
|
414
|
+
$navbar-inverse-brand-color: $navbar-inverse-link-color !default;
|
415
|
+
$navbar-inverse-brand-hover-color: #fff !default;
|
416
|
+
$navbar-inverse-brand-hover-bg: transparent !default;
|
417
|
+
|
418
|
+
// Inverted navbar toggle
|
419
|
+
$navbar-inverse-toggle-hover-bg: #333 !default;
|
420
|
+
$navbar-inverse-toggle-icon-bar-bg: #fff !default;
|
421
|
+
$navbar-inverse-toggle-border-color: #333 !default;
|
422
|
+
|
423
|
+
|
424
|
+
//== Navs
|
425
|
+
//
|
426
|
+
//##
|
427
|
+
|
428
|
+
//=== Shared nav styles
|
429
|
+
$nav-link-padding: 10px 15px !default;
|
430
|
+
$nav-link-hover-bg: $gray-lighter !default;
|
431
|
+
|
432
|
+
$nav-disabled-link-color: $gray-light !default;
|
433
|
+
$nav-disabled-link-hover-color: $gray-light !default;
|
434
|
+
|
435
|
+
//== Tabs
|
436
|
+
$nav-tabs-border-color: #ddd !default;
|
437
|
+
|
438
|
+
$nav-tabs-link-hover-border-color: $gray-lighter !default;
|
439
|
+
|
440
|
+
$nav-tabs-active-link-hover-bg: $body-bg !default;
|
441
|
+
$nav-tabs-active-link-hover-color: $gray !default;
|
442
|
+
$nav-tabs-active-link-hover-border-color: #ddd !default;
|
443
|
+
|
444
|
+
$nav-tabs-justified-link-border-color: #ddd !default;
|
445
|
+
$nav-tabs-justified-active-link-border-color: $body-bg !default;
|
446
|
+
|
447
|
+
//== Pills
|
448
|
+
$nav-pills-border-radius: $border-radius-base !default;
|
449
|
+
$nav-pills-active-link-hover-bg: $component-active-bg !default;
|
450
|
+
$nav-pills-active-link-hover-color: $component-active-color !default;
|
451
|
+
|
452
|
+
|
453
|
+
//== Pagination
|
454
|
+
//
|
455
|
+
//##
|
456
|
+
|
457
|
+
$pagination-color: $link-color !default;
|
458
|
+
$pagination-bg: #fff !default;
|
459
|
+
$pagination-border: #ddd !default;
|
460
|
+
|
461
|
+
$pagination-hover-color: $link-hover-color !default;
|
462
|
+
$pagination-hover-bg: $gray-lighter !default;
|
463
|
+
$pagination-hover-border: #ddd !default;
|
464
|
+
|
465
|
+
$pagination-active-color: #fff !default;
|
466
|
+
$pagination-active-bg: $brand-primary !default;
|
467
|
+
$pagination-active-border: $brand-primary !default;
|
468
|
+
|
469
|
+
$pagination-disabled-color: $gray-light !default;
|
470
|
+
$pagination-disabled-bg: #fff !default;
|
471
|
+
$pagination-disabled-border: #ddd !default;
|
472
|
+
|
473
|
+
|
474
|
+
//== Pager
|
475
|
+
//
|
476
|
+
//##
|
477
|
+
|
478
|
+
$pager-bg: $pagination-bg !default;
|
479
|
+
$pager-border: $pagination-border !default;
|
480
|
+
$pager-border-radius: 15px !default;
|
481
|
+
|
482
|
+
$pager-hover-bg: $pagination-hover-bg !default;
|
483
|
+
|
484
|
+
$pager-active-bg: $pagination-active-bg !default;
|
485
|
+
$pager-active-color: $pagination-active-color !default;
|
486
|
+
|
487
|
+
$pager-disabled-color: $pagination-disabled-color !default;
|
488
|
+
|
489
|
+
|
490
|
+
//== Jumbotron
|
491
|
+
//
|
492
|
+
//##
|
493
|
+
|
494
|
+
$jumbotron-padding: 30px !default;
|
495
|
+
$jumbotron-color: inherit !default;
|
496
|
+
$jumbotron-bg: $gray-lighter !default;
|
497
|
+
$jumbotron-heading-color: inherit !default;
|
498
|
+
$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;
|
499
|
+
$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default;
|
500
|
+
|
501
|
+
|
502
|
+
//== Form states and alerts
|
503
|
+
//
|
504
|
+
//## Define colors for form feedback states and, by default, alerts.
|
505
|
+
|
506
|
+
$state-success-text: #3c763d !default;
|
507
|
+
$state-success-bg: #dff0d8 !default;
|
508
|
+
$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;
|
509
|
+
|
510
|
+
$state-info-text: #31708f !default;
|
511
|
+
$state-info-bg: #d9edf7 !default;
|
512
|
+
$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;
|
513
|
+
|
514
|
+
$state-warning-text: #8a6d3b !default;
|
515
|
+
$state-warning-bg: #fcf8e3 !default;
|
516
|
+
$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;
|
517
|
+
|
518
|
+
$state-danger-text: #a94442 !default;
|
519
|
+
$state-danger-bg: #f2dede !default;
|
520
|
+
$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;
|
521
|
+
|
522
|
+
|
523
|
+
//== Tooltips
|
524
|
+
//
|
525
|
+
//##
|
526
|
+
|
527
|
+
//** Tooltip max width
|
528
|
+
$tooltip-max-width: 200px !default;
|
529
|
+
//** Tooltip text color
|
530
|
+
$tooltip-color: #fff !default;
|
531
|
+
//** Tooltip background color
|
532
|
+
$tooltip-bg: #000 !default;
|
533
|
+
$tooltip-opacity: .9 !default;
|
534
|
+
|
535
|
+
//** Tooltip arrow width
|
536
|
+
$tooltip-arrow-width: 5px !default;
|
537
|
+
//** Tooltip arrow color
|
538
|
+
$tooltip-arrow-color: $tooltip-bg !default;
|
539
|
+
|
540
|
+
|
541
|
+
//== Popovers
|
542
|
+
//
|
543
|
+
//##
|
544
|
+
|
545
|
+
//** Popover body background color
|
546
|
+
$popover-bg: #fff !default;
|
547
|
+
//** Popover maximum width
|
548
|
+
$popover-max-width: 276px !default;
|
549
|
+
//** Popover border color
|
550
|
+
$popover-border-color: rgba(0,0,0,.2) !default;
|
551
|
+
//** Popover fallback border color
|
552
|
+
$popover-fallback-border-color: #ccc !default;
|
553
|
+
|
554
|
+
//** Popover title background color
|
555
|
+
$popover-title-bg: darken($popover-bg, 3%) !default;
|
556
|
+
|
557
|
+
//** Popover arrow width
|
558
|
+
$popover-arrow-width: 10px !default;
|
559
|
+
//** Popover arrow color
|
560
|
+
$popover-arrow-color: $popover-bg !default;
|
561
|
+
|
562
|
+
//** Popover outer arrow width
|
563
|
+
$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
|
564
|
+
//** Popover outer arrow color
|
565
|
+
$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;
|
566
|
+
//** Popover outer arrow fallback color
|
567
|
+
$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;
|
568
|
+
|
569
|
+
|
570
|
+
//== Labels
|
571
|
+
//
|
572
|
+
//##
|
573
|
+
|
574
|
+
//** Default label background color
|
575
|
+
$label-default-bg: $gray-light !default;
|
576
|
+
//** Primary label background color
|
577
|
+
$label-primary-bg: $brand-primary !default;
|
578
|
+
//** Success label background color
|
579
|
+
$label-success-bg: $brand-success !default;
|
580
|
+
//** Info label background color
|
581
|
+
$label-info-bg: $brand-info !default;
|
582
|
+
//** Warning label background color
|
583
|
+
$label-warning-bg: $brand-warning !default;
|
584
|
+
//** Danger label background color
|
585
|
+
$label-danger-bg: $brand-danger !default;
|
586
|
+
|
587
|
+
//** Default label text color
|
588
|
+
$label-color: #fff !default;
|
589
|
+
//** Default text color of a linked label
|
590
|
+
$label-link-hover-color: #fff !default;
|
591
|
+
|
592
|
+
|
593
|
+
//== Modals
|
594
|
+
//
|
595
|
+
//##
|
596
|
+
|
597
|
+
//** Padding applied to the modal body
|
598
|
+
$modal-inner-padding: 15px !default;
|
599
|
+
|
600
|
+
//** Padding applied to the modal title
|
601
|
+
$modal-title-padding: 15px !default;
|
602
|
+
//** Modal title line-height
|
603
|
+
$modal-title-line-height: $line-height-base !default;
|
604
|
+
|
605
|
+
//** Background color of modal content area
|
606
|
+
$modal-content-bg: #fff !default;
|
607
|
+
//** Modal content border color
|
608
|
+
$modal-content-border-color: rgba(0,0,0,.2) !default;
|
609
|
+
//** Modal content border color **for IE8**
|
610
|
+
$modal-content-fallback-border-color: #999 !default;
|
611
|
+
|
612
|
+
//** Modal backdrop background color
|
613
|
+
$modal-backdrop-bg: #000 !default;
|
614
|
+
//** Modal backdrop opacity
|
615
|
+
$modal-backdrop-opacity: .5 !default;
|
616
|
+
//** Modal header border color
|
617
|
+
$modal-header-border-color: #e5e5e5 !default;
|
618
|
+
//** Modal footer border color
|
619
|
+
$modal-footer-border-color: $modal-header-border-color !default;
|
620
|
+
|
621
|
+
$modal-lg: 900px !default;
|
622
|
+
$modal-md: 600px !default;
|
623
|
+
$modal-sm: 300px !default;
|
624
|
+
|
625
|
+
|
626
|
+
//== Alerts
|
627
|
+
//
|
628
|
+
//## Define alert colors, border radius, and padding.
|
629
|
+
|
630
|
+
$alert-padding: 15px !default;
|
631
|
+
$alert-border-radius: $border-radius-base !default;
|
632
|
+
$alert-link-font-weight: bold !default;
|
633
|
+
|
634
|
+
$alert-success-bg: $state-success-bg !default;
|
635
|
+
$alert-success-text: $state-success-text !default;
|
636
|
+
$alert-success-border: $state-success-border !default;
|
637
|
+
|
638
|
+
$alert-info-bg: $state-info-bg !default;
|
639
|
+
$alert-info-text: $state-info-text !default;
|
640
|
+
$alert-info-border: $state-info-border !default;
|
641
|
+
|
642
|
+
$alert-warning-bg: $state-warning-bg !default;
|
643
|
+
$alert-warning-text: $state-warning-text !default;
|
644
|
+
$alert-warning-border: $state-warning-border !default;
|
645
|
+
|
646
|
+
$alert-danger-bg: $state-danger-bg !default;
|
647
|
+
$alert-danger-text: $state-danger-text !default;
|
648
|
+
$alert-danger-border: $state-danger-border !default;
|
649
|
+
|
650
|
+
|
651
|
+
//== Progress bars
|
652
|
+
//
|
653
|
+
//##
|
654
|
+
|
655
|
+
//** Background color of the whole progress component
|
656
|
+
$progress-bg: #f5f5f5 !default;
|
657
|
+
//** Progress bar text color
|
658
|
+
$progress-bar-color: #fff !default;
|
659
|
+
//** Variable for setting rounded corners on progress bar.
|
660
|
+
$progress-border-radius: $border-radius-base !default;
|
661
|
+
|
662
|
+
//** Default progress bar color
|
663
|
+
$progress-bar-bg: $brand-primary !default;
|
664
|
+
//** Success progress bar color
|
665
|
+
$progress-bar-success-bg: $brand-success !default;
|
666
|
+
//** Warning progress bar color
|
667
|
+
$progress-bar-warning-bg: $brand-warning !default;
|
668
|
+
//** Danger progress bar color
|
669
|
+
$progress-bar-danger-bg: $brand-danger !default;
|
670
|
+
//** Info progress bar color
|
671
|
+
$progress-bar-info-bg: $brand-info !default;
|
672
|
+
|
673
|
+
|
674
|
+
//== List group
|
675
|
+
//
|
676
|
+
//##
|
677
|
+
|
678
|
+
//** Background color on `.list-group-item`
|
679
|
+
$list-group-bg: #fff !default;
|
680
|
+
//** `.list-group-item` border color
|
681
|
+
$list-group-border: #ddd !default;
|
682
|
+
//** List group border radius
|
683
|
+
$list-group-border-radius: $border-radius-base !default;
|
684
|
+
|
685
|
+
//** Background color of single list items on hover
|
686
|
+
$list-group-hover-bg: #f5f5f5 !default;
|
687
|
+
//** Text color of active list items
|
688
|
+
$list-group-active-color: $component-active-color !default;
|
689
|
+
//** Background color of active list items
|
690
|
+
$list-group-active-bg: $component-active-bg !default;
|
691
|
+
//** Border color of active list elements
|
692
|
+
$list-group-active-border: $list-group-active-bg !default;
|
693
|
+
//** Text color for content within active list items
|
694
|
+
$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
|
695
|
+
|
696
|
+
//** Text color of disabled list items
|
697
|
+
$list-group-disabled-color: $gray-light !default;
|
698
|
+
//** Background color of disabled list items
|
699
|
+
$list-group-disabled-bg: $gray-lighter !default;
|
700
|
+
//** Text color for content within disabled list items
|
701
|
+
$list-group-disabled-text-color: $list-group-disabled-color !default;
|
702
|
+
|
703
|
+
$list-group-link-color: #555 !default;
|
704
|
+
$list-group-link-hover-color: $list-group-link-color !default;
|
705
|
+
$list-group-link-heading-color: #333 !default;
|
706
|
+
|
707
|
+
|
708
|
+
//== Panels
|
709
|
+
//
|
710
|
+
//##
|
711
|
+
|
712
|
+
$panel-bg: #fff !default;
|
713
|
+
$panel-body-padding: 15px !default;
|
714
|
+
$panel-heading-padding: 10px 15px !default;
|
715
|
+
$panel-footer-padding: $panel-heading-padding !default;
|
716
|
+
$panel-border-radius: $border-radius-base !default;
|
717
|
+
|
718
|
+
//** Border color for elements within panels
|
719
|
+
$panel-inner-border: #ddd !default;
|
720
|
+
$panel-footer-bg: #f5f5f5 !default;
|
721
|
+
|
722
|
+
$panel-default-text: $gray-dark !default;
|
723
|
+
$panel-default-border: #ddd !default;
|
724
|
+
$panel-default-heading-bg: #f5f5f5 !default;
|
725
|
+
|
726
|
+
$panel-primary-text: #fff !default;
|
727
|
+
$panel-primary-border: $brand-primary !default;
|
728
|
+
$panel-primary-heading-bg: $brand-primary !default;
|
729
|
+
|
730
|
+
$panel-success-text: $state-success-text !default;
|
731
|
+
$panel-success-border: $state-success-border !default;
|
732
|
+
$panel-success-heading-bg: $state-success-bg !default;
|
733
|
+
|
734
|
+
$panel-info-text: $state-info-text !default;
|
735
|
+
$panel-info-border: $state-info-border !default;
|
736
|
+
$panel-info-heading-bg: $state-info-bg !default;
|
737
|
+
|
738
|
+
$panel-warning-text: $state-warning-text !default;
|
739
|
+
$panel-warning-border: $state-warning-border !default;
|
740
|
+
$panel-warning-heading-bg: $state-warning-bg !default;
|
741
|
+
|
742
|
+
$panel-danger-text: $state-danger-text !default;
|
743
|
+
$panel-danger-border: $state-danger-border !default;
|
744
|
+
$panel-danger-heading-bg: $state-danger-bg !default;
|
745
|
+
|
746
|
+
|
747
|
+
//== Thumbnails
|
748
|
+
//
|
749
|
+
//##
|
750
|
+
|
751
|
+
//** Padding around the thumbnail image
|
752
|
+
$thumbnail-padding: 4px !default;
|
753
|
+
//** Thumbnail background color
|
754
|
+
$thumbnail-bg: $body-bg !default;
|
755
|
+
//** Thumbnail border color
|
756
|
+
$thumbnail-border: #ddd !default;
|
757
|
+
//** Thumbnail border radius
|
758
|
+
$thumbnail-border-radius: $border-radius-base !default;
|
759
|
+
|
760
|
+
//** Custom text color for thumbnail captions
|
761
|
+
$thumbnail-caption-color: $text-color !default;
|
762
|
+
//** Padding around the thumbnail caption
|
763
|
+
$thumbnail-caption-padding: 9px !default;
|
764
|
+
|
765
|
+
|
766
|
+
//== Wells
|
767
|
+
//
|
768
|
+
//##
|
769
|
+
|
770
|
+
$well-bg: #f5f5f5 !default;
|
771
|
+
$well-border: darken($well-bg, 7%) !default;
|
772
|
+
|
773
|
+
|
774
|
+
//== Badges
|
775
|
+
//
|
776
|
+
//##
|
777
|
+
|
778
|
+
$badge-color: #fff !default;
|
779
|
+
//** Linked badge text color on hover
|
780
|
+
$badge-link-hover-color: #fff !default;
|
781
|
+
$badge-bg: $gray-light !default;
|
782
|
+
|
783
|
+
//** Badge text color in active nav link
|
784
|
+
$badge-active-color: $link-color !default;
|
785
|
+
//** Badge background color in active nav link
|
786
|
+
$badge-active-bg: #fff !default;
|
787
|
+
|
788
|
+
$badge-font-weight: bold !default;
|
789
|
+
$badge-line-height: 1 !default;
|
790
|
+
$badge-border-radius: 10px !default;
|
791
|
+
|
792
|
+
|
793
|
+
//== Breadcrumbs
|
794
|
+
//
|
795
|
+
//##
|
796
|
+
|
797
|
+
$breadcrumb-padding-vertical: 8px !default;
|
798
|
+
$breadcrumb-padding-horizontal: 15px !default;
|
799
|
+
//** Breadcrumb background color
|
800
|
+
$breadcrumb-bg: #f5f5f5 !default;
|
801
|
+
//** Breadcrumb text color
|
802
|
+
$breadcrumb-color: #ccc !default;
|
803
|
+
//** Text color of current page in the breadcrumb
|
804
|
+
$breadcrumb-active-color: $gray-light !default;
|
805
|
+
//** Textual separator for between breadcrumb elements
|
806
|
+
$breadcrumb-separator: "/" !default;
|
807
|
+
|
808
|
+
|
809
|
+
//== Carousel
|
810
|
+
//
|
811
|
+
//##
|
812
|
+
|
813
|
+
$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
|
814
|
+
|
815
|
+
$carousel-control-color: #fff !default;
|
816
|
+
$carousel-control-width: 15% !default;
|
817
|
+
$carousel-control-opacity: .5 !default;
|
818
|
+
$carousel-control-font-size: 20px !default;
|
819
|
+
|
820
|
+
$carousel-indicator-active-bg: #fff !default;
|
821
|
+
$carousel-indicator-border-color: #fff !default;
|
822
|
+
|
823
|
+
$carousel-caption-color: #fff !default;
|
824
|
+
|
825
|
+
|
826
|
+
//== Close
|
827
|
+
//
|
828
|
+
//##
|
829
|
+
|
830
|
+
$close-font-weight: bold !default;
|
831
|
+
$close-color: #000 !default;
|
832
|
+
$close-text-shadow: 0 1px 0 #fff !default;
|
833
|
+
|
834
|
+
|
835
|
+
//== Code
|
836
|
+
//
|
837
|
+
//##
|
838
|
+
|
839
|
+
$code-color: #c7254e !default;
|
840
|
+
$code-bg: #f9f2f4 !default;
|
841
|
+
|
842
|
+
$kbd-color: #fff !default;
|
843
|
+
$kbd-bg: #333 !default;
|
844
|
+
|
845
|
+
$pre-bg: #f5f5f5 !default;
|
846
|
+
$pre-color: $gray-dark !default;
|
847
|
+
$pre-border-color: #ccc !default;
|
848
|
+
$pre-scrollable-max-height: 340px !default;
|
849
|
+
|
850
|
+
|
851
|
+
//== Type
|
852
|
+
//
|
853
|
+
//##
|
854
|
+
|
855
|
+
//** Horizontal offset for forms and lists.
|
856
|
+
$component-offset-horizontal: 180px !default;
|
857
|
+
//** Text muted color
|
858
|
+
$text-muted: $gray-light !default;
|
859
|
+
//** Abbreviations and acronyms border color
|
860
|
+
$abbr-border-color: $gray-light !default;
|
861
|
+
//** Headings small color
|
862
|
+
$headings-small-color: $gray-light !default;
|
863
|
+
//** Blockquote small color
|
864
|
+
$blockquote-small-color: $gray-light !default;
|
865
|
+
//** Blockquote font size
|
866
|
+
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
867
|
+
//** Blockquote border color
|
868
|
+
$blockquote-border-color: $gray-lighter !default;
|
869
|
+
//** Page header border color
|
870
|
+
$page-header-border-color: $gray-lighter !default;
|
871
|
+
//** Width of horizontal description list titles
|
872
|
+
$dl-horizontal-offset: $component-offset-horizontal !default;
|
873
|
+
//** Point at which .dl-horizontal becomes horizontal
|
874
|
+
$dl-horizontal-breakpoint: $grid-float-breakpoint !default;
|
875
|
+
//** Horizontal line color.
|
876
|
+
$hr-border: $gray-lighter !default;
|