UNPKG

48.6 kBSCSSView Raw
1// Variables
2//
3// Variables should follow the `$component-state-property-size` formula for
4// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
5
6// Color system
7
8$white: #fff !default;
9$gray-100: #f8f9fa !default;
10$gray-200: #e9ecef !default;
11$gray-300: #dee2e6 !default;
12$gray-400: #ced4da !default;
13$gray-500: #adb5bd !default;
14$gray-600: #6c757d !default;
15$gray-700: #495057 !default;
16$gray-800: #343a40 !default;
17$gray-900: #212529 !default;
18$black: #000 !default;
19
20$grays: () !default;
21// stylelint-disable-next-line scss/dollar-variable-default
22$grays: map-merge(
23 (
24 "100": $gray-100,
25 "200": $gray-200,
26 "300": $gray-300,
27 "400": $gray-400,
28 "500": $gray-500,
29 "600": $gray-600,
30 "700": $gray-700,
31 "800": $gray-800,
32 "900": $gray-900
33 ),
34 $grays
35);
36
37$blue: #007bff !default;
38$indigo: #6610f2 !default;
39$purple: #6f42c1 !default;
40$pink: #e83e8c !default;
41$red: #dc3545 !default;
42$orange: #fd7e14 !default;
43$yellow: #ffc107 !default;
44$green: #28a745 !default;
45$teal: #20c997 !default;
46$cyan: #17a2b8 !default;
47
48$colors: () !default;
49// stylelint-disable-next-line scss/dollar-variable-default
50$colors: map-merge(
51 (
52 "blue": $blue,
53 "indigo": $indigo,
54 "purple": $purple,
55 "pink": $pink,
56 "red": $red,
57 "orange": $orange,
58 "yellow": $yellow,
59 "green": $green,
60 "teal": $teal,
61 "cyan": $cyan,
62 "white": $white,
63 "gray": $gray-600,
64 "gray-dark": $gray-800
65 ),
66 $colors
67);
68
69$primary: $blue !default;
70$secondary: $gray-600 !default;
71$success: $green !default;
72$info: $cyan !default;
73$warning: $yellow !default;
74$danger: $red !default;
75$light: $gray-100 !default;
76$dark: $gray-800 !default;
77
78$theme-colors: () !default;
79// stylelint-disable-next-line scss/dollar-variable-default
80$theme-colors: map-merge(
81 (
82 "primary": $primary,
83 "secondary": $secondary,
84 "success": $success,
85 "info": $info,
86 "warning": $warning,
87 "danger": $danger,
88 "light": $light,
89 "dark": $dark
90 ),
91 $theme-colors
92);
93
94// Set a specific jump point for requesting color jumps
95$theme-color-interval: 8% !default;
96
97// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
98$yiq-contrasted-threshold: 150 !default;
99
100// Customize the light and dark text colors for use in our YIQ color contrast function.
101$yiq-text-dark: $gray-900 !default;
102$yiq-text-light: $white !default;
103
104// Characters which are escaped by the escape-svg function
105$escaped-characters: (
106 ("<","%3c"),
107 (">","%3e"),
108 ("#","%23"),
109 ("(","%28"),
110 (")","%29"),
111) !default;
112
113
114// Options
115//
116// Quickly modify global styling by enabling or disabling optional features.
117
118$enable-caret: true !default;
119$enable-rounded: true !default;
120$enable-shadows: false !default;
121$enable-gradients: false !default;
122$enable-transitions: true !default;
123$enable-prefers-reduced-motion-media-query: true !default;
124$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
125$enable-grid-classes: true !default;
126$enable-pointer-cursor-for-buttons: true !default;
127$enable-print-styles: true !default;
128$enable-responsive-font-sizes: false !default;
129$enable-validation-icons: true !default;
130$enable-deprecation-messages: true !default;
131
132
133// Spacing
134//
135// Control the default styling of most Bootstrap elements by modifying these
136// variables. Mostly focused on spacing.
137// You can add more entries to the $spacers map, should you need more variation.
138
139$spacer: 1rem !default;
140$spacers: () !default;
141// stylelint-disable-next-line scss/dollar-variable-default
142$spacers: map-merge(
143 (
144 0: 0,
145 1: ($spacer * .25),
146 2: ($spacer * .5),
147 3: $spacer,
148 4: ($spacer * 1.5),
149 5: ($spacer * 3)
150 ),
151 $spacers
152);
153
154// This variable affects the `.h-*` and `.w-*` classes.
155$sizes: () !default;
156// stylelint-disable-next-line scss/dollar-variable-default
157$sizes: map-merge(
158 (
159 25: 25%,
160 50: 50%,
161 75: 75%,
162 100: 100%,
163 auto: auto
164 ),
165 $sizes
166);
167
168
169// Body
170//
171// Settings for the `<body>` element.
172
173$body-bg: $white !default;
174$body-color: $gray-900 !default;
175
176
177// Links
178//
179// Style anchor elements.
180
181$link-color: theme-color("primary") !default;
182$link-decoration: none !default;
183$link-hover-color: darken($link-color, 15%) !default;
184$link-hover-decoration: underline !default;
185// Darken percentage for links with `.text-*` class (e.g. `.text-success`)
186$emphasized-link-hover-darken-percentage: 15% !default;
187
188// Paragraphs
189//
190// Style p element.
191
192$paragraph-margin-bottom: 1rem !default;
193
194
195// Grid breakpoints
196//
197// Define the minimum dimensions at which your layout will change,
198// adapting to different screen sizes, for use in media queries.
199
200$grid-breakpoints: (
201 xs: 0,
202 sm: 576px,
203 md: 768px,
204 lg: 992px,
205 xl: 1200px
206) !default;
207
208@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
209@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");
210
211
212// Grid containers
213//
214// Define the maximum width of `.container` for different screen sizes.
215
216$container-max-widths: (
217 sm: 540px,
218 md: 720px,
219 lg: 960px,
220 xl: 1140px
221) !default;
222
223@include _assert-ascending($container-max-widths, "$container-max-widths");
224
225
226// Grid columns
227//
228// Set the number of columns and specify the width of the gutters.
229
230$grid-columns: 12 !default;
231$grid-gutter-width: 30px !default;
232$grid-row-columns: 6 !default;
233
234
235// Components
236//
237// Define common padding and border radius sizes and more.
238
239$line-height-lg: 1.5 !default;
240$line-height-sm: 1.5 !default;
241
242$border-width: 1px !default;
243$border-color: $gray-300 !default;
244
245$border-radius: .25rem !default;
246$border-radius-lg: .3rem !default;
247$border-radius-sm: .2rem !default;
248
249$rounded-pill: 50rem !default;
250
251$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
252$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
253$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
254
255$component-active-color: $white !default;
256$component-active-bg: theme-color("primary") !default;
257
258$caret-width: .3em !default;
259$caret-vertical-align: $caret-width * .85 !default;
260$caret-spacing: $caret-width * .85 !default;
261
262$transition-base: all .2s ease-in-out !default;
263$transition-fade: opacity .15s linear !default;
264$transition-collapse: height .35s ease !default;
265
266$embed-responsive-aspect-ratios: () !default;
267// stylelint-disable-next-line scss/dollar-variable-default
268$embed-responsive-aspect-ratios: join(
269 (
270 (21 9),
271 (16 9),
272 (4 3),
273 (1 1),
274 ),
275 $embed-responsive-aspect-ratios
276);
277
278// Typography
279//
280// Font, line-height, and color for body text, headings, and more.
281
282// stylelint-disable value-keyword-case
283$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
284$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
285$font-family-base: $font-family-sans-serif !default;
286// stylelint-enable value-keyword-case
287
288$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
289$font-size-lg: $font-size-base * 1.25 !default;
290$font-size-sm: $font-size-base * .875 !default;
291
292$font-weight-lighter: lighter !default;
293$font-weight-light: 300 !default;
294$font-weight-normal: 400 !default;
295$font-weight-bold: 700 !default;
296$font-weight-bolder: bolder !default;
297
298$font-weight-base: $font-weight-normal !default;
299$line-height-base: 1.5 !default;
300
301$h1-font-size: $font-size-base * 2.5 !default;
302$h2-font-size: $font-size-base * 2 !default;
303$h3-font-size: $font-size-base * 1.75 !default;
304$h4-font-size: $font-size-base * 1.5 !default;
305$h5-font-size: $font-size-base * 1.25 !default;
306$h6-font-size: $font-size-base !default;
307
308$headings-margin-bottom: $spacer / 2 !default;
309$headings-font-family: null !default;
310$headings-font-weight: 500 !default;
311$headings-line-height: 1.2 !default;
312$headings-color: null !default;
313
314$display1-size: 6rem !default;
315$display2-size: 5.5rem !default;
316$display3-size: 4.5rem !default;
317$display4-size: 3.5rem !default;
318
319$display1-weight: 300 !default;
320$display2-weight: 300 !default;
321$display3-weight: 300 !default;
322$display4-weight: 300 !default;
323$display-line-height: $headings-line-height !default;
324
325$lead-font-size: $font-size-base * 1.25 !default;
326$lead-font-weight: 300 !default;
327
328$small-font-size: 80% !default;
329
330$text-muted: $gray-600 !default;
331
332$blockquote-small-color: $gray-600 !default;
333$blockquote-small-font-size: $small-font-size !default;
334$blockquote-font-size: $font-size-base * 1.25 !default;
335
336$hr-border-color: rgba($black, .1) !default;
337$hr-border-width: $border-width !default;
338
339$mark-padding: .2em !default;
340
341$dt-font-weight: $font-weight-bold !default;
342
343$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
344$nested-kbd-font-weight: $font-weight-bold !default;
345
346$list-inline-padding: .5rem !default;
347
348$mark-bg: #fcf8e3 !default;
349
350$hr-margin-y: $spacer !default;
351
352
353// Tables
354//
355// Customizes the `.table` component with basic values, each used across all table variations.
356
357$table-cell-padding: .75rem !default;
358$table-cell-padding-sm: .3rem !default;
359
360$table-color: $body-color !default;
361$table-bg: null !default;
362$table-accent-bg: rgba($black, .05) !default;
363$table-hover-color: $table-color !default;
364$table-hover-bg: rgba($black, .075) !default;
365$table-active-bg: $table-hover-bg !default;
366
367$table-border-width: $border-width !default;
368$table-border-color: $border-color !default;
369
370$table-head-bg: $gray-200 !default;
371$table-head-color: $gray-700 !default;
372
373$table-dark-color: $white !default;
374$table-dark-bg: $gray-800 !default;
375$table-dark-accent-bg: rgba($white, .05) !default;
376$table-dark-hover-color: $table-dark-color !default;
377$table-dark-hover-bg: rgba($white, .075) !default;
378$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
379
380$table-striped-order: odd !default;
381
382$table-caption-color: $text-muted !default;
383
384$table-bg-level: -9 !default;
385$table-border-level: -6 !default;
386
387
388// Buttons + Forms
389//
390// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
391
392$input-btn-padding-y: .375rem !default;
393$input-btn-padding-x: .75rem !default;
394$input-btn-font-family: null !default;
395$input-btn-font-size: $font-size-base !default;
396$input-btn-line-height: $line-height-base !default;
397
398$input-btn-focus-width: .2rem !default;
399$input-btn-focus-color: rgba($component-active-bg, .25) !default;
400$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
401
402$input-btn-padding-y-sm: .25rem !default;
403$input-btn-padding-x-sm: .5rem !default;
404$input-btn-font-size-sm: $font-size-sm !default;
405$input-btn-line-height-sm: $line-height-sm !default;
406
407$input-btn-padding-y-lg: .5rem !default;
408$input-btn-padding-x-lg: 1rem !default;
409$input-btn-font-size-lg: $font-size-lg !default;
410$input-btn-line-height-lg: $line-height-lg !default;
411
412$input-btn-border-width: $border-width !default;
413
414
415// Buttons
416//
417// For each of Bootstrap's buttons, define text, background, and border color.
418
419$btn-padding-y: $input-btn-padding-y !default;
420$btn-padding-x: $input-btn-padding-x !default;
421$btn-font-family: $input-btn-font-family !default;
422$btn-font-size: $input-btn-font-size !default;
423$btn-line-height: $input-btn-line-height !default;
424$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
425
426$btn-padding-y-sm: $input-btn-padding-y-sm !default;
427$btn-padding-x-sm: $input-btn-padding-x-sm !default;
428$btn-font-size-sm: $input-btn-font-size-sm !default;
429$btn-line-height-sm: $input-btn-line-height-sm !default;
430
431$btn-padding-y-lg: $input-btn-padding-y-lg !default;
432$btn-padding-x-lg: $input-btn-padding-x-lg !default;
433$btn-font-size-lg: $input-btn-font-size-lg !default;
434$btn-line-height-lg: $input-btn-line-height-lg !default;
435
436$btn-border-width: $input-btn-border-width !default;
437
438$btn-font-weight: $font-weight-normal !default;
439$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
440$btn-focus-width: $input-btn-focus-width !default;
441$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
442$btn-disabled-opacity: .65 !default;
443$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
444
445$btn-link-disabled-color: $gray-600 !default;
446
447$btn-block-spacing-y: .5rem !default;
448
449// Allows for customizing button radius independently from global border radius
450$btn-border-radius: $border-radius !default;
451$btn-border-radius-lg: $border-radius-lg !default;
452$btn-border-radius-sm: $border-radius-sm !default;
453
454$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
455
456
457// Forms
458
459$label-margin-bottom: .5rem !default;
460
461$input-padding-y: $input-btn-padding-y !default;
462$input-padding-x: $input-btn-padding-x !default;
463$input-font-family: $input-btn-font-family !default;
464$input-font-size: $input-btn-font-size !default;
465$input-font-weight: $font-weight-base !default;
466$input-line-height: $input-btn-line-height !default;
467
468$input-padding-y-sm: $input-btn-padding-y-sm !default;
469$input-padding-x-sm: $input-btn-padding-x-sm !default;
470$input-font-size-sm: $input-btn-font-size-sm !default;
471$input-line-height-sm: $input-btn-line-height-sm !default;
472
473$input-padding-y-lg: $input-btn-padding-y-lg !default;
474$input-padding-x-lg: $input-btn-padding-x-lg !default;
475$input-font-size-lg: $input-btn-font-size-lg !default;
476$input-line-height-lg: $input-btn-line-height-lg !default;
477
478$input-bg: $white !default;
479$input-disabled-bg: $gray-200 !default;
480
481$input-color: $gray-700 !default;
482$input-border-color: $gray-400 !default;
483$input-border-width: $input-btn-border-width !default;
484$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;
485
486$input-border-radius: $border-radius !default;
487$input-border-radius-lg: $border-radius-lg !default;
488$input-border-radius-sm: $border-radius-sm !default;
489
490$input-focus-bg: $input-bg !default;
491$input-focus-border-color: lighten($component-active-bg, 25%) !default;
492$input-focus-color: $input-color !default;
493$input-focus-width: $input-btn-focus-width !default;
494$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
495
496$input-placeholder-color: $gray-600 !default;
497$input-plaintext-color: $body-color !default;
498
499$input-height-border: $input-border-width * 2 !default;
500
501$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
502$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
503$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;
504
505$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
506$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
507$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
508
509$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
510
511$form-text-margin-top: .25rem !default;
512
513$form-check-input-gutter: 1.25rem !default;
514$form-check-input-margin-y: .3rem !default;
515$form-check-input-margin-x: .25rem !default;
516
517$form-check-inline-margin-x: .75rem !default;
518$form-check-inline-input-margin-x: .3125rem !default;
519
520$form-grid-gutter-width: 10px !default;
521$form-group-margin-bottom: 1rem !default;
522
523$input-group-addon-color: $input-color !default;
524$input-group-addon-bg: $gray-200 !default;
525$input-group-addon-border-color: $input-border-color !default;
526
527$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
528
529$custom-control-gutter: .5rem !default;
530$custom-control-spacer-x: 1rem !default;
531$custom-control-cursor: null !default;
532
533$custom-control-indicator-size: 1rem !default;
534$custom-control-indicator-bg: $input-bg !default;
535
536$custom-control-indicator-bg-size: 50% 50% !default;
537$custom-control-indicator-box-shadow: $input-box-shadow !default;
538$custom-control-indicator-border-color: $gray-500 !default;
539$custom-control-indicator-border-width: $input-border-width !default;
540
541$custom-control-label-color: null !default;
542
543$custom-control-indicator-disabled-bg: $input-disabled-bg !default;
544$custom-control-label-disabled-color: $gray-600 !default;
545
546$custom-control-indicator-checked-color: $component-active-color !default;
547$custom-control-indicator-checked-bg: $component-active-bg !default;
548$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
549$custom-control-indicator-checked-box-shadow: none !default;
550$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
551
552$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
553$custom-control-indicator-focus-border-color: $input-focus-border-color !default;
554
555$custom-control-indicator-active-color: $component-active-color !default;
556$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
557$custom-control-indicator-active-box-shadow: none !default;
558$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
559
560$custom-checkbox-indicator-border-radius: $border-radius !default;
561$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default;
562
563$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
564$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
565$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default;
566$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
567$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
568
569$custom-radio-indicator-border-radius: 50% !default;
570$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default;
571
572$custom-switch-width: $custom-control-indicator-size * 1.75 !default;
573$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
574$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
575
576$custom-select-padding-y: $input-padding-y !default;
577$custom-select-padding-x: $input-padding-x !default;
578$custom-select-font-family: $input-font-family !default;
579$custom-select-font-size: $input-font-size !default;
580$custom-select-height: $input-height !default;
581$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
582$custom-select-font-weight: $input-font-weight !default;
583$custom-select-line-height: $input-line-height !default;
584$custom-select-color: $input-color !default;
585$custom-select-disabled-color: $gray-600 !default;
586$custom-select-bg: $input-bg !default;
587$custom-select-disabled-bg: $gray-200 !default;
588$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
589$custom-select-indicator-color: $gray-800 !default;
590$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
591$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
592
593$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
594$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
595$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
596
597$custom-select-border-width: $input-border-width !default;
598$custom-select-border-color: $input-border-color !default;
599$custom-select-border-radius: $border-radius !default;
600$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
601
602$custom-select-focus-border-color: $input-focus-border-color !default;
603$custom-select-focus-width: $input-focus-width !default;
604$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;
605
606$custom-select-padding-y-sm: $input-padding-y-sm !default;
607$custom-select-padding-x-sm: $input-padding-x-sm !default;
608$custom-select-font-size-sm: $input-font-size-sm !default;
609$custom-select-height-sm: $input-height-sm !default;
610
611$custom-select-padding-y-lg: $input-padding-y-lg !default;
612$custom-select-padding-x-lg: $input-padding-x-lg !default;
613$custom-select-font-size-lg: $input-font-size-lg !default;
614$custom-select-height-lg: $input-height-lg !default;
615
616$custom-range-track-width: 100% !default;
617$custom-range-track-height: .5rem !default;
618$custom-range-track-cursor: pointer !default;
619$custom-range-track-bg: $gray-300 !default;
620$custom-range-track-border-radius: 1rem !default;
621$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
622
623$custom-range-thumb-width: 1rem !default;
624$custom-range-thumb-height: $custom-range-thumb-width !default;
625$custom-range-thumb-bg: $component-active-bg !default;
626$custom-range-thumb-border: 0 !default;
627$custom-range-thumb-border-radius: 1rem !default;
628$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
629$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
630$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
631$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
632$custom-range-thumb-disabled-bg: $gray-500 !default;
633
634$custom-file-height: $input-height !default;
635$custom-file-height-inner: $input-height-inner !default;
636$custom-file-focus-border-color: $input-focus-border-color !default;
637$custom-file-focus-box-shadow: $input-focus-box-shadow !default;
638$custom-file-disabled-bg: $input-disabled-bg !default;
639
640$custom-file-padding-y: $input-padding-y !default;
641$custom-file-padding-x: $input-padding-x !default;
642$custom-file-line-height: $input-line-height !default;
643$custom-file-font-family: $input-font-family !default;
644$custom-file-font-weight: $input-font-weight !default;
645$custom-file-color: $input-color !default;
646$custom-file-bg: $input-bg !default;
647$custom-file-border-width: $input-border-width !default;
648$custom-file-border-color: $input-border-color !default;
649$custom-file-border-radius: $input-border-radius !default;
650$custom-file-box-shadow: $input-box-shadow !default;
651$custom-file-button-color: $custom-file-color !default;
652$custom-file-button-bg: $input-group-addon-bg !default;
653$custom-file-text: (
654 en: "Browse"
655) !default;
656
657
658// Form validation
659
660$form-feedback-margin-top: $form-text-margin-top !default;
661$form-feedback-font-size: $small-font-size !default;
662$form-feedback-valid-color: theme-color("success") !default;
663$form-feedback-invalid-color: theme-color("danger") !default;
664
665$form-feedback-icon-valid-color: $form-feedback-valid-color !default;
666$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-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'/></svg>") !default;
667$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
668$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
669
670$form-validation-states: () !default;
671// stylelint-disable-next-line scss/dollar-variable-default
672$form-validation-states: map-merge(
673 (
674 "valid": (
675 "color": $form-feedback-valid-color,
676 "icon": $form-feedback-icon-valid
677 ),
678 "invalid": (
679 "color": $form-feedback-invalid-color,
680 "icon": $form-feedback-icon-invalid
681 ),
682 ),
683 $form-validation-states
684);
685
686// Z-index master list
687//
688// Warning: Avoid customizing these values. They're used for a bird's eye view
689// of components dependent on the z-axis and are designed to all work together.
690
691$zindex-dropdown: 1000 !default;
692$zindex-sticky: 1020 !default;
693$zindex-fixed: 1030 !default;
694$zindex-modal-backdrop: 1040 !default;
695$zindex-modal: 1050 !default;
696$zindex-popover: 1060 !default;
697$zindex-tooltip: 1070 !default;
698
699
700// Navs
701
702$nav-link-padding-y: .5rem !default;
703$nav-link-padding-x: 1rem !default;
704$nav-link-disabled-color: $gray-600 !default;
705
706$nav-tabs-border-color: $gray-300 !default;
707$nav-tabs-border-width: $border-width !default;
708$nav-tabs-border-radius: $border-radius !default;
709$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
710$nav-tabs-link-active-color: $gray-700 !default;
711$nav-tabs-link-active-bg: $body-bg !default;
712$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
713
714$nav-pills-border-radius: $border-radius !default;
715$nav-pills-link-active-color: $component-active-color !default;
716$nav-pills-link-active-bg: $component-active-bg !default;
717
718$nav-divider-color: $gray-200 !default;
719$nav-divider-margin-y: $spacer / 2 !default;
720
721
722// Navbar
723
724$navbar-padding-y: $spacer / 2 !default;
725$navbar-padding-x: $spacer !default;
726
727$navbar-nav-link-padding-x: .5rem !default;
728
729$navbar-brand-font-size: $font-size-lg !default;
730// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
731$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
732$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
733$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
734
735$navbar-toggler-padding-y: .25rem !default;
736$navbar-toggler-padding-x: .75rem !default;
737$navbar-toggler-font-size: $font-size-lg !default;
738$navbar-toggler-border-radius: $btn-border-radius !default;
739
740$navbar-dark-color: rgba($white, .5) !default;
741$navbar-dark-hover-color: rgba($white, .75) !default;
742$navbar-dark-active-color: $white !default;
743$navbar-dark-disabled-color: rgba($white, .25) !default;
744$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
745$navbar-dark-toggler-border-color: rgba($white, .1) !default;
746
747$navbar-light-color: rgba($black, .5) !default;
748$navbar-light-hover-color: rgba($black, .7) !default;
749$navbar-light-active-color: rgba($black, .9) !default;
750$navbar-light-disabled-color: rgba($black, .3) !default;
751$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
752$navbar-light-toggler-border-color: rgba($black, .1) !default;
753
754$navbar-light-brand-color: $navbar-light-active-color !default;
755$navbar-light-brand-hover-color: $navbar-light-active-color !default;
756$navbar-dark-brand-color: $navbar-dark-active-color !default;
757$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
758
759
760// Dropdowns
761//
762// Dropdown menu container and contents.
763
764$dropdown-min-width: 10rem !default;
765$dropdown-padding-y: .5rem !default;
766$dropdown-spacer: .125rem !default;
767$dropdown-font-size: $font-size-base !default;
768$dropdown-color: $body-color !default;
769$dropdown-bg: $white !default;
770$dropdown-border-color: rgba($black, .15) !default;
771$dropdown-border-radius: $border-radius !default;
772$dropdown-border-width: $border-width !default;
773$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
774$dropdown-divider-bg: $gray-200 !default;
775$dropdown-divider-margin-y: $nav-divider-margin-y !default;
776$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
777
778$dropdown-link-color: $gray-900 !default;
779$dropdown-link-hover-color: darken($gray-900, 5%) !default;
780$dropdown-link-hover-bg: $gray-100 !default;
781
782$dropdown-link-active-color: $component-active-color !default;
783$dropdown-link-active-bg: $component-active-bg !default;
784
785$dropdown-link-disabled-color: $gray-600 !default;
786
787$dropdown-item-padding-y: .25rem !default;
788$dropdown-item-padding-x: 1.5rem !default;
789
790$dropdown-header-color: $gray-600 !default;
791$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
792
793
794// Pagination
795
796$pagination-padding-y: .5rem !default;
797$pagination-padding-x: .75rem !default;
798$pagination-padding-y-sm: .25rem !default;
799$pagination-padding-x-sm: .5rem !default;
800$pagination-padding-y-lg: .75rem !default;
801$pagination-padding-x-lg: 1.5rem !default;
802$pagination-line-height: 1.25 !default;
803
804$pagination-color: $link-color !default;
805$pagination-bg: $white !default;
806$pagination-border-width: $border-width !default;
807$pagination-border-color: $gray-300 !default;
808
809$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
810$pagination-focus-outline: 0 !default;
811
812$pagination-hover-color: $link-hover-color !default;
813$pagination-hover-bg: $gray-200 !default;
814$pagination-hover-border-color: $gray-300 !default;
815
816$pagination-active-color: $component-active-color !default;
817$pagination-active-bg: $component-active-bg !default;
818$pagination-active-border-color: $pagination-active-bg !default;
819
820$pagination-disabled-color: $gray-600 !default;
821$pagination-disabled-bg: $white !default;
822$pagination-disabled-border-color: $gray-300 !default;
823
824
825// Jumbotron
826
827$jumbotron-padding: 2rem !default;
828$jumbotron-color: null !default;
829$jumbotron-bg: $gray-200 !default;
830
831
832// Cards
833
834$card-spacer-y: .75rem !default;
835$card-spacer-x: 1.25rem !default;
836$card-border-width: $border-width !default;
837$card-border-radius: $border-radius !default;
838$card-border-color: rgba($black, .125) !default;
839$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
840$card-cap-bg: rgba($black, .03) !default;
841$card-cap-color: null !default;
842$card-height: null !default;
843$card-color: null !default;
844$card-bg: $white !default;
845
846$card-img-overlay-padding: 1.25rem !default;
847
848$card-group-margin: $grid-gutter-width / 2 !default;
849$card-deck-margin: $card-group-margin !default;
850
851$card-columns-count: 3 !default;
852$card-columns-gap: 1.25rem !default;
853$card-columns-margin: $card-spacer-y !default;
854
855
856// Tooltips
857
858$tooltip-font-size: $font-size-sm !default;
859$tooltip-max-width: 200px !default;
860$tooltip-color: $white !default;
861$tooltip-bg: $black !default;
862$tooltip-border-radius: $border-radius !default;
863$tooltip-opacity: .9 !default;
864$tooltip-padding-y: .25rem !default;
865$tooltip-padding-x: .5rem !default;
866$tooltip-margin: 0 !default;
867
868$tooltip-arrow-width: .8rem !default;
869$tooltip-arrow-height: .4rem !default;
870$tooltip-arrow-color: $tooltip-bg !default;
871
872// Form tooltips must come after regular tooltips
873$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;
874$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;
875$form-feedback-tooltip-font-size: $tooltip-font-size !default;
876$form-feedback-tooltip-line-height: $line-height-base !default;
877$form-feedback-tooltip-opacity: $tooltip-opacity !default;
878$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
879
880
881// Popovers
882
883$popover-font-size: $font-size-sm !default;
884$popover-bg: $white !default;
885$popover-max-width: 276px !default;
886$popover-border-width: $border-width !default;
887$popover-border-color: rgba($black, .2) !default;
888$popover-border-radius: $border-radius-lg !default;
889$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
890$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
891
892$popover-header-bg: darken($popover-bg, 3%) !default;
893$popover-header-color: $headings-color !default;
894$popover-header-padding-y: .5rem !default;
895$popover-header-padding-x: .75rem !default;
896
897$popover-body-color: $body-color !default;
898$popover-body-padding-y: $popover-header-padding-y !default;
899$popover-body-padding-x: $popover-header-padding-x !default;
900
901$popover-arrow-width: 1rem !default;
902$popover-arrow-height: .5rem !default;
903$popover-arrow-color: $popover-bg !default;
904
905$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
906
907
908// Toasts
909
910$toast-max-width: 350px !default;
911$toast-padding-x: .75rem !default;
912$toast-padding-y: .25rem !default;
913$toast-font-size: .875rem !default;
914$toast-color: null !default;
915$toast-background-color: rgba($white, .85) !default;
916$toast-border-width: 1px !default;
917$toast-border-color: rgba(0, 0, 0, .1) !default;
918$toast-border-radius: .25rem !default;
919$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
920
921$toast-header-color: $gray-600 !default;
922$toast-header-background-color: rgba($white, .85) !default;
923$toast-header-border-color: rgba(0, 0, 0, .05) !default;
924
925
926// Badges
927
928$badge-font-size: 75% !default;
929$badge-font-weight: $font-weight-bold !default;
930$badge-padding-y: .25em !default;
931$badge-padding-x: .4em !default;
932$badge-border-radius: $border-radius !default;
933
934$badge-transition: $btn-transition !default;
935$badge-focus-width: $input-btn-focus-width !default;
936
937$badge-pill-padding-x: .6em !default;
938// Use a higher than normal value to ensure completely rounded edges when
939// customizing padding or font-size on labels.
940$badge-pill-border-radius: 10rem !default;
941
942
943// Modals
944
945// Padding applied to the modal body
946$modal-inner-padding: 1rem !default;
947
948// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding
949$modal-footer-margin-between: .5rem !default;
950
951$modal-dialog-margin: .5rem !default;
952$modal-dialog-margin-y-sm-up: 1.75rem !default;
953
954$modal-title-line-height: $line-height-base !default;
955
956$modal-content-color: null !default;
957$modal-content-bg: $white !default;
958$modal-content-border-color: rgba($black, .2) !default;
959$modal-content-border-width: $border-width !default;
960$modal-content-border-radius: $border-radius-lg !default;
961$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
962$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
963$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
964
965$modal-backdrop-bg: $black !default;
966$modal-backdrop-opacity: .5 !default;
967$modal-header-border-color: $border-color !default;
968$modal-footer-border-color: $modal-header-border-color !default;
969$modal-header-border-width: $modal-content-border-width !default;
970$modal-footer-border-width: $modal-header-border-width !default;
971$modal-header-padding-y: 1rem !default;
972$modal-header-padding-x: 1rem !default;
973$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility
974
975$modal-xl: 1140px !default;
976$modal-lg: 800px !default;
977$modal-md: 500px !default;
978$modal-sm: 300px !default;
979
980$modal-fade-transform: translate(0, -50px) !default;
981$modal-show-transform: none !default;
982$modal-transition: transform .3s ease-out !default;
983$modal-scale-transform: scale(1.02) !default;
984
985
986// Alerts
987//
988// Define alert colors, border radius, and padding.
989
990$alert-padding-y: .75rem !default;
991$alert-padding-x: 1.25rem !default;
992$alert-margin-bottom: 1rem !default;
993$alert-border-radius: $border-radius !default;
994$alert-link-font-weight: $font-weight-bold !default;
995$alert-border-width: $border-width !default;
996
997$alert-bg-level: -10 !default;
998$alert-border-level: -9 !default;
999$alert-color-level: 6 !default;
1000
1001
1002// Progress bars
1003
1004$progress-height: 1rem !default;
1005$progress-font-size: $font-size-base * .75 !default;
1006$progress-bg: $gray-200 !default;
1007$progress-border-radius: $border-radius !default;
1008$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
1009$progress-bar-color: $white !default;
1010$progress-bar-bg: theme-color("primary") !default;
1011$progress-bar-animation-timing: 1s linear infinite !default;
1012$progress-bar-transition: width .6s ease !default;
1013
1014
1015// List group
1016
1017$list-group-color: null !default;
1018$list-group-bg: $white !default;
1019$list-group-border-color: rgba($black, .125) !default;
1020$list-group-border-width: $border-width !default;
1021$list-group-border-radius: $border-radius !default;
1022
1023$list-group-item-padding-y: .75rem !default;
1024$list-group-item-padding-x: 1.25rem !default;
1025
1026$list-group-hover-bg: $gray-100 !default;
1027$list-group-active-color: $component-active-color !default;
1028$list-group-active-bg: $component-active-bg !default;
1029$list-group-active-border-color: $list-group-active-bg !default;
1030
1031$list-group-disabled-color: $gray-600 !default;
1032$list-group-disabled-bg: $list-group-bg !default;
1033
1034$list-group-action-color: $gray-700 !default;
1035$list-group-action-hover-color: $list-group-action-color !default;
1036
1037$list-group-action-active-color: $body-color !default;
1038$list-group-action-active-bg: $gray-200 !default;
1039
1040
1041// Image thumbnails
1042
1043$thumbnail-padding: .25rem !default;
1044$thumbnail-bg: $body-bg !default;
1045$thumbnail-border-width: $border-width !default;
1046$thumbnail-border-color: $gray-300 !default;
1047$thumbnail-border-radius: $border-radius !default;
1048$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;
1049
1050
1051// Figures
1052
1053$figure-caption-font-size: 90% !default;
1054$figure-caption-color: $gray-600 !default;
1055
1056
1057// Breadcrumbs
1058
1059$breadcrumb-font-size: null !default;
1060
1061$breadcrumb-padding-y: .75rem !default;
1062$breadcrumb-padding-x: 1rem !default;
1063$breadcrumb-item-padding: .5rem !default;
1064
1065$breadcrumb-margin-bottom: 1rem !default;
1066
1067$breadcrumb-bg: $gray-200 !default;
1068$breadcrumb-divider-color: $gray-600 !default;
1069$breadcrumb-active-color: $gray-600 !default;
1070$breadcrumb-divider: quote("/") !default;
1071
1072$breadcrumb-border-radius: $border-radius !default;
1073
1074
1075// Carousel
1076
1077$carousel-control-color: $white !default;
1078$carousel-control-width: 15% !default;
1079$carousel-control-opacity: .5 !default;
1080$carousel-control-hover-opacity: .9 !default;
1081$carousel-control-transition: opacity .15s ease !default;
1082
1083$carousel-indicator-width: 30px !default;
1084$carousel-indicator-height: 3px !default;
1085$carousel-indicator-hit-area-height: 10px !default;
1086$carousel-indicator-spacer: 3px !default;
1087$carousel-indicator-active-bg: $white !default;
1088$carousel-indicator-transition: opacity .6s ease !default;
1089
1090$carousel-caption-width: 70% !default;
1091$carousel-caption-color: $white !default;
1092
1093$carousel-control-icon-width: 20px !default;
1094
1095$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>") !default;
1096$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>") !default;
1097
1098$carousel-transition-duration: .6s !default;
1099$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
1100
1101
1102// Spinners
1103
1104$spinner-width: 2rem !default;
1105$spinner-height: $spinner-width !default;
1106$spinner-border-width: .25em !default;
1107
1108$spinner-width-sm: 1rem !default;
1109$spinner-height-sm: $spinner-width-sm !default;
1110$spinner-border-width-sm: .2em !default;
1111
1112
1113// Close
1114
1115$close-font-size: $font-size-base * 1.5 !default;
1116$close-font-weight: $font-weight-bold !default;
1117$close-color: $black !default;
1118$close-text-shadow: 0 1px 0 $white !default;
1119
1120
1121// Code
1122
1123$code-font-size: 87.5% !default;
1124$code-color: $pink !default;
1125
1126$kbd-padding-y: .2rem !default;
1127$kbd-padding-x: .4rem !default;
1128$kbd-font-size: $code-font-size !default;
1129$kbd-color: $white !default;
1130$kbd-bg: $gray-900 !default;
1131
1132$pre-color: $gray-900 !default;
1133$pre-scrollable-max-height: 340px !default;
1134
1135
1136// Utilities
1137
1138$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
1139$overflows: auto, hidden !default;
1140$positions: static, relative, absolute, fixed, sticky !default;
1141$user-selects: all, auto, none !default;
1142
1143
1144// Printing
1145
1146$print-page-size: a3 !default;
1147$print-body-min-width: map-get($grid-breakpoints, "lg") !default;