_variables.scss 34 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
$table-inverse-bg:              $gray-dark !default;
330
331
332
$table-inverse-bg-accent:       rgba($white, .05) !default;
$table-inverse-bg-hover:        rgba($white, .075) !default;
$table-inverse-bg-active:       $table-inverse-bg-hover !default;
Mark Otto's avatar
reorder    
Mark Otto committed
333
334
$table-inverse-border:          lighten($gray-dark, 7.5%) !default;
$table-inverse-color:           $body-bg !default;
Mark Otto's avatar
Mark Otto committed
335
336


Mark Otto's avatar
Mark Otto committed
337
// Buttons
Mark Otto's avatar
Mark Otto committed
338
//
339
// For each of Bootstrap's buttons, define text, background and border color.
Mark Otto's avatar
Mark Otto committed
340

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

349
$btn-primary-color:              $white !default;
350
$btn-primary-bg:                 $brand-primary !default;
351
$btn-primary-border:             $btn-primary-bg !default;
Mark Otto's avatar
Mark Otto committed
352

353
$btn-secondary-color:            $gray-dark !default;
354
$btn-secondary-bg:               $white !default;
355
$btn-secondary-border:           #ccc !default;
Mark Otto's avatar
Mark Otto committed
356

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

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

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

369
$btn-danger-color:               $white !default;
370
$btn-danger-bg:                  $brand-danger !default;
371
$btn-danger-border:              $btn-danger-bg !default;
Mark Otto's avatar
Mark Otto committed
372

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

375
$btn-padding-x-sm:               .5rem !default;
376
$btn-padding-y-sm:               .25rem !default;
377

378
$btn-padding-x-lg:               1.5rem !default;
379
380
$btn-padding-y-lg:               .75rem !default;

381
382
$btn-block-spacing-y:            .5rem !default;

Mark Otto's avatar
Mark Otto committed
383
// Allows for customizing button radius independently from global border radius
384
385
386
$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
387

388
389
$btn-transition:                 all .2s ease-in-out !default;

Mark Otto's avatar
Mark Otto committed
390

Mark Otto's avatar
Mark Otto committed
391
// Forms
Mark Otto's avatar
Mark Otto committed
392

393
$input-padding-x:                .75rem !default;
394
395
$input-padding-y:                .5rem !default;
$input-line-height:              1.25 !default;
396

397
$input-bg:                       $white !default;
398
$input-bg-disabled:              $gray-lighter !default;
Mark Otto's avatar
Mark Otto committed
399

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

405
$input-border-radius:            $border-radius !default;
406
407
$input-border-radius-lg:         $border-radius-lg !default;
$input-border-radius-sm:         $border-radius-sm !default;
Mark Otto's avatar
Mark Otto committed
408

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

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

416
417
$input-padding-x-sm:             .5rem !default;
$input-padding-y-sm:             .25rem !default;
418

419
$input-padding-x-lg:             1.5rem !default;
420
421
$input-padding-y-lg:             .75rem !default;

422
$input-height:                   (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
423
424
$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
425

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

Mark Otto's avatar
Mark Otto committed
428
429
430
431
432
433
434
435
436
437
$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
438
$form-group-margin-bottom:       1rem !default;
Mark Otto's avatar
Mark Otto committed
439

440
$input-group-addon-bg:           $gray-lighter !default;
441
$input-group-addon-border-color: $input-border-color !default;
Mark Otto's avatar
Mark Otto committed
442

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

445
446
447
448
449
450
451
$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;
452
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
453
454

$custom-control-disabled-cursor:             $cursor-disabled !default;
455
456
$custom-control-disabled-indicator-bg:       $gray-lighter !default;
$custom-control-disabled-description-color:  $gray-light !default;
457

458
$custom-control-checked-indicator-color:      $white !default;
459
$custom-control-checked-indicator-bg:         $brand-primary !default;
460
461
$custom-control-checked-indicator-box-shadow: none !default;

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

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

$custom-checkbox-radius: $border-radius !default;
469
$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;
470

471
$custom-checkbox-indeterminate-bg: $brand-primary !default;
472
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
473
$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;
474
475
476
$custom-checkbox-indeterminate-box-shadow: none !default;

$custom-radio-radius: 50% !default;
477
$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;
478
479
480

$custom-select-padding-x:          .75rem  !default;
$custom-select-padding-y:          .375rem !default;
481
$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator
482
$custom-select-line-height:         $input-line-height !default;
483
484
$custom-select-color:               $input-color !default;
$custom-select-disabled-color:      $gray-light !default;
485
$custom-select-bg:            $white !default;
486
$custom-select-disabled-bg:   $gray-lighter !default;
487
$custom-select-bg-size:       8px 10px !default; // In pixels because image dimensions
488
$custom-select-indicator-color: #333 !default;
489
$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;
490
491
492
493
$custom-select-border-width:  $input-btn-border-width !default;
$custom-select-border-color:  $input-border-color !default;
$custom-select-border-radius: $border-radius !default;

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

497
$custom-select-sm-font-size:  75% !default;
498

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

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


524
// Form validation icons
525
$form-icon-success-color: $brand-success !default;
526
$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;
527
528

$form-icon-warning-color: $brand-warning !default;
529
$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;
530
531

$form-icon-danger-color: $brand-danger !default;
Mark Otto's avatar
Mark Otto committed
532
$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;
533

Mark Otto's avatar
Mark Otto committed
534

Mark Otto's avatar
Mark Otto committed
535
// Dropdowns
Mark Otto's avatar
Mark Otto committed
536
//
537
// Dropdown menu container and contents.
Mark Otto's avatar
Mark Otto committed
538

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

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

552
553
$dropdown-link-active-color:     $component-active-color !default;
$dropdown-link-active-bg:        $component-active-bg !default;
Mark Otto's avatar
Mark Otto committed
554

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

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

559
$dropdown-header-color:          $gray-light !default;
Mark Otto's avatar
Mark Otto committed
560
561


Mark Otto's avatar
Mark Otto committed
562
// Z-index master list
Mark Otto's avatar
Mark Otto committed
563
564
565
566
//
// 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.

567
$zindex-dropdown-backdrop:  990 !default;
568
$zindex-dropdown:           1000 !default;
Catalin Zalog's avatar
Catalin Zalog committed
569
$zindex-sticky:             1020 !default;
570
571
572
573
574
$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
575

Mark Otto's avatar
Mark Otto committed
576
// Navbar
Mark Otto's avatar
Mark Otto committed
577

578
579
$navbar-padding-x:                  $spacer !default;
$navbar-padding-y:                  ($spacer / 2) !default;
Mark Otto's avatar
Mark Otto committed
580

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

586
587
588
589
$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;
590
$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;
591
$navbar-inverse-toggler-border:        rgba($white,.1) !default;
592

593
594
595
596
$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;
597
$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;
598
$navbar-light-toggler-border:       rgba($black,.1) !default;
Mark Otto's avatar
Mark Otto committed
599

Quy's avatar
Quy committed
600
// Navs
Mark Otto's avatar
Mark Otto committed
601

Mark Otto's avatar
Mark Otto committed
602
603
604
605
606
$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;
607
$nav-tabs-border-radius:                      $border-radius !default;
Mark Otto's avatar
Mark Otto committed
608
$nav-tabs-link-hover-border-color:            $gray-lighter !default;
609
610
611
$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
612

613
614
615
$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
616
617


Mark Otto's avatar
Mark Otto committed
618
// Pagination
Mark Otto's avatar
Mark Otto committed
619

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

628
$pagination-color:                     $link-color !default;
629
$pagination-bg:                        $white !default;
630
$pagination-border-width:              $border-width !default;
631
$pagination-border-color:              #ddd !default;
Mark Otto's avatar
Mark Otto committed
632

633
634
635
$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
636

637
$pagination-active-color:              $white !default;
638
639
$pagination-active-bg:                 $brand-primary !default;
$pagination-active-border:             $brand-primary !default;
Mark Otto's avatar
Mark Otto committed
640

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


Mark Otto's avatar
Mark Otto committed
646
// Jumbotron
Mark Otto's avatar
Mark Otto committed
647

648
649
$jumbotron-padding:              2rem !default;
$jumbotron-bg:                   $gray-lighter !default;
Mark Otto's avatar
Mark Otto committed
650
651


Mark Otto's avatar
Mark Otto committed
652
// Form states and alerts
Mark Otto's avatar
Mark Otto committed
653
//
654
// Define colors for form feedback states and, by default, alerts.
Mark Otto's avatar
Mark Otto committed
655

656
657
658
$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
659

660
661
662
$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
663

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

669
670
671
$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
672
673


Mark Otto's avatar
Mark Otto committed
674
// Cards
Quy's avatar
Quy committed
675

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

685
$card-link-hover-color:    $white !default;
686

687
688
$card-img-overlay-padding: 1.25rem !default;

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

Mark Otto's avatar
Mark Otto committed
691
$card-columns-count:        3 !default;
Mark Otto's avatar
Mark Otto committed
692
$card-columns-gap:          1.25rem !default;
693
$card-columns-margin:       $card-spacer-y !default;
694

695

Mark Otto's avatar
Mark Otto committed
696
// Tooltips
Mark Otto's avatar
Mark Otto committed
697

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

706
707
$tooltip-arrow-width:         5px !default;
$tooltip-arrow-color:         $tooltip-bg !default;
Mark Otto's avatar
Mark Otto committed
708
709


Mark Otto's avatar
Mark Otto committed
710
// Popovers
Mark Otto's avatar
Mark Otto committed
711

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

719
$popover-title-bg:                    darken($popover-bg, 3%) !default;
720
721
722
723
724
$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
725

726
727
$popover-arrow-width:                 10px !default;
$popover-arrow-color:                 $popover-bg !default;
Mark Otto's avatar
Mark Otto committed
728

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


Mark Otto's avatar
Mark Otto committed
733
// Badges
Mark Otto's avatar
Mark Otto committed
734

735
736
737
738
739
740
741
$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;

742
743
$badge-color:                 $white !default;
$badge-link-hover-color:      $white !default;
744
745
746
747
748
749
$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;
750
751
// Use a higher than normal value to ensure completely rounded edges when
// customizing padding or font-size on labels.
752
$badge-pill-border-radius:    10rem !default;
Mark Otto's avatar
Mark Otto committed
753

754

Mark Otto's avatar
Mark Otto committed
755
// Modals
Mark Otto's avatar
Mark Otto committed
756

757
// Padding applied to the modal body
758
$modal-inner-padding:         15px !default;
Mark Otto's avatar
Mark Otto committed
759

760
$modal-dialog-margin:         10px !default;
761
$modal-dialog-sm-up-margin-y: 30px !default;
762

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

765
766
$modal-content-bg:               $white !default;
$modal-content-border-color:     rgba($black,.2) !default;
767
$modal-content-border-width:     $border-width !default;
768
769
$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
770

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

779
780
$modal-lg:                    800px !default;
$modal-md:                    500px !default;
781
$modal-sm:                    300px !default;
Mark Otto's avatar
Mark Otto committed
782

783
784
$modal-transition:            transform .3s ease-out !default;

Mark Otto's avatar
Mark Otto committed
785

Mark Otto's avatar
Mark Otto committed
786
// Alerts
Mark Otto's avatar
Mark Otto committed
787
//
788
// Define alert colors, border radius, and padding.
Mark Otto's avatar
Mark Otto committed
789

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

797
798
799
$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
800

801
802
803
$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
804

805
806
807
$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
808

809
810
811
$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
812
813


Mark Otto's avatar
Mark Otto committed
814
// Progress bars
Mark Otto's avatar
Mark Otto committed
815

816
817
818
819
820
821
822
823
$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
824

Mark Otto's avatar
Mark Otto committed
825
// List group
Mark Otto's avatar
Mark Otto committed
826

827
828
829
830
831
$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
832

833
834
835
836
837
838
839
$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
840

841
$list-group-disabled-color:      $gray-light !default;
842
$list-group-disabled-bg:         $list-group-bg !default;
Mark Otto's avatar
Mark Otto committed
843

844
845
$list-group-link-color:          $gray !default;
$list-group-link-hover-color:    $list-group-link-color !default;
Mark Otto's avatar
Mark Otto committed
846

847
848
$list-group-link-active-color:   $list-group-color !default;
$list-group-link-active-bg:      $gray-lighter !default;
849

Mark Otto's avatar
Mark Otto committed
850

Mark Otto's avatar
Mark Otto committed
851
// Image thumbnails
Mark Otto's avatar
Mark Otto committed
852

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


Mark Otto's avatar
Mark Otto committed
862
// Figures
863
864

$figure-caption-font-size: 90% !default;
865
$figure-caption-color:     $gray-light !default;
866
867


Mark Otto's avatar
Mark Otto committed
868
// Breadcrumbs
Mark Otto's avatar
Mark Otto committed
869

870
871
872
$breadcrumb-padding-y:          .75rem !default;
$breadcrumb-padding-x:          1rem !default;
$breadcrumb-item-padding:       .5rem !default;
Mark Otto's avatar
Mark Otto committed
873

874
875
876
877
$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
878
879


Mark Otto's avatar
Mark Otto committed
880
// Carousel
Mark Otto's avatar
Mark Otto committed
881

882
$carousel-control-color:                      $white !default;
883
884
$carousel-control-width:                      15% !default;
$carousel-control-opacity:                    .5 !default;
Mark Otto's avatar
Mark Otto committed
885

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

891
$carousel-caption-width:                      70% !default;
892
$carousel-caption-color:                      $white !default;
Mark Otto's avatar
Mark Otto committed
893

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

896
897
$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;
898

899
900
$carousel-transition:           transform .6s ease-in-out !default;

Mark Otto's avatar
Mark Otto committed
901

Mark Otto's avatar
Mark Otto committed
902
// Close
Mark Otto's avatar
Mark Otto committed
903

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

Mark Otto's avatar
Mark Otto committed
909
// Code
Mark Otto's avatar
Mark Otto committed
910

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

917
$kbd-color:                   $white !default;
918
$kbd-bg:                      $gray-dark !default;
Mark Otto's avatar
Mark Otto committed
919

920
921
$pre-color:                   $gray-dark !default;
$pre-scrollable-max-height:   340px !default;