jekyll-theme-centos 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +66 -0
- data/_includes/centos-content/1col.html +11 -0
- data/_includes/centos-content/2col.html +15 -0
- data/_includes/centos-content/admonition/caution.html +4 -0
- data/_includes/centos-content/admonition/idea.html +4 -0
- data/_includes/centos-content/admonition/note.html +4 -0
- data/_includes/centos-content/admonition/warning.html +4 -0
- data/_includes/centos-content/around.html +6 -0
- data/_includes/centos-content/breadcrumbs.html +11 -0
- data/_includes/centos-content/download/stream-8-doc.html +5 -0
- data/_includes/centos-content/download/stream-8-eol.html +5 -0
- data/_includes/centos-content/download/stream-8.html +5 -0
- data/_includes/centos-content/download/stream.html +16 -0
- data/_includes/centos-content/download/table-body-doc.html +6 -0
- data/_includes/centos-content/download/table-body-eol.html +4 -0
- data/_includes/centos-content/download/table-body.html +7 -0
- data/_includes/centos-content/download/table-footer.html +2 -0
- data/_includes/centos-content/download/table-header-doc.html +8 -0
- data/_includes/centos-content/download/table-header-eol.html +8 -0
- data/_includes/centos-content/download/table-header.html +10 -0
- data/_includes/centos-content/figure.html +4 -0
- data/_includes/centos-content/news.html +15 -0
- data/_includes/centos-content/sponsors.html +19 -0
- data/_includes/centos-content/toc.html +103 -0
- data/_includes/centos-content/video.html +3 -0
- data/_includes/centos-footer.html +42 -0
- data/_includes/centos-head.html +7 -0
- data/_includes/centos-header.html +7 -0
- data/_includes/centos-header/home.html +15 -0
- data/_includes/centos-header/page.html +12 -0
- data/_includes/centos-nav.html +29 -0
- data/_includes/centos-styleguide.md +243 -0
- data/_layouts/centos-content/1col.html +9 -0
- data/_layouts/centos-content/2col.html +9 -0
- data/_layouts/centos-content/download-mirror.html +30 -0
- data/_layouts/centos-content/download.html +18 -0
- data/_layouts/centos-content/sponsors.html +21 -0
- data/_layouts/centos-home.html +39 -0
- data/_layouts/default.html +18 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +5 -0
- data/_sass/bootstrap/_alert.scss +52 -0
- data/_sass/bootstrap/_badge.scss +54 -0
- data/_sass/bootstrap/_breadcrumb.scss +44 -0
- data/_sass/bootstrap/_button-group.scss +163 -0
- data/_sass/bootstrap/_buttons.scss +142 -0
- data/_sass/bootstrap/_card.scss +286 -0
- data/_sass/bootstrap/_carousel.scss +197 -0
- data/_sass/bootstrap/_close.scss +40 -0
- data/_sass/bootstrap/_code.scss +48 -0
- data/_sass/bootstrap/_custom-forms.scss +524 -0
- data/_sass/bootstrap/_dropdown.scss +192 -0
- data/_sass/bootstrap/_forms.scss +347 -0
- data/_sass/bootstrap/_functions.scss +144 -0
- data/_sass/bootstrap/_grid.scss +73 -0
- data/_sass/bootstrap/_images.scss +42 -0
- data/_sass/bootstrap/_input-group.scss +192 -0
- data/_sass/bootstrap/_jumbotron.scss +17 -0
- data/_sass/bootstrap/_list-group.scss +154 -0
- data/_sass/bootstrap/_media.scss +8 -0
- data/_sass/bootstrap/_mixins.scss +47 -0
- data/_sass/bootstrap/_modal.scss +240 -0
- data/_sass/bootstrap/_nav.scss +123 -0
- data/_sass/bootstrap/_navbar.scss +324 -0
- data/_sass/bootstrap/_pagination.scss +74 -0
- data/_sass/bootstrap/_popover.scss +170 -0
- data/_sass/bootstrap/_print.scss +141 -0
- data/_sass/bootstrap/_progress.scss +47 -0
- data/_sass/bootstrap/_reboot.scss +484 -0
- data/_sass/bootstrap/_root.scss +20 -0
- data/_sass/bootstrap/_spinners.scss +56 -0
- data/_sass/bootstrap/_tables.scss +185 -0
- data/_sass/bootstrap/_toasts.scss +46 -0
- data/_sass/bootstrap/_tooltip.scss +115 -0
- data/_sass/bootstrap/_transitions.scss +20 -0
- data/_sass/bootstrap/_type.scss +125 -0
- data/_sass/bootstrap/_utilities.scss +18 -0
- data/_sass/bootstrap/_variables.scss +1142 -0
- data/_sass/bootstrap/bootstrap-grid.scss +29 -0
- data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/bootstrap.scss +44 -0
- data/_sass/bootstrap/mixins/_alert.scss +13 -0
- data/_sass/bootstrap/mixins/_background-variant.scss +23 -0
- data/_sass/bootstrap/mixins/_badge.scss +17 -0
- data/_sass/bootstrap/mixins/_border-radius.scss +76 -0
- data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
- data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
- data/_sass/bootstrap/mixins/_buttons.scss +110 -0
- data/_sass/bootstrap/mixins/_caret.scss +62 -0
- data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
- data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
- data/_sass/bootstrap/mixins/_float.scss +14 -0
- data/_sass/bootstrap/mixins/_forms.scss +178 -0
- data/_sass/bootstrap/mixins/_gradients.scss +45 -0
- data/_sass/bootstrap/mixins/_grid-framework.scss +80 -0
- data/_sass/bootstrap/mixins/_grid.scss +69 -0
- data/_sass/bootstrap/mixins/_hover.scss +37 -0
- data/_sass/bootstrap/mixins/_image.scss +36 -0
- data/_sass/bootstrap/mixins/_list-group.scss +21 -0
- data/_sass/bootstrap/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/mixins/_nav-divider.scss +11 -0
- data/_sass/bootstrap/mixins/_pagination.scss +22 -0
- data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
- data/_sass/bootstrap/mixins/_resize.scss +6 -0
- data/_sass/bootstrap/mixins/_screen-reader.scss +34 -0
- data/_sass/bootstrap/mixins/_size.scss +7 -0
- data/_sass/bootstrap/mixins/_table-row.scss +39 -0
- data/_sass/bootstrap/mixins/_text-emphasis.scss +17 -0
- data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
- data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/mixins/_transition.scss +26 -0
- data/_sass/bootstrap/mixins/_visibility.scss +8 -0
- data/_sass/bootstrap/utilities/_align.scss +8 -0
- data/_sass/bootstrap/utilities/_background.scss +19 -0
- data/_sass/bootstrap/utilities/_borders.scss +75 -0
- data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/utilities/_display.scss +26 -0
- data/_sass/bootstrap/utilities/_embed.scss +39 -0
- data/_sass/bootstrap/utilities/_flex.scss +51 -0
- data/_sass/bootstrap/utilities/_float.scss +11 -0
- data/_sass/bootstrap/utilities/_interactions.scss +5 -0
- data/_sass/bootstrap/utilities/_overflow.scss +5 -0
- data/_sass/bootstrap/utilities/_position.scss +32 -0
- data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/utilities/_sizing.scss +20 -0
- data/_sass/bootstrap/utilities/_spacing.scss +73 -0
- data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
- data/_sass/bootstrap/utilities/_text.scss +72 -0
- data/_sass/bootstrap/utilities/_visibility.scss +13 -0
- data/_sass/bootstrap/vendor/_rfs.scss +204 -0
- data/_sass/centos/_content.scss +101 -0
- data/_sass/centos/_datatable.scss +271 -0
- data/_sass/centos/_fonts.scss +1 -0
- data/_sass/centos/_footer.scss +49 -0
- data/_sass/centos/_header.scss +25 -0
- data/_sass/centos/_highlighter.scss +360 -0
- data/_sass/centos/_mixins.scss +4 -0
- data/_sass/centos/_nav.scss +10 -0
- data/_sass/centos/_rssfeeds.scss +17 -0
- data/_sass/centos/_variables.scss +111 -0
- data/_sass/centos/centos.scss +23 -0
- data/_sass/centos/content/_1col.scss +32 -0
- data/_sass/centos/content/_2col.scss +44 -0
- data/_sass/centos/content/_download.scss +17 -0
- data/_sass/centos/content/_sponsors.scss +9 -0
- data/_sass/centos/fonts/_montserrat.scss +256 -0
- data/_sass/centos/header/_home.scss +4 -0
- data/_sass/centos/header/_page.scss +4 -0
- data/_sass/centos/mixins/_content-card.scss +13 -0
- data/_sass/centos/mixins/_content-heading.scss +28 -0
- data/_sass/centos/mixins/_content-toc.scss +18 -0
- data/_sass/centos/mixins/_footer-link.scss +10 -0
- data/_sass/fontawesome/_animated.scss +20 -0
- data/_sass/fontawesome/_bordered-pulled.scss +20 -0
- data/_sass/fontawesome/_core.scss +21 -0
- data/_sass/fontawesome/_fixed-width.scss +6 -0
- data/_sass/fontawesome/_icons.scss +1462 -0
- data/_sass/fontawesome/_larger.scss +23 -0
- data/_sass/fontawesome/_list.scss +18 -0
- data/_sass/fontawesome/_mixins.scss +56 -0
- data/_sass/fontawesome/_rotated-flipped.scss +24 -0
- data/_sass/fontawesome/_screen-reader.scss +5 -0
- data/_sass/fontawesome/_shims.scss +2066 -0
- data/_sass/fontawesome/_stacked.scss +31 -0
- data/_sass/fontawesome/_variables.scss +1479 -0
- data/_sass/fontawesome/brands.scss +23 -0
- data/_sass/fontawesome/fontawesome.scss +16 -0
- data/_sass/fontawesome/regular.scss +23 -0
- data/_sass/fontawesome/solid.scss +24 -0
- data/_sass/fontawesome/v4-shims.scss +6 -0
- data/assets/css/centos.bootstrap.min.scss +4 -0
- data/assets/fonts/Montserrat/Montserrat-Black.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Black.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-BlackItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-BlackItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-BoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-BoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraBold.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraBold.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraLight.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraLight.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Italic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Italic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Light.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Light.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-LightItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-LightItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Medium.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Medium.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-MediumItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-MediumItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-SemiBold.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-SemiBold.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-Thin.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-Thin.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat-ThinItalic.woff +0 -0
- data/assets/fonts/Montserrat/Montserrat-ThinItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/Montserrat.css +327 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Black.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Black.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-BlackItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-BlackItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Bold.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Bold.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-BoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-BoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraBold.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraBold.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraLight.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraLight.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Italic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Italic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Light.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Light.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-LightItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-LightItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Medium.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Medium.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-MediumItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-MediumItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Regular.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Regular.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-SemiBold.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-SemiBold.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Thin.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-Thin.woff2 +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ThinItalic.woff +0 -0
- data/assets/fonts/Montserrat/MontserratAlternates-ThinItalic.woff2 +0 -0
- data/assets/fonts/Montserrat/README.MD +35 -0
- data/assets/fonts/fa-brands-400.eot +0 -0
- data/assets/fonts/fa-brands-400.svg +3717 -0
- data/assets/fonts/fa-brands-400.ttf +0 -0
- data/assets/fonts/fa-brands-400.woff +0 -0
- data/assets/fonts/fa-brands-400.woff2 +0 -0
- data/assets/fonts/fa-regular-400.eot +0 -0
- data/assets/fonts/fa-regular-400.svg +801 -0
- data/assets/fonts/fa-regular-400.ttf +0 -0
- data/assets/fonts/fa-regular-400.woff +0 -0
- data/assets/fonts/fa-regular-400.woff2 +0 -0
- data/assets/fonts/fa-solid-900.eot +0 -0
- data/assets/fonts/fa-solid-900.svg +5028 -0
- data/assets/fonts/fa-solid-900.ttf +0 -0
- data/assets/fonts/fa-solid-900.woff +0 -0
- data/assets/fonts/fa-solid-900.woff2 +0 -0
- data/assets/img/centos-logo-white.png +0 -0
- data/assets/img/centos-motif.png +0 -0
- data/assets/img/favicon.png +0 -0
- data/assets/js/bootstrap.min.js +7 -0
- data/assets/js/bootstrap.min.js.map +1 -0
- data/assets/js/dataTables.bootstrap4.min.js +14 -0
- data/assets/js/jquery.dataTables.min.js +184 -0
- data/assets/js/jquery.min.js +2 -0
- data/assets/js/jquery.rss.js +11 -0
- data/assets/js/moment.min.js +7 -0
- metadata +357 -0
@@ -0,0 +1,144 @@
|
|
1
|
+
// Bootstrap functions
|
2
|
+
//
|
3
|
+
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
|
4
|
+
|
5
|
+
// Ascending
|
6
|
+
// Used to evaluate Sass maps like our grid breakpoints.
|
7
|
+
@mixin _assert-ascending($map, $map-name) {
|
8
|
+
$prev-key: null;
|
9
|
+
$prev-num: null;
|
10
|
+
@each $key, $num in $map {
|
11
|
+
@if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
|
12
|
+
// Do nothing
|
13
|
+
} @else if not comparable($prev-num, $num) {
|
14
|
+
@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}' !";
|
15
|
+
} @else if $prev-num >= $num {
|
16
|
+
@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}' !";
|
17
|
+
}
|
18
|
+
$prev-key: $key;
|
19
|
+
$prev-num: $num;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
// Starts at zero
|
24
|
+
// Used to ensure the min-width of the lowest breakpoint starts at 0.
|
25
|
+
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
|
26
|
+
@if length($map) > 0 {
|
27
|
+
$values: map-values($map);
|
28
|
+
$first-value: nth($values, 1);
|
29
|
+
@if $first-value != 0 {
|
30
|
+
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
// Replace `$search` with `$replace` in `$string`
|
36
|
+
// Used on our SVG icon backgrounds for custom forms.
|
37
|
+
//
|
38
|
+
// @author Hugo Giraudel
|
39
|
+
// @param {String} $string - Initial string
|
40
|
+
// @param {String} $search - Substring to replace
|
41
|
+
// @param {String} $replace ('') - New value
|
42
|
+
// @return {String} - Updated string
|
43
|
+
@function str-replace($string, $search, $replace: "") {
|
44
|
+
$index: str-index($string, $search);
|
45
|
+
|
46
|
+
@if $index {
|
47
|
+
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
48
|
+
}
|
49
|
+
|
50
|
+
@return $string;
|
51
|
+
}
|
52
|
+
|
53
|
+
// See https://codepen.io/kevinweber/pen/dXWoRw
|
54
|
+
//
|
55
|
+
// Requires the use of quotes around data URIs.
|
56
|
+
|
57
|
+
@function escape-svg($string) {
|
58
|
+
@if str-index($string, "data:image/svg+xml") {
|
59
|
+
@each $char, $encoded in $escaped-characters {
|
60
|
+
// Do not escape the url brackets
|
61
|
+
@if str-index($string, "url(") == 1 {
|
62
|
+
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
|
63
|
+
} @else {
|
64
|
+
$string: str-replace($string, $char, $encoded);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
@return $string;
|
70
|
+
}
|
71
|
+
|
72
|
+
// Color contrast
|
73
|
+
@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
|
74
|
+
$r: red($color);
|
75
|
+
$g: green($color);
|
76
|
+
$b: blue($color);
|
77
|
+
|
78
|
+
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
|
79
|
+
|
80
|
+
@if ($yiq >= $yiq-contrasted-threshold) {
|
81
|
+
@return $dark;
|
82
|
+
} @else {
|
83
|
+
@return $light;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
// Retrieve color Sass maps
|
88
|
+
@function color($key: "blue") {
|
89
|
+
@return map-get($colors, $key);
|
90
|
+
}
|
91
|
+
|
92
|
+
@function theme-color($key: "primary") {
|
93
|
+
@return map-get($theme-colors, $key);
|
94
|
+
}
|
95
|
+
|
96
|
+
@function gray($key: "100") {
|
97
|
+
@return map-get($grays, $key);
|
98
|
+
}
|
99
|
+
|
100
|
+
// Request a theme color level
|
101
|
+
@function theme-color-level($color-name: "primary", $level: 0) {
|
102
|
+
$color: theme-color($color-name);
|
103
|
+
$color-base: if($level > 0, $black, $white);
|
104
|
+
$level: abs($level);
|
105
|
+
|
106
|
+
@return mix($color-base, $color, $level * $theme-color-interval);
|
107
|
+
}
|
108
|
+
|
109
|
+
// Return valid calc
|
110
|
+
@function add($value1, $value2, $return-calc: true) {
|
111
|
+
@if $value1 == null {
|
112
|
+
@return $value2;
|
113
|
+
}
|
114
|
+
|
115
|
+
@if $value2 == null {
|
116
|
+
@return $value1;
|
117
|
+
}
|
118
|
+
|
119
|
+
@if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
|
120
|
+
@return $value1 + $value2;
|
121
|
+
}
|
122
|
+
|
123
|
+
@return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
|
124
|
+
}
|
125
|
+
|
126
|
+
@function subtract($value1, $value2, $return-calc: true) {
|
127
|
+
@if $value1 == null and $value2 == null {
|
128
|
+
@return null;
|
129
|
+
}
|
130
|
+
|
131
|
+
@if $value1 == null {
|
132
|
+
@return -$value2;
|
133
|
+
}
|
134
|
+
|
135
|
+
@if $value2 == null {
|
136
|
+
@return $value1;
|
137
|
+
}
|
138
|
+
|
139
|
+
@if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
|
140
|
+
@return $value1 - $value2;
|
141
|
+
}
|
142
|
+
|
143
|
+
@return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
|
144
|
+
}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
// Container widths
|
2
|
+
//
|
3
|
+
// Set the container width, and override it for fixed navbars in media queries.
|
4
|
+
|
5
|
+
@if $enable-grid-classes {
|
6
|
+
// Single container class with breakpoint max-widths
|
7
|
+
.container,
|
8
|
+
// 100% wide container at all breakpoints
|
9
|
+
.container-fluid {
|
10
|
+
@include make-container();
|
11
|
+
}
|
12
|
+
|
13
|
+
// Responsive containers that are 100% wide until a breakpoint
|
14
|
+
@each $breakpoint, $container-max-width in $container-max-widths {
|
15
|
+
.container-#{$breakpoint} {
|
16
|
+
@extend .container-fluid;
|
17
|
+
}
|
18
|
+
|
19
|
+
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
|
20
|
+
%responsive-container-#{$breakpoint} {
|
21
|
+
max-width: $container-max-width;
|
22
|
+
}
|
23
|
+
|
24
|
+
// Extend each breakpoint which is smaller or equal to the current breakpoint
|
25
|
+
$extend-breakpoint: true;
|
26
|
+
|
27
|
+
@each $name, $width in $grid-breakpoints {
|
28
|
+
@if ($extend-breakpoint) {
|
29
|
+
.container#{breakpoint-infix($name, $grid-breakpoints)} {
|
30
|
+
@extend %responsive-container-#{$breakpoint};
|
31
|
+
}
|
32
|
+
|
33
|
+
// Once the current breakpoint is reached, stop extending
|
34
|
+
@if ($breakpoint == $name) {
|
35
|
+
$extend-breakpoint: false;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
// Row
|
45
|
+
//
|
46
|
+
// Rows contain your columns.
|
47
|
+
|
48
|
+
@if $enable-grid-classes {
|
49
|
+
.row {
|
50
|
+
@include make-row();
|
51
|
+
}
|
52
|
+
|
53
|
+
// Remove the negative margin from default .row, then the horizontal padding
|
54
|
+
// from all immediate children columns (to prevent runaway style inheritance).
|
55
|
+
.no-gutters {
|
56
|
+
margin-right: 0;
|
57
|
+
margin-left: 0;
|
58
|
+
|
59
|
+
> .col,
|
60
|
+
> [class*="col-"] {
|
61
|
+
padding-right: 0;
|
62
|
+
padding-left: 0;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
// Columns
|
68
|
+
//
|
69
|
+
// Common styles for small and large grid columns
|
70
|
+
|
71
|
+
@if $enable-grid-classes {
|
72
|
+
@include make-grid-columns();
|
73
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
// Responsive images (ensure images don't scale beyond their parents)
|
2
|
+
//
|
3
|
+
// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
|
4
|
+
// We previously tried the "images are responsive by default" approach in Bootstrap v2,
|
5
|
+
// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
|
6
|
+
// which weren't expecting the images within themselves to be involuntarily resized.
|
7
|
+
// See also https://github.com/twbs/bootstrap/issues/18178
|
8
|
+
.img-fluid {
|
9
|
+
@include img-fluid();
|
10
|
+
}
|
11
|
+
|
12
|
+
|
13
|
+
// Image thumbnails
|
14
|
+
.img-thumbnail {
|
15
|
+
padding: $thumbnail-padding;
|
16
|
+
background-color: $thumbnail-bg;
|
17
|
+
border: $thumbnail-border-width solid $thumbnail-border-color;
|
18
|
+
@include border-radius($thumbnail-border-radius);
|
19
|
+
@include box-shadow($thumbnail-box-shadow);
|
20
|
+
|
21
|
+
// Keep them at most 100% wide
|
22
|
+
@include img-fluid();
|
23
|
+
}
|
24
|
+
|
25
|
+
//
|
26
|
+
// Figures
|
27
|
+
//
|
28
|
+
|
29
|
+
.figure {
|
30
|
+
// Ensures the caption's text aligns with the image.
|
31
|
+
display: inline-block;
|
32
|
+
}
|
33
|
+
|
34
|
+
.figure-img {
|
35
|
+
margin-bottom: $spacer / 2;
|
36
|
+
line-height: 1;
|
37
|
+
}
|
38
|
+
|
39
|
+
.figure-caption {
|
40
|
+
@include font-size($figure-caption-font-size);
|
41
|
+
color: $figure-caption-color;
|
42
|
+
}
|
@@ -0,0 +1,192 @@
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
2
|
+
|
3
|
+
//
|
4
|
+
// Base styles
|
5
|
+
//
|
6
|
+
|
7
|
+
.input-group {
|
8
|
+
position: relative;
|
9
|
+
display: flex;
|
10
|
+
flex-wrap: wrap; // For form validation feedback
|
11
|
+
align-items: stretch;
|
12
|
+
width: 100%;
|
13
|
+
|
14
|
+
> .form-control,
|
15
|
+
> .form-control-plaintext,
|
16
|
+
> .custom-select,
|
17
|
+
> .custom-file {
|
18
|
+
position: relative; // For focus state's z-index
|
19
|
+
flex: 1 1 auto;
|
20
|
+
width: 1%;
|
21
|
+
min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
|
22
|
+
margin-bottom: 0;
|
23
|
+
|
24
|
+
+ .form-control,
|
25
|
+
+ .custom-select,
|
26
|
+
+ .custom-file {
|
27
|
+
margin-left: -$input-border-width;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
// Bring the "active" form control to the top of surrounding elements
|
32
|
+
> .form-control:focus,
|
33
|
+
> .custom-select:focus,
|
34
|
+
> .custom-file .custom-file-input:focus ~ .custom-file-label {
|
35
|
+
z-index: 3;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Bring the custom file input above the label
|
39
|
+
> .custom-file .custom-file-input:focus {
|
40
|
+
z-index: 4;
|
41
|
+
}
|
42
|
+
|
43
|
+
> .form-control,
|
44
|
+
> .custom-select {
|
45
|
+
&:not(:last-child) { @include border-right-radius(0); }
|
46
|
+
&:not(:first-child) { @include border-left-radius(0); }
|
47
|
+
}
|
48
|
+
|
49
|
+
// Custom file inputs have more complex markup, thus requiring different
|
50
|
+
// border-radius overrides.
|
51
|
+
> .custom-file {
|
52
|
+
display: flex;
|
53
|
+
align-items: center;
|
54
|
+
|
55
|
+
&:not(:last-child) .custom-file-label,
|
56
|
+
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
|
57
|
+
&:not(:first-child) .custom-file-label { @include border-left-radius(0); }
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
// Prepend and append
|
63
|
+
//
|
64
|
+
// While it requires one extra layer of HTML for each, dedicated prepend and
|
65
|
+
// append elements allow us to 1) be less clever, 2) simplify our selectors, and
|
66
|
+
// 3) support HTML5 form validation.
|
67
|
+
|
68
|
+
.input-group-prepend,
|
69
|
+
.input-group-append {
|
70
|
+
display: flex;
|
71
|
+
|
72
|
+
// Ensure buttons are always above inputs for more visually pleasing borders.
|
73
|
+
// This isn't needed for `.input-group-text` since it shares the same border-color
|
74
|
+
// as our inputs.
|
75
|
+
.btn {
|
76
|
+
position: relative;
|
77
|
+
z-index: 2;
|
78
|
+
|
79
|
+
&:focus {
|
80
|
+
z-index: 3;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
.btn + .btn,
|
85
|
+
.btn + .input-group-text,
|
86
|
+
.input-group-text + .input-group-text,
|
87
|
+
.input-group-text + .btn {
|
88
|
+
margin-left: -$input-border-width;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
.input-group-prepend { margin-right: -$input-border-width; }
|
93
|
+
.input-group-append { margin-left: -$input-border-width; }
|
94
|
+
|
95
|
+
|
96
|
+
// Textual addons
|
97
|
+
//
|
98
|
+
// Serves as a catch-all element for any text or radio/checkbox input you wish
|
99
|
+
// to prepend or append to an input.
|
100
|
+
|
101
|
+
.input-group-text {
|
102
|
+
display: flex;
|
103
|
+
align-items: center;
|
104
|
+
padding: $input-padding-y $input-padding-x;
|
105
|
+
margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
|
106
|
+
@include font-size($input-font-size); // Match inputs
|
107
|
+
font-weight: $font-weight-normal;
|
108
|
+
line-height: $input-line-height;
|
109
|
+
color: $input-group-addon-color;
|
110
|
+
text-align: center;
|
111
|
+
white-space: nowrap;
|
112
|
+
background-color: $input-group-addon-bg;
|
113
|
+
border: $input-border-width solid $input-group-addon-border-color;
|
114
|
+
@include border-radius($input-border-radius);
|
115
|
+
|
116
|
+
// Nuke default margins from checkboxes and radios to vertically center within.
|
117
|
+
input[type="radio"],
|
118
|
+
input[type="checkbox"] {
|
119
|
+
margin-top: 0;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
// Sizing
|
125
|
+
//
|
126
|
+
// Remix the default form control sizing classes into new ones for easier
|
127
|
+
// manipulation.
|
128
|
+
|
129
|
+
.input-group-lg > .form-control:not(textarea),
|
130
|
+
.input-group-lg > .custom-select {
|
131
|
+
height: $input-height-lg;
|
132
|
+
}
|
133
|
+
|
134
|
+
.input-group-lg > .form-control,
|
135
|
+
.input-group-lg > .custom-select,
|
136
|
+
.input-group-lg > .input-group-prepend > .input-group-text,
|
137
|
+
.input-group-lg > .input-group-append > .input-group-text,
|
138
|
+
.input-group-lg > .input-group-prepend > .btn,
|
139
|
+
.input-group-lg > .input-group-append > .btn {
|
140
|
+
padding: $input-padding-y-lg $input-padding-x-lg;
|
141
|
+
@include font-size($input-font-size-lg);
|
142
|
+
line-height: $input-line-height-lg;
|
143
|
+
@include border-radius($input-border-radius-lg);
|
144
|
+
}
|
145
|
+
|
146
|
+
.input-group-sm > .form-control:not(textarea),
|
147
|
+
.input-group-sm > .custom-select {
|
148
|
+
height: $input-height-sm;
|
149
|
+
}
|
150
|
+
|
151
|
+
.input-group-sm > .form-control,
|
152
|
+
.input-group-sm > .custom-select,
|
153
|
+
.input-group-sm > .input-group-prepend > .input-group-text,
|
154
|
+
.input-group-sm > .input-group-append > .input-group-text,
|
155
|
+
.input-group-sm > .input-group-prepend > .btn,
|
156
|
+
.input-group-sm > .input-group-append > .btn {
|
157
|
+
padding: $input-padding-y-sm $input-padding-x-sm;
|
158
|
+
@include font-size($input-font-size-sm);
|
159
|
+
line-height: $input-line-height-sm;
|
160
|
+
@include border-radius($input-border-radius-sm);
|
161
|
+
}
|
162
|
+
|
163
|
+
.input-group-lg > .custom-select,
|
164
|
+
.input-group-sm > .custom-select {
|
165
|
+
padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
|
166
|
+
}
|
167
|
+
|
168
|
+
|
169
|
+
// Prepend and append rounded corners
|
170
|
+
//
|
171
|
+
// These rulesets must come after the sizing ones to properly override sm and lg
|
172
|
+
// border-radius values when extending. They're more specific than we'd like
|
173
|
+
// with the `.input-group >` part, but without it, we cannot override the sizing.
|
174
|
+
|
175
|
+
|
176
|
+
.input-group > .input-group-prepend > .btn,
|
177
|
+
.input-group > .input-group-prepend > .input-group-text,
|
178
|
+
.input-group > .input-group-append:not(:last-child) > .btn,
|
179
|
+
.input-group > .input-group-append:not(:last-child) > .input-group-text,
|
180
|
+
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
|
181
|
+
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
|
182
|
+
@include border-right-radius(0);
|
183
|
+
}
|
184
|
+
|
185
|
+
.input-group > .input-group-append > .btn,
|
186
|
+
.input-group > .input-group-append > .input-group-text,
|
187
|
+
.input-group > .input-group-prepend:not(:first-child) > .btn,
|
188
|
+
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
|
189
|
+
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
|
190
|
+
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
|
191
|
+
@include border-left-radius(0);
|
192
|
+
}
|