_variables.scss 33.8 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1
// Variables
2
//
3
4
5
6
// Copy settings from this file into the provided `_custom.scss` to override
// the Bootstrap defaults without modifying key, versioned files.


Chris Bell's avatar
Chris Bell committed
7
// Table of Contents
8
//
Mark Otto's avatar
Mark Otto committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Colors
// Options
// Spacing
// Body
// Links
// Grid breakpoints
// Grid containers
// Grid columns
// Fonts
// Components
// Tables
// Buttons
// Forms
// Dropdowns
// Z-index master list
// Navbar
// Navs
// Pagination
// Jumbotron
// Form states and alerts
// Cards
// Tooltips
// Popovers
// Badges
// Modals
// Alerts
// Progress bars
// List group
// Image thumbnails
// Figures
// Breadcrumbs
// Carousel
// Close
// Code
Mark Otto's avatar
Mark Otto committed
43

44
45
46
47
@mixin _assert-ascending($map, $map-name) {
  $prev-key: null;
  $prev-num: null;
  @each $key, $num in $map {
48
49
50
51
52
    @if $prev-num == null {
      // Do nothing
    } @else if not comparable($prev-num, $num) {
      @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
    } @else if $prev-num >= $num {
53
54
55
56
57
58
59
      @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
    }
    $prev-key: $key;
    $prev-num: $num;
  }
}

60
61
62
63
64
65
// Replace `$search` with `$replace` in `$string`
// @author Hugo Giraudel
// @param {String} $string - Initial string
// @param {String} $search - Substring to replace
// @param {String} $replace ('') - New value
// @return {String} - Updated string
66
67
68
69
70
71
72
73
74
75
@function str-replace($string, $search, $replace: "") {
  $index: str-index($string, $search);

  @if $index {
    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
  }

  @return $string;
}

76
77
78
79
80
81
82
83
@mixin _assert-starts-at-zero($map) {
  $values: map-values($map);
  $first-value: nth($values, 1);
  @if $first-value != 0 {
    @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
  }
}

84

85
86
87
88
// General variable structure
//
// Variable format should follow the `$component-modifier-state-property` order.

Mark Otto's avatar
Mark Otto committed
89

Mark Otto's avatar
Mark Otto committed
90
// Colors
Mark Otto's avatar
Mark Otto committed
91
//
92
// Grayscale and brand colors for use across Bootstrap.
Mark Otto's avatar
Mark Otto committed
93

Mark Otto's avatar
Mark Otto committed
94
// Start with assigning color names to specific hex values.
95
96
$white:  #fff !default;
$black:  #000 !default;
Mark Otto's avatar
Mark Otto committed
97
98
99
100
101
102
103
104
105
106
$red:    #d9534f !default;
$orange: #f0ad4e !default;
$yellow: #ffd500 !default;
$green:  #5cb85c !default;
$blue:   #0275d8 !default;
$teal:   #5bc0de !default;
$pink:   #ff5b77 !default;
$purple: #613d7c !default;

// Create grayscale
107
108
109
$gray-dark:                 #292b2c !default;
$gray:                      #464a4c !default;
$gray-light:                #636c72 !default;
110
111
$gray-lighter:              #eceeef !default;
$gray-lightest:             #f7f7f9 !default;
Mark Otto's avatar
Mark Otto committed
112

Mark Otto's avatar
Mark Otto committed
113
114
115
116
117
118
// Reassign color vars to semantic color scheme
$brand-primary:             $blue !default;
$brand-success:             $green !default;
$brand-info:                $teal !default;
$brand-warning:             $orange !default;
$brand-danger:              $red !default;
119
$brand-inverse:             $gray-dark !default;
Mark Otto's avatar
Mark Otto committed
120
121


Mark Otto's avatar
Mark Otto committed
122
// Options
Mark Otto's avatar
Mark Otto committed
123
//
124
125
126
127
128
// Quickly modify global styling by enabling or disabling optional features.

$enable-rounded:            true !default;
$enable-shadows:            false !default;
$enable-gradients:          false !default;
129
$enable-transitions:        true !default;
130
$enable-hover-media-query:  false !default;
131
$enable-grid-classes:       true !default;
132
$enable-print-styles:       true !default;
133
134


Mark Otto's avatar
Mark Otto committed
135
// Spacing
136
137
138
//
// Control the default styling of most Bootstrap elements by modifying these
// variables. Mostly focused on spacing.
139
// You can add more entries to the $spacers map, should you need more variation.
140

Mark Otto's avatar
Mark Otto committed
141
$spacer: 1rem !default;
142
$spacers: (
Starsam80's avatar
Starsam80 committed
143
144
145
146
147
148
  0: 0,
  1: ($spacer * .25),
  2: ($spacer * .5),
  3: $spacer,
  4: ($spacer * 1.5),
  5: ($spacer * 3)
149
) !default;
150

151
152
153
154
155
156
157
// This variable affects the `.h-*` and `.w-*` classes.
$sizes: (
  25: 25%,
  50: 50%,
  75: 75%,
  100: 100%
) !default;
158

Mark Otto's avatar
Mark Otto committed
159
// Body
160
161
//
// Settings for the `<body>` element.
Mark Otto's avatar
Mark Otto committed
162

163
$body-bg:       $white !default;
164
$body-color:    $gray-dark !default;
165

Mark Otto's avatar
Mark Otto committed
166
// Links
167
168
//
// Style anchor elements.
Mark Otto's avatar
Mark Otto committed
169

Mark Otto's avatar
Mark Otto committed
170
171
172
173
$link-color:            $brand-primary !default;
$link-decoration:       none !default;
$link-hover-color:      darken($link-color, 15%) !default;
$link-hover-decoration: underline !default;
Mark Otto's avatar
Mark Otto committed
174
175


Mark Otto's avatar
Mark Otto committed
176
// Grid breakpoints
Mark Otto's avatar
Mark Otto committed
177
//
178
// Define the minimum dimensions at which your layout will change,
179
// adapting to different screen sizes, for use in media queries.
Mark Otto's avatar
Mark Otto committed
180

181
182
$grid-breakpoints: (
  xs: 0,
183
  sm: 576px,
184
185
186
  md: 768px,
  lg: 992px,
  xl: 1200px
187
) !default;
188
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
189
@include _assert-starts-at-zero($grid-breakpoints);
Mark Otto's avatar
Mark Otto committed
190

Mark Otto's avatar
Mark Otto committed
191

Mark Otto's avatar
Mark Otto committed
192
// Grid containers
Mark Otto's avatar
Mark Otto committed
193
//
194
// Define the maximum width of `.container` for different screen sizes.
Mark Otto's avatar
Mark Otto committed
195

196
$container-max-widths: (
197
  sm: 540px,
198
  md: 720px,
199
  lg: 960px,
200
  xl: 1140px
201
) !default;
202
@include _assert-ascending($container-max-widths, "$container-max-widths");
203
204


Mark Otto's avatar
Mark Otto committed
205
// Grid columns
206
207
208
//
// Set the number of columns and specify the width of the gutters.

Kovah's avatar
Kovah committed
209
210
211
212
213
214
215
216
217
$grid-columns:               12 !default;
$grid-gutter-width-base:     30px !default;
$grid-gutter-widths: (
  xs: $grid-gutter-width-base,
  sm: $grid-gutter-width-base,
  md: $grid-gutter-width-base,
  lg: $grid-gutter-width-base,
  xl: $grid-gutter-width-base
) !default;
218

Mark Otto's avatar
Mark Otto committed
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242

// Components
//
// Define common padding and border radius sizes and more.

$line-height-lg:         (4 / 3) !default;
$line-height-sm:         1.5 !default;

$border-width: 1px !default;

$border-radius:          .25rem !default;
$border-radius-lg:       .3rem !default;
$border-radius-sm:       .2rem !default;

$component-active-color: $white !default;
$component-active-bg:    $brand-primary !default;

$caret-width:            .3em !default;

$transition-base:        all .2s ease-in-out !default;
$transition-fade:        opacity .15s linear !default;
$transition-collapse:    height .35s ease !default;


Mark Otto's avatar
Mark Otto committed
243
// Fonts
Mark Otto's avatar
Mark Otto committed
244
//
245
// Font, line-height, and color for body text, headings, and more.
Mark Otto's avatar
Mark Otto committed
246

247
$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
248
$font-family-monospace:  Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
Mark Otto's avatar
Mark Otto committed
249
$font-family-base:       $font-family-sans-serif !default;
Mark Otto's avatar
Mark Otto committed
250

251
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
Mark Otto's avatar
Mark Otto committed
252
253
254
$font-size-lg:   1.25rem !default;
$font-size-sm:   .875rem !default;
$font-size-xs:   .75rem !default;
255

256
257
258
$font-weight-normal: normal !default;
$font-weight-bold: bold !default;

259
$font-weight-base: $font-weight-normal !default;
Mark Otto's avatar
Mark Otto committed
260
261
$line-height-base: 1.5 !default;

Mark Otto's avatar
Mark Otto committed
262
263
264
265
266
267
$font-size-h1: 2.5rem !default;
$font-size-h2: 2rem !default;
$font-size-h3: 1.75rem !default;
$font-size-h4: 1.5rem !default;
$font-size-h5: 1.25rem !default;
$font-size-h6: 1rem !default;
Mark Otto's avatar
Mark Otto committed
268

Mark Otto's avatar
Mark Otto committed
269
270
271
272
273
$headings-margin-bottom: ($spacer / 2) !default;
$headings-font-family:   inherit !default;
$headings-font-weight:   500 !default;
$headings-line-height:   1.1 !default;
$headings-color:         inherit !default;
Mark Otto's avatar
Mark Otto committed
274

275
276
277
278
279
280
281
282
283
284
285
$display1-size: 6rem !default;
$display2-size: 5.5rem !default;
$display3-size: 4.5rem !default;
$display4-size: 3.5rem !default;

$display1-weight:     300 !default;
$display2-weight:     300 !default;
$display3-weight:     300 !default;
$display4-weight:     300 !default;
$display-line-height: $headings-line-height !default;

Mark Otto's avatar
Mark Otto committed
286
287
$lead-font-size:   1.25rem !default;
$lead-font-weight: 300 !default;
Mark Otto's avatar
Mark Otto committed
288

289
290
$small-font-size: 80% !default;

Mark Otto's avatar
Mark Otto committed
291
$text-muted: $gray-light !default;
Mark Otto's avatar
Mark Otto committed
292

Mark Otto's avatar
Mark Otto committed
293
294
295
$blockquote-small-color:  $gray-light !default;
$blockquote-font-size:    ($font-size-base * 1.25) !default;
$blockquote-border-color: $gray-lighter !default;
296
$blockquote-border-width: .25rem !default;
Mark Otto's avatar
Mark Otto committed
297

298
$hr-border-color: rgba($black,.1) !default;
Mark Otto's avatar
Mark Otto committed
299
$hr-border-width: $border-width !default;
300

Chris Rebert's avatar
Chris Rebert committed
301
302
$mark-padding: .2em !default;

303
$dt-font-weight: $font-weight-bold !default;
304

305
$kbd-box-shadow:         inset 0 -.1rem 0 rgba($black,.25) !default;
306
$nested-kbd-font-weight: $font-weight-bold !default;
307

Mark Otto's avatar
Mark Otto committed
308
$list-inline-padding: 5px !default;
309

Mark Otto's avatar
Mark Otto committed
310

Mark Otto's avatar
Mark Otto committed
311
// Tables
Mark Otto's avatar
Mark Otto committed
312
//
313
// Customizes the `.table` component with basic values, each used across all table variations.
Mark Otto's avatar
Mark Otto committed
314

315
316
$table-cell-padding:            .75rem !default;
$table-sm-cell-padding:         .3rem !default;
Mark Otto's avatar
Mark Otto committed
317

318
$table-bg:                      transparent !default;
319
320
$table-bg-accent:               rgba($black,.05) !default;
$table-bg-hover:                rgba($black,.075) !default;
321
$table-bg-active:               $table-bg-hover !default;
Mark Otto's avatar
Mark Otto committed
322

Mark Otto's avatar
reorder    
Mark Otto committed
323
324
325
$table-border-width:            $border-width !default;
$table-border-color:            $gray-lighter !default;

326
327
328
$table-head-bg:                 $gray-lighter !default;
$table-head-color:              $gray !default;

Mark Otto's avatar
reorder    
Mark Otto committed
329
330
331
$table-inverse-bg:              $gray-dark !default;
$table-inverse-border:          lighten($gray-dark, 7.5%) !default;
$table-inverse-color:           $body-bg !default;
Mark Otto's avatar
Mark Otto committed
332
333


Mark Otto's avatar
Mark Otto committed
334
// Buttons
Mark Otto's avatar
Mark Otto committed
335
//
336
// For each of Bootstrap's buttons, define text, background and border color.
Mark Otto's avatar
Mark Otto committed
337

338
$btn-padding-x:                  1rem !default;
339
340
$btn-padding-y:                  .5rem !default;
$btn-line-height:                1.25 !default;
341
$btn-font-weight:                $font-weight-normal !default;
342
$btn-box-shadow:                 inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
343
$btn-focus-box-shadow:           0 0 0 2px rgba($brand-primary, .25) !default;
344
$btn-active-box-shadow:          inset 0 3px 5px rgba($black,.125) !default;
Mark Otto's avatar
Mark Otto committed
345

346
$btn-primary-color:              $white !default;
347
$btn-primary-bg:                 $brand-primary !default;
348
$btn-primary-border:             $btn-primary-bg !default;
Mark Otto's avatar
Mark Otto committed
349

350
$btn-secondary-color:            $gray-dark !default;
351
$btn-secondary-bg:               $white !default;
352
$btn-secondary-border:           #ccc !default;
Mark Otto's avatar
Mark Otto committed
353

354
$btn-info-color:                 $white !default;
355
$btn-info-bg:                    $brand-info !default;
356
$btn-info-border:                $btn-info-bg !default;
Mark Otto's avatar
Mark Otto committed
357

358
$btn-success-color:              $white !default;
359
$btn-success-bg:                 $brand-success !default;
360
$btn-success-border:             $btn-success-bg !default;
Mark Otto's avatar
Mark Otto committed
361

362
$btn-warning-color:              $white !default;
363
$btn-warning-bg:                 $brand-warning !default;
364
$btn-warning-border:             $btn-warning-bg !default;
Mark Otto's avatar
Mark Otto committed
365

366
$btn-danger-color:               $white !default;
367
$btn-danger-bg:                  $brand-danger !default;
368
$btn-danger-border:              $btn-danger-bg !default;
Mark Otto's avatar
Mark Otto committed
369

370
$btn-link-disabled-color:        $gray-light !default;
Mark Otto's avatar
Mark Otto committed
371

372
$btn-padding-x-sm:               .5rem !default;
373
$btn-padding-y-sm:               .25rem !default;
374

375
$btn-padding-x-lg:               1.5rem !default;
376
377
$btn-padding-y-lg:               .75rem !default;

378
379
$btn-block-spacing-y:            .5rem !default;

Mark Otto's avatar
Mark Otto committed
380
// Allows for customizing button radius independently from global border radius
381
382
383
$btn-border-radius:              $border-radius !default;
$btn-border-radius-lg:           $border-radius-lg !default;
$btn-border-radius-sm:           $border-radius-sm !default;
Mark Otto's avatar
Mark Otto committed
384

385
386
$btn-transition:                 all .2s ease-in-out !default;

Mark Otto's avatar
Mark Otto committed
387

Mark Otto's avatar
Mark Otto committed
388
// Forms
Mark Otto's avatar
Mark Otto committed
389

390
$input-padding-x:                .75rem !default;
391
392
$input-padding-y:                .5rem !default;
$input-line-height:              1.25 !default;
393

394
$input-bg:                       $white !default;
395
$input-bg-disabled:              $gray-lighter !default;
Mark Otto's avatar
Mark Otto committed
396

397
$input-color:                    $gray !default;
398
$input-border-color:             rgba($black,.15) !default;
399
$input-btn-border-width:         $border-width !default; // For form controls and buttons
400
$input-box-shadow:               inset 0 1px 1px rgba($black,.075) !default;
Mark Otto's avatar
Mark Otto committed
401

402
$input-border-radius:            $border-radius !default;
403
404
$input-border-radius-lg:         $border-radius-lg !default;
$input-border-radius-sm:         $border-radius-sm !default;
Mark Otto's avatar
Mark Otto committed
405

406
$input-bg-focus:                 $input-bg !default;
407
$input-border-focus:             lighten($brand-primary, 25%) !default;
408
$input-box-shadow-focus:         $input-box-shadow, rgba($input-border-focus, .6) !default;
409
$input-color-focus:              $input-color !default;
Mark Otto's avatar
Mark Otto committed
410

411
$input-color-placeholder:        $gray-light !default;
Mark Otto's avatar
Mark Otto committed
412

413
414
$input-padding-x-sm:             .5rem !default;
$input-padding-y-sm:             .25rem !default;
415

416
$input-padding-x-lg:             1.5rem !default;
417
418
$input-padding-y-lg:             .75rem !default;

419
$input-height:                   (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
420
421
$input-height-lg:                (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
$input-height-sm:                (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
Mark Otto's avatar
Mark Otto committed
422

423
424
$input-transition:               border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;

Mark Otto's avatar
Mark Otto committed
425
426
427
428
429
430
431
432
433
434
$form-text-margin-top:     .25rem !default;
$form-feedback-margin-top: $form-text-margin-top !default;

$form-check-margin-bottom:  .5rem !default;
$form-check-input-gutter:   1.25rem !default;
$form-check-input-margin-y: .25rem !default;
$form-check-input-margin-x: .25rem !default;

$form-check-inline-margin-x: .75rem !default;

Mark Otto's avatar
Mark Otto committed
435
$form-group-margin-bottom:       1rem !default;
Mark Otto's avatar
Mark Otto committed
436

437
$input-group-addon-bg:           $gray-lighter !default;
438
$input-group-addon-border-color: $input-border-color !default;
Mark Otto's avatar
Mark Otto committed
439

440
$cursor-disabled:                not-allowed !default;
Mark Otto's avatar
Mark Otto committed
441

442
443
444
445
446
447
448
$custom-control-gutter:   1.5rem !default;
$custom-control-spacer-x: 1rem !default;
$custom-control-spacer-y: .25rem !default;

$custom-control-indicator-size:       1rem !default;
$custom-control-indicator-bg:         #ddd !default;
$custom-control-indicator-bg-size:    50% 50% !default;
449
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
450
451

$custom-control-disabled-cursor:             $cursor-disabled !default;
452
453
$custom-control-disabled-indicator-bg:       $gray-lighter !default;
$custom-control-disabled-description-color:  $gray-light !default;
454

455
$custom-control-checked-indicator-color:      $white !default;
456
$custom-control-checked-indicator-bg:         $brand-primary !default;
457
458
$custom-control-checked-indicator-box-shadow: none !default;

Mark Otto's avatar
Mark Otto committed
459
$custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
460

461
$custom-control-active-indicator-color:      $white !default;
462
$custom-control-active-indicator-bg:         lighten($brand-primary, 35%) !default;
463
464
465
$custom-control-active-indicator-box-shadow: none !default;

$custom-checkbox-radius: $border-radius !default;
466
$custom-checkbox-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
467

468
$custom-checkbox-indeterminate-bg: $brand-primary !default;
469
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
470
$custom-checkbox-indeterminate-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
471
472
473
$custom-checkbox-indeterminate-box-shadow: none !default;

$custom-radio-radius: 50% !default;
474
$custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
475
476
477

$custom-select-padding-x:          .75rem  !default;
$custom-select-padding-y:          .375rem !default;
478
$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator
479
$custom-select-line-height:         $input-line-height !default;
480
481
$custom-select-color:               $input-color !default;
$custom-select-disabled-color:      $gray-light !default;
482
$custom-select-bg:            $white !default;
483
$custom-select-disabled-bg:   $gray-lighter !default;
484
$custom-select-bg-size:       8px 10px !default; // In pixels because image dimensions
485
$custom-select-indicator-color: #333 !default;
486
$custom-select-indicator:     str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
487
488
489
490
$custom-select-border-width:  $input-btn-border-width !default;
$custom-select-border-color:  $input-border-color !default;
$custom-select-border-radius: $border-radius !default;

491
$custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
492
$custom-select-focus-box-shadow:   inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
493

494
$custom-select-sm-font-size:  75% !default;
495

496
497
$custom-file-height:           2.5rem !default;
$custom-file-width:            14rem !default;
498
$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
499
500
501
502

$custom-file-padding-x:     .5rem !default;
$custom-file-padding-y:     1rem !default;
$custom-file-line-height:   1.5 !default;
503
$custom-file-color:         $gray !default;
504
$custom-file-bg:            $white !default;
505
$custom-file-border-width:  $border-width !default;
506
$custom-file-border-color:  $input-border-color !default;
507
$custom-file-border-radius: $border-radius !default;
508
$custom-file-box-shadow:    inset 0 .2rem .4rem rgba($black,.05) !default;
509
$custom-file-button-color:  $custom-file-color !default;
510
$custom-file-button-bg:     $gray-lighter !default;
511
512
513
514
515
516
517
518
$custom-file-text: (
  placeholder: (
    en: "Choose file..."
  ),
  button-label: (
    en: "Browse"
  )
) !default;
519
520


521
// Form validation icons
522
$form-icon-success-color: $brand-success !default;
523
$form-icon-success: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"), "#", "%23") !default;
524
525

$form-icon-warning-color: $brand-warning !default;
526
$form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
527
528

$form-icon-danger-color: $brand-danger !default;
Mark Otto's avatar
Mark Otto committed
529
$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='#{$form-icon-danger-color}' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
530

Mark Otto's avatar
Mark Otto committed
531

Mark Otto's avatar
Mark Otto committed
532
// Dropdowns
Mark Otto's avatar
Mark Otto committed
533
//
534
// Dropdown menu container and contents.
Mark Otto's avatar
Mark Otto committed
535

Mark Otto's avatar
Mark Otto committed
536
537
538
$dropdown-min-width:             10rem !default;
$dropdown-padding-y:             .5rem !default;
$dropdown-margin-top:            .125rem !default;
539
540
$dropdown-bg:                    $white !default;
$dropdown-border-color:          rgba($black,.15) !default;
541
$dropdown-border-width:          $border-width !default;
542
$dropdown-divider-bg:            $gray-lighter !default;
543
$dropdown-box-shadow:            0 .5rem 1rem rgba($black,.175) !default;
Mark Otto's avatar
Mark Otto committed
544

545
546
$dropdown-link-color:            $gray-dark !default;
$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;
547
$dropdown-link-hover-bg:         $gray-lightest !default;
Mark Otto's avatar
Mark Otto committed
548

549
550
$dropdown-link-active-color:     $component-active-color !default;
$dropdown-link-active-bg:        $component-active-bg !default;
Mark Otto's avatar
Mark Otto committed
551

552
$dropdown-link-disabled-color:   $gray-light !default;
Mark Otto's avatar
Mark Otto committed
553

Mark Otto's avatar
Mark Otto committed
554
$dropdown-item-padding-x:        1.5rem !default;
555

556
$dropdown-header-color:          $gray-light !default;
Mark Otto's avatar
Mark Otto committed
557
558


Mark Otto's avatar
Mark Otto committed
559
// Z-index master list
Mark Otto's avatar
Mark Otto committed
560
561
562
563
//
// Warning: Avoid customizing these values. They're used for a bird's eye view
// of components dependent on the z-axis and are designed to all work together.

564
$zindex-dropdown-backdrop:  990 !default;
565
$zindex-dropdown:           1000 !default;
Catalin Zalog's avatar
Catalin Zalog committed
566
$zindex-sticky:             1020 !default;
567
568
569
570
571
$zindex-fixed:              1030 !default;
$zindex-modal-backdrop:     1040 !default;
$zindex-modal:              1050 !default;
$zindex-popover:            1060 !default;
$zindex-tooltip:            1070 !default;
Mark Otto's avatar
Mark Otto committed
572

Mark Otto's avatar
Mark Otto committed
573
// Navbar
Mark Otto's avatar
Mark Otto committed
574

575
576
$navbar-padding-x:                  $spacer !default;
$navbar-padding-y:                  ($spacer / 2) !default;
Mark Otto's avatar
Mark Otto committed
577

578
$navbar-toggler-padding-x:           .75rem !default;
Mark Otto's avatar
Mark Otto committed
579
$navbar-toggler-padding-y:           .25rem !default;
Mark Otto's avatar
Mark Otto committed
580
581
$navbar-toggler-font-size:           $font-size-lg !default;
$navbar-toggler-border-radius:       $btn-border-radius !default;
582

583
584
585
586
$navbar-inverse-color:                 rgba($white,.5) !default;
$navbar-inverse-hover-color:           rgba($white,.75) !default;
$navbar-inverse-active-color:          rgba($white,1) !default;
$navbar-inverse-disabled-color:        rgba($white,.25) !default;
587
$navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
588
$navbar-inverse-toggler-border:        rgba($white,.1) !default;
589

590
591
592
593
$navbar-light-color:                rgba($black,.5) !default;
$navbar-light-hover-color:          rgba($black,.7) !default;
$navbar-light-active-color:         rgba($black,.9) !default;
$navbar-light-disabled-color:       rgba($black,.3) !default;
594
$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
595
$navbar-light-toggler-border:       rgba($black,.1) !default;
Mark Otto's avatar
Mark Otto committed
596

Quy's avatar
Quy committed
597
// Navs
Mark Otto's avatar
Mark Otto committed
598

Mark Otto's avatar
Mark Otto committed
599
600
601
602
603
$nav-link-padding:              .5em 1em !default;
$nav-disabled-link-color:       $gray-light !default;

$nav-tabs-border-color:                       #ddd !default;
$nav-tabs-border-width:                       $border-width !default;
604
$nav-tabs-border-radius:                      $border-radius !default;
Mark Otto's avatar
Mark Otto committed
605
$nav-tabs-link-hover-border-color:            $gray-lighter !default;
606
607
608
$nav-tabs-active-link-color:                  $gray !default;
$nav-tabs-active-link-bg:                     $body-bg !default;
$nav-tabs-active-link-border-color:           #ddd !default;
Mark Otto's avatar
Mark Otto committed
609

610
611
612
$nav-pills-border-radius:     $border-radius !default;
$nav-pills-active-link-color: $component-active-color !default;
$nav-pills-active-link-bg:    $component-active-bg !default;
Mark Otto's avatar
Mark Otto committed
613
614


Mark Otto's avatar
Mark Otto committed
615
// Pagination
Mark Otto's avatar
Mark Otto committed
616

617
618
$pagination-padding-x:                .75rem !default;
$pagination-padding-y:                .5rem !default;
619
620
$pagination-padding-x-sm:             .5rem !default;
$pagination-padding-y-sm:             .25rem !default;
621
622
$pagination-padding-x-lg:             1.5rem !default;
$pagination-padding-y-lg:             .75rem !default;
623
$pagination-line-height:              1.25 !default;
624

625
$pagination-color:                     $link-color !default;
626
$pagination-bg:                        $white !default;
627
$pagination-border-width:              $border-width !default;
628
$pagination-border-color:              #ddd !default;
Mark Otto's avatar
Mark Otto committed
629

630
631
632
$pagination-hover-color:               $link-hover-color !default;
$pagination-hover-bg:                  $gray-lighter !default;
$pagination-hover-border:              #ddd !default;
Mark Otto's avatar
Mark Otto committed
633

634
$pagination-active-color:              $white !default;
635
636
$pagination-active-bg:                 $brand-primary !default;
$pagination-active-border:             $brand-primary !default;
Mark Otto's avatar
Mark Otto committed
637

638
$pagination-disabled-color:            $gray-light !default;
639
$pagination-disabled-bg:               $white !default;
640
$pagination-disabled-border:           #ddd !default;
Mark Otto's avatar
Mark Otto committed
641
642


Mark Otto's avatar
Mark Otto committed
643
// Jumbotron
Mark Otto's avatar
Mark Otto committed
644

645
646
$jumbotron-padding:              2rem !default;
$jumbotron-bg:                   $gray-lighter !default;
Mark Otto's avatar
Mark Otto committed
647
648


Mark Otto's avatar
Mark Otto committed
649
// Form states and alerts
Mark Otto's avatar
Mark Otto committed
650
//
651
// Define colors for form feedback states and, by default, alerts.
Mark Otto's avatar
Mark Otto committed
652

653
654
655
$state-success-text:             #3c763d !default;
$state-success-bg:               #dff0d8 !default;
$state-success-border:           darken($state-success-bg, 5%) !default;
Mark Otto's avatar
Mark Otto committed
656

657
658
659
$state-info-text:                #31708f !default;
$state-info-bg:                  #d9edf7 !default;
$state-info-border:              darken($state-info-bg, 7%) !default;
Mark Otto's avatar
Mark Otto committed
660

661
662
$state-warning-text:             #8a6d3b !default;
$state-warning-bg:               #fcf8e3 !default;
663
$mark-bg:                        $state-warning-bg !default;
664
$state-warning-border:           darken($state-warning-bg, 5%) !default;
Mark Otto's avatar
Mark Otto committed
665

666
667
668
$state-danger-text:              #a94442 !default;
$state-danger-bg:                #f2dede !default;
$state-danger-border:            darken($state-danger-bg, 5%) !default;
Mark Otto's avatar
Mark Otto committed
669
670


Mark Otto's avatar
Mark Otto committed
671
// Cards
Quy's avatar
Quy committed
672

673
674
$card-spacer-x:            1.25rem !default;
$card-spacer-y:            .75rem !default;
675
$card-border-width:        1px !default;
676
$card-border-radius:       $border-radius !default;
677
$card-border-color:        rgba($black,.125) !default;
678
$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
679
$card-cap-bg:              $gray-lightest !default;
680
$card-bg:                  $white !default;
681

682
$card-link-hover-color:    $white !default;
683

684
685
$card-img-overlay-padding: 1.25rem !default;

686
$card-deck-margin:          ($grid-gutter-width-base / 2) !default;
687

Mark Otto's avatar
Mark Otto committed
688
$card-columns-count:        3 !default;
Mark Otto's avatar
Mark Otto committed
689
$card-columns-gap:          1.25rem !default;
690
$card-columns-margin:       $card-spacer-y !default;
691

692

Mark Otto's avatar
Mark Otto committed
693
// Tooltips
Mark Otto's avatar
Mark Otto committed
694

695
$tooltip-max-width:           200px !default;
696
697
$tooltip-color:               $white !default;
$tooltip-bg:                  $black !default;
698
$tooltip-opacity:             .9 !default;
699
700
701
$tooltip-padding-y:           3px !default;
$tooltip-padding-x:           8px !default;
$tooltip-margin:              3px !default;
Mark Otto's avatar
Mark Otto committed
702

703
704
$tooltip-arrow-width:         5px !default;
$tooltip-arrow-color:         $tooltip-bg !default;
Mark Otto's avatar
Mark Otto committed
705
706


Mark Otto's avatar
Mark Otto committed
707
// Popovers
Mark Otto's avatar
Mark Otto committed
708

709
$popover-inner-padding:               1px !default;
710
$popover-bg:                          $white !default;
711
$popover-max-width:                   276px !default;
712
$popover-border-width:                $border-width !default;
713
714
$popover-border-color:                rgba($black,.2) !default;
$popover-box-shadow:                  0 5px 10px rgba($black,.2) !default;
Mark Otto's avatar
Mark Otto committed
715

716
$popover-title-bg:                    darken($popover-bg, 3%) !default;
717
718
719
720
721
$popover-title-padding-x:             14px !default;
$popover-title-padding-y:             8px !default;

$popover-content-padding-x:           14px !default;
$popover-content-padding-y:           9px !default;
Mark Otto's avatar
Mark Otto committed
722

723
724
$popover-arrow-width:                 10px !default;
$popover-arrow-color:                 $popover-bg !default;
Mark Otto's avatar
Mark Otto committed
725

726
$popover-arrow-outer-width:           ($popover-arrow-width + 1px) !default;
Mark Otto's avatar
linter    
Mark Otto committed
727
$popover-arrow-outer-color:           fade-in($popover-border-color, .05) !default;
Mark Otto's avatar
Mark Otto committed
728
729


Mark Otto's avatar
Mark Otto committed
730
// Badges
Mark Otto's avatar
Mark Otto committed
731

732
733
734
735
736
737
738
$badge-default-bg:            $gray-light !default;
$badge-primary-bg:            $brand-primary !default;
$badge-success-bg:            $brand-success !default;
$badge-info-bg:               $brand-info !default;
$badge-warning-bg:            $brand-warning !default;
$badge-danger-bg:             $brand-danger !default;

739
740
$badge-color:                 $white !default;
$badge-link-hover-color:      $white !default;
741
742
743
744
745
746
$badge-font-size:             75% !default;
$badge-font-weight:           $font-weight-bold !default;
$badge-padding-x:             .4em !default;
$badge-padding-y:             .25em !default;

$badge-pill-padding-x:        .6em !default;
747
748
// Use a higher than normal value to ensure completely rounded edges when
// customizing padding or font-size on labels.
749
$badge-pill-border-radius:    10rem !default;
Mark Otto's avatar
Mark Otto committed
750

751

Mark Otto's avatar
Mark Otto committed
752
// Modals
Mark Otto's avatar
Mark Otto committed
753

754
// Padding applied to the modal body
755
$modal-inner-padding:         15px !default;
Mark Otto's avatar
Mark Otto committed
756

757
$modal-dialog-margin:         10px !default;
758
$modal-dialog-sm-up-margin-y: 30px !default;
759

Mark Otto's avatar
Mark Otto committed
760
$modal-title-line-height:     $line-height-base !default;
Mark Otto's avatar
Mark Otto committed
761

762
763
$modal-content-bg:               $white !default;
$modal-content-border-color:     rgba($black,.2) !default;
764
$modal-content-border-width:     $border-width !default;
765
766
$modal-content-xs-box-shadow:    0 3px 9px rgba($black,.5) !default;
$modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
Mark Otto's avatar
Mark Otto committed
767

768
$modal-backdrop-bg:           $black !default;
769
$modal-backdrop-opacity:      .5 !default;
Mark Otto's avatar
Mark Otto committed
770
$modal-header-border-color:   $gray-lighter !default;
771
$modal-footer-border-color:   $modal-header-border-color !default;
772
$modal-header-border-width:   $modal-content-border-width !default;
773
$modal-footer-border-width:   $modal-header-border-width !default;
774
$modal-header-padding:        15px !default;
Mark Otto's avatar
Mark Otto committed
775

776
777
$modal-lg:                    800px !default;
$modal-md:                    500px !default;
778
$modal-sm:                    300px !default;
Mark Otto's avatar
Mark Otto committed
779

780
781
$modal-transition:            transform .3s ease-out !default;

Mark Otto's avatar
Mark Otto committed
782

Mark Otto's avatar
Mark Otto committed
783
// Alerts
Mark Otto's avatar
Mark Otto committed
784
//
785
// Define alert colors, border radius, and padding.
Mark Otto's avatar
Mark Otto committed
786

787
788
$alert-padding-x:             1.25rem !default;
$alert-padding-y:             .75rem !default;
Mark Otto's avatar
Mark Otto committed
789
$alert-margin-bottom:         1rem !default;
790
$alert-border-radius:         $border-radius !default;
791
$alert-link-font-weight:      $font-weight-bold !default;
792
$alert-border-width:          $border-width !default;
Mark Otto's avatar
Mark Otto committed
793

794
795
796
$alert-success-bg:            $state-success-bg !default;
$alert-success-text:          $state-success-text !default;
$alert-success-border:        $state-success-border !default;
Mark Otto's avatar
Mark Otto committed
797

798
799
800
$alert-info-bg:               $state-info-bg !default;
$alert-info-text:             $state-info-text !default;
$alert-info-border:           $state-info-border !default;
Mark Otto's avatar
Mark Otto committed
801

802
803
804
$alert-warning-bg:            $state-warning-bg !default;
$alert-warning-text:          $state-warning-text !default;
$alert-warning-border:        $state-warning-border !default;
Mark Otto's avatar
Mark Otto committed
805

806
807
808
$alert-danger-bg:             $state-danger-bg !default;
$alert-danger-text:           $state-danger-text !default;
$alert-danger-border:         $state-danger-border !default;
Mark Otto's avatar
Mark Otto committed
809
810


Mark Otto's avatar
Mark Otto committed
811
// Progress bars
Mark Otto's avatar
Mark Otto committed
812

813
814
815
816
817
818
819
820
$progress-height:               1rem !default;
$progress-font-size:            .75rem !default;
$progress-bg:                   $gray-lighter !default;
$progress-border-radius:        $border-radius !default;
$progress-box-shadow:           inset 0 .1rem .1rem rgba($black,.1) !default;
$progress-bar-color:            $white !default;
$progress-bar-bg:               $brand-primary !default;
$progress-bar-animation-timing: 1s linear infinite !default;
Mark Otto's avatar
Mark Otto committed
821

Mark Otto's avatar
Mark Otto committed
822
// List group
Mark Otto's avatar
Mark Otto committed
823

824
825
826
827
828
$list-group-color:               $body-color !default;
$list-group-bg:                  $white !default;
$list-group-border-color:        rgba($black,.125) !default;
$list-group-border-width:        $border-width !default;
$list-group-border-radius:       $border-radius !default;
Mark Otto's avatar
Mark Otto committed
829

830
831
832
833
834
835
836
$list-group-item-padding-x:      1.25rem !default;
$list-group-item-padding-y:      .75rem !default;

$list-group-hover-bg:            $gray-lightest !default;
$list-group-active-color:        $component-active-color !default;
$list-group-active-bg:           $component-active-bg !default;
$list-group-active-border:       $list-group-active-bg !default;
Mark Otto's avatar
Mark Otto committed
837

838
$list-group-disabled-color:      $gray-light !default;
839
$list-group-disabled-bg:         $list-group-bg !default;
Mark Otto's avatar
Mark Otto committed
840

841
842
$list-group-link-color:          $gray !default;
$list-group-link-hover-color:    $list-group-link-color !default;
Mark Otto's avatar
Mark Otto committed
843

844
845
$list-group-link-active-color:   $list-group-color !default;
$list-group-link-active-bg:      $gray-lighter !default;
846

Mark Otto's avatar
Mark Otto committed
847

Mark Otto's avatar
Mark Otto committed
848
// Image thumbnails
Mark Otto's avatar
Mark Otto committed
849

850
851
$thumbnail-padding:           .25rem !default;
$thumbnail-bg:                $body-bg !default;
852
$thumbnail-border-width:      $border-width !default;
853
$thumbnail-border-color:      #ddd !default;
854
$thumbnail-border-radius:     $border-radius !default;
855
$thumbnail-box-shadow:        0 1px 2px rgba($black,.075) !default;
856
$thumbnail-transition:        all .2s ease-in-out !default;
Mark Otto's avatar
Mark Otto committed
857
858


Mark Otto's avatar
Mark Otto committed
859
// Figures
860
861

$figure-caption-font-size: 90% !default;
862
$figure-caption-color:     $gray-light !default;
863
864


Mark Otto's avatar
Mark Otto committed
865
// Breadcrumbs
Mark Otto's avatar
Mark Otto committed
866

867
868
869
$breadcrumb-padding-y:          .75rem !default;
$breadcrumb-padding-x:          1rem !default;
$breadcrumb-item-padding:       .5rem !default;
Mark Otto's avatar
Mark Otto committed
870

871
872
873
874
$breadcrumb-bg:                 $gray-lighter !default;
$breadcrumb-divider-color:      $gray-light !default;
$breadcrumb-active-color:       $gray-light !default;
$breadcrumb-divider:            "/" !default;
Mark Otto's avatar
Mark Otto committed
875
876


Mark Otto's avatar
Mark Otto committed
877
// Carousel
Mark Otto's avatar
Mark Otto committed
878

879
$carousel-control-color:                      $white !default;
880
881
$carousel-control-width:                      15% !default;
$carousel-control-opacity:                    .5 !default;
Mark Otto's avatar
Mark Otto committed
882

Mark Otto's avatar
Mark Otto committed
883
884
$carousel-indicator-width:                    30px !default;
$carousel-indicator-height:                   3px !default;
Mark Otto's avatar
Mark Otto committed
885
$carousel-indicator-spacer:                   3px !default;
886
$carousel-indicator-active-bg:                $white !default;
Mark Otto's avatar
Mark Otto committed
887

888
$carousel-caption-width:                      70% !default;
889
$carousel-caption-color:                      $white !default;
Mark Otto's avatar
Mark Otto committed
890

Mark Otto's avatar
Mark Otto committed
891
$carousel-control-icon-width:                 20px !default;
892

893
894
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
895

896
897
$carousel-transition:           transform .6s ease-in-out !default;

Mark Otto's avatar
Mark Otto committed
898

Mark Otto's avatar
Mark Otto committed
899
// Close
Mark Otto's avatar
Mark Otto committed
900

901
$close-font-size:             $font-size-base * 1.5 !default;
902
$close-font-weight:           $font-weight-bold !default;
903
904
$close-color:                 $black !default;
$close-text-shadow:           0 1px 0 $white !default;
Mark Otto's avatar
Mark Otto committed
905

Mark Otto's avatar
Mark Otto committed
906
// Code
Mark Otto's avatar
Mark Otto committed
907

908
$code-font-size:              90% !default;
909
910
$code-padding-x:              .4rem !default;
$code-padding-y:              .2rem !default;
Mark Otto's avatar
Mark Otto committed
911
$code-color:                  #bd4147 !default;
912
$code-bg:                     $gray-lightest !default;
Mark Otto's avatar
Mark Otto committed
913

914
$kbd-color:                   $white !default;
915
$kbd-bg:                      $gray-dark !default;
Mark Otto's avatar
Mark Otto committed
916

917
918
$pre-color:                   $gray-dark !default;
$pre-scrollable-max-height:   340px !default;