jekyll-theme-petridish 3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +57 -0
  4. data/_config.yml +54 -0
  5. data/_data/custom-navigation.yml +13 -0
  6. data/_data/footer.yml +25 -0
  7. data/_data/navigation.yml +24 -0
  8. data/_data/team.yml +26 -0
  9. data/_includes/card.html +41 -0
  10. data/_includes/footer.html +125 -0
  11. data/_includes/head.html +69 -0
  12. data/_includes/header.html +42 -0
  13. data/_includes/navbar.html +58 -0
  14. data/_includes/toc.html +182 -0
  15. data/_layouts/archive.html +46 -0
  16. data/_layouts/base.html +26 -0
  17. data/_layouts/default.html +41 -0
  18. data/_layouts/home.html +39 -0
  19. data/_layouts/team.html +76 -0
  20. data/_sass/_base.scss +18 -0
  21. data/_sass/_card.scss +51 -0
  22. data/_sass/_content.scss +108 -0
  23. data/_sass/_custom.scss +3 -0
  24. data/_sass/_footer.scss +38 -0
  25. data/_sass/_header.scss +103 -0
  26. data/_sass/_main.scss +6 -0
  27. data/_sass/_navbar.scss +27 -0
  28. data/_sass/_team.scss +23 -0
  29. data/_sass/_toc.scss +47 -0
  30. data/_sass/_variables.scss +72 -0
  31. data/_sass/bootstrap/_accordion.scss +118 -0
  32. data/_sass/bootstrap/_alert.scss +57 -0
  33. data/_sass/bootstrap/_badge.scss +29 -0
  34. data/_sass/bootstrap/_breadcrumb.scss +28 -0
  35. data/_sass/bootstrap/_button-group.scss +139 -0
  36. data/_sass/bootstrap/_buttons.scss +111 -0
  37. data/_sass/bootstrap/_card.scss +216 -0
  38. data/_sass/bootstrap/_carousel.scss +229 -0
  39. data/_sass/bootstrap/_close.scss +40 -0
  40. data/_sass/bootstrap/_containers.scss +41 -0
  41. data/_sass/bootstrap/_dropdown.scss +240 -0
  42. data/_sass/bootstrap/_forms.scss +9 -0
  43. data/_sass/bootstrap/_functions.scss +302 -0
  44. data/_sass/bootstrap/_grid.scss +33 -0
  45. data/_sass/bootstrap/_helpers.scss +9 -0
  46. data/_sass/bootstrap/_images.scss +42 -0
  47. data/_sass/bootstrap/_list-group.scss +174 -0
  48. data/_sass/bootstrap/_mixins.scss +43 -0
  49. data/_sass/bootstrap/_modal.scss +209 -0
  50. data/_sass/bootstrap/_nav.scss +139 -0
  51. data/_sass/bootstrap/_navbar.scss +335 -0
  52. data/_sass/bootstrap/_offcanvas.scss +83 -0
  53. data/_sass/bootstrap/_pagination.scss +64 -0
  54. data/_sass/bootstrap/_placeholders.scss +51 -0
  55. data/_sass/bootstrap/_popover.scss +158 -0
  56. data/_sass/bootstrap/_progress.scss +48 -0
  57. data/_sass/bootstrap/_reboot.scss +625 -0
  58. data/_sass/bootstrap/_root.scss +54 -0
  59. data/_sass/bootstrap/_spinners.scss +69 -0
  60. data/_sass/bootstrap/_tables.scss +155 -0
  61. data/_sass/bootstrap/_toasts.scss +51 -0
  62. data/_sass/bootstrap/_tooltip.scss +115 -0
  63. data/_sass/bootstrap/_transitions.scss +27 -0
  64. data/_sass/bootstrap/_type.scss +104 -0
  65. data/_sass/bootstrap/_utilities.scss +630 -0
  66. data/_sass/bootstrap/_variables.scss +1641 -0
  67. data/_sass/bootstrap/bootstrap-grid.scss +67 -0
  68. data/_sass/bootstrap/bootstrap-reboot.scss +13 -0
  69. data/_sass/bootstrap/bootstrap-utilities.scss +18 -0
  70. data/_sass/bootstrap/bootstrap.scss +53 -0
  71. data/_sass/bootstrap/forms/_floating-labels.scss +63 -0
  72. data/_sass/bootstrap/forms/_form-check.scss +152 -0
  73. data/_sass/bootstrap/forms/_form-control.scss +219 -0
  74. data/_sass/bootstrap/forms/_form-range.scss +91 -0
  75. data/_sass/bootstrap/forms/_form-select.scss +72 -0
  76. data/_sass/bootstrap/forms/_form-text.scss +11 -0
  77. data/_sass/bootstrap/forms/_input-group.scss +121 -0
  78. data/_sass/bootstrap/forms/_labels.scss +36 -0
  79. data/_sass/bootstrap/forms/_validation.scss +12 -0
  80. data/_sass/bootstrap/helpers/_clearfix.scss +3 -0
  81. data/_sass/bootstrap/helpers/_colored-links.scss +12 -0
  82. data/_sass/bootstrap/helpers/_position.scss +30 -0
  83. data/_sass/bootstrap/helpers/_ratio.scss +26 -0
  84. data/_sass/bootstrap/helpers/_stacks.scss +15 -0
  85. data/_sass/bootstrap/helpers/_stretched-link.scss +15 -0
  86. data/_sass/bootstrap/helpers/_text-truncation.scss +7 -0
  87. data/_sass/bootstrap/helpers/_visually-hidden.scss +8 -0
  88. data/_sass/bootstrap/helpers/_vr.scss +8 -0
  89. data/_sass/bootstrap/mixins/_alert.scss +11 -0
  90. data/_sass/bootstrap/mixins/_backdrop.scss +14 -0
  91. data/_sass/bootstrap/mixins/_border-radius.scss +78 -0
  92. data/_sass/bootstrap/mixins/_box-shadow.scss +18 -0
  93. data/_sass/bootstrap/mixins/_breakpoints.scss +127 -0
  94. data/_sass/bootstrap/mixins/_buttons.scss +133 -0
  95. data/_sass/bootstrap/mixins/_caret.scss +64 -0
  96. data/_sass/bootstrap/mixins/_clearfix.scss +9 -0
  97. data/_sass/bootstrap/mixins/_color-scheme.scss +7 -0
  98. data/_sass/bootstrap/mixins/_container.scss +9 -0
  99. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  100. data/_sass/bootstrap/mixins/_forms.scss +144 -0
  101. data/_sass/bootstrap/mixins/_gradients.scss +47 -0
  102. data/_sass/bootstrap/mixins/_grid.scss +151 -0
  103. data/_sass/bootstrap/mixins/_image.scss +16 -0
  104. data/_sass/bootstrap/mixins/_list-group.scss +24 -0
  105. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  106. data/_sass/bootstrap/mixins/_pagination.scss +31 -0
  107. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  108. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  109. data/_sass/bootstrap/mixins/_table-variants.scss +21 -0
  110. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  111. data/_sass/bootstrap/mixins/_transition.scss +26 -0
  112. data/_sass/bootstrap/mixins/_utilities.scss +89 -0
  113. data/_sass/bootstrap/mixins/_visually-hidden.scss +29 -0
  114. data/_sass/bootstrap/utilities/_api.scss +47 -0
  115. data/_sass/bootstrap/vendor/_rfs.scss +354 -0
  116. data/assets/theme/css/academicons.min.css +1 -0
  117. data/assets/theme/css/fontawesome-all.min.css +5 -0
  118. data/assets/theme/css/main.scss +59 -0
  119. data/assets/theme/css/pygments.css +77 -0
  120. data/assets/theme/fonts/academicons.eot +0 -0
  121. data/assets/theme/fonts/academicons.svg +1663 -0
  122. data/assets/theme/fonts/academicons.ttf +0 -0
  123. data/assets/theme/fonts/academicons.woff +0 -0
  124. data/assets/theme/images/chuttersnap-146799-unsplash.jpg +0 -0
  125. data/assets/theme/images/farnsworth_angelo-abear-1662775-unsplash.jpg +0 -0
  126. data/assets/theme/images/fry_ethan-hoover-311143-unsplash.jpg +0 -0
  127. data/assets/theme/images/petri-dish_1f9eb.png +0 -0
  128. data/assets/theme/js/anchor.min.js +9 -0
  129. data/assets/theme/js/bootstrap.min.js +7 -0
  130. data/assets/theme/js/bootstrap.min.js.map +1 -0
  131. data/assets/theme/js/jquery.min.js +2 -0
  132. data/assets/theme/js/popper.min.js +6 -0
  133. data/assets/theme/js/popper.min.js.map +1 -0
  134. data/assets/theme/webfonts/fa-brands-400.eot +0 -0
  135. data/assets/theme/webfonts/fa-brands-400.svg +3717 -0
  136. data/assets/theme/webfonts/fa-brands-400.ttf +0 -0
  137. data/assets/theme/webfonts/fa-brands-400.woff +0 -0
  138. data/assets/theme/webfonts/fa-brands-400.woff2 +0 -0
  139. data/assets/theme/webfonts/fa-regular-400.eot +0 -0
  140. data/assets/theme/webfonts/fa-regular-400.svg +801 -0
  141. data/assets/theme/webfonts/fa-regular-400.ttf +0 -0
  142. data/assets/theme/webfonts/fa-regular-400.woff +0 -0
  143. data/assets/theme/webfonts/fa-regular-400.woff2 +0 -0
  144. data/assets/theme/webfonts/fa-solid-900.eot +0 -0
  145. data/assets/theme/webfonts/fa-solid-900.svg +5034 -0
  146. data/assets/theme/webfonts/fa-solid-900.ttf +0 -0
  147. data/assets/theme/webfonts/fa-solid-900.woff +0 -0
  148. data/assets/theme/webfonts/fa-solid-900.woff2 +0 -0
  149. metadata +204 -0
@@ -0,0 +1,103 @@
1
+ // Header
2
+
3
+ .header {
4
+ // Mimics Bootstrap v4 .jumbotron
5
+ // background-image: set in page front matter
6
+ background-position: center;
7
+ background-repeat: no-repeat;
8
+ background-size: cover;
9
+ border-radius: 0; // Should always be square, independent from $enable-rounded
10
+ color: $white;
11
+ margin-bottom: 2rem;
12
+ padding: 2rem 1rem;
13
+ position: relative; // To contain overlay
14
+ text-align: center;
15
+
16
+ @include media-breakpoint-up(md) {
17
+ padding: 4rem 2rem;
18
+ }
19
+
20
+ &.bg-no-image {
21
+ background-color: $secondary;
22
+ }
23
+
24
+ // Overlay
25
+ &.bg-image:before {
26
+ background-image: linear-gradient(rgba($dark, 0.1), rgba($dark, 0.9));
27
+ content: "";
28
+ left: 0;
29
+ height: 100%;
30
+ position: absolute;
31
+ top: 0;
32
+ width: 100%;
33
+ }
34
+
35
+ a {
36
+ &:not([class]) { // Excludes <a> with class, e.g. .btn .badge
37
+ color: $white;
38
+ text-decoration: underline;
39
+ &:hover {
40
+ color: darken($white, 10);
41
+ }
42
+ }
43
+ }
44
+
45
+ h1 {
46
+ $header-h1: 3rem;
47
+ font-size: $header-h1;
48
+ font-weight: 800;
49
+
50
+ // Reduce font-size on smaller screens, except on homepage
51
+ @include media-breakpoint-down(md) {
52
+ font-size: $header-h1 - 1;
53
+
54
+ &.home {
55
+ font-size: $header-h1;
56
+ }
57
+ }
58
+ }
59
+
60
+ .lead {
61
+ font-size: ($lead-font-size * 1.1);
62
+ }
63
+
64
+ .meta {
65
+ font-size: 1.25rem;
66
+ }
67
+
68
+ .badge {
69
+ border: 2px solid $white;
70
+ color: $white;
71
+ margin-top: 0.25rem;
72
+ padding-left: $badge-padding-x * 2;
73
+ padding-right: $badge-padding-x * 2;
74
+ text-decoration: none;
75
+ text-transform: uppercase;
76
+
77
+ .btn-close {
78
+ // color: defined in svg, inverted with .btn-close-white
79
+ font-size: inherit;
80
+ margin-left: 0.5rem;
81
+ margin-right: -0.25rem;
82
+ }
83
+ }
84
+
85
+ // Use light colored badge border when header has no background-image
86
+ &.bg-no-image .badge {
87
+ border: 2px solid lighten($secondary, 25);
88
+ }
89
+
90
+ .caption {
91
+ bottom: 0;
92
+ color: darken($white, 25);
93
+ font-size: 80%;
94
+ padding: 0 0.5rem;
95
+ position: absolute;
96
+ right: 0;
97
+
98
+ a {
99
+ color: darken($white, 25);
100
+ text-decoration: none;
101
+ }
102
+ }
103
+ }
data/_sass/_main.scss ADDED
@@ -0,0 +1,6 @@
1
+ // Main container
2
+
3
+ body > main {
4
+ min-height: calc(100vh - 54px); // Viewport height minus medium screen navbar height, to push footer to bottom
5
+ padding-bottom: $grid-gutter-width; // Don't stick to footer
6
+ }
@@ -0,0 +1,27 @@
1
+ // Navbar
2
+
3
+ .navbar {
4
+ background-color: white!important;
5
+ border-bottom: 1px solid $gray-200;
6
+
7
+ .navbar-brand {
8
+ font-weight: bold;
9
+ img {
10
+ height: 30px;
11
+ }
12
+ }
13
+
14
+ // Remove border on .dropdown-menu when .navbar is collapsed
15
+ @include media-breakpoint-down(lg) {
16
+ .dropdown-menu {
17
+ border: none;
18
+ padding-top: 0;
19
+ }
20
+ }
21
+
22
+ .navbar-toggler {
23
+ font-size: 90%;
24
+ padding: 10px;
25
+ text-transform: uppercase;
26
+ }
27
+ }
data/_sass/_team.scss ADDED
@@ -0,0 +1,23 @@
1
+ // Team members
2
+
3
+ .team-member {
4
+ margin-bottom: $grid-gutter-width;
5
+
6
+ // Image container
7
+ .flex-shrink-0 {
8
+ width: 100px;
9
+
10
+ img {
11
+ height: 100px;
12
+ width: 100px;
13
+ border: 3px solid $gray-200;
14
+ border-radius: 100px;
15
+ }
16
+ }
17
+
18
+ .orcid {
19
+ height: 16px;
20
+ width: 16px;
21
+ margin-top: -3px;
22
+ }
23
+ }
data/_sass/_toc.scss ADDED
@@ -0,0 +1,47 @@
1
+ // Table of content
2
+ //
3
+ // Table of content is included in default.html
4
+
5
+ .toc {
6
+ font-family: $font-family-base;
7
+ font-size: 0.9rem;
8
+ color: $text-muted;
9
+ margin-bottom: 2rem;
10
+
11
+ // Side navigation on larger pages
12
+ @include media-breakpoint-up(lg) {
13
+ position: sticky;
14
+ top: 2rem;
15
+ right: 0;
16
+ overflow-y: auto;
17
+ max-height: calc(100vh - 2rem); // Allow scroll within toc
18
+ }
19
+
20
+ h6 {
21
+ border-bottom: 1px solid $text-muted;
22
+ padding-bottom: 0.5rem;
23
+ }
24
+
25
+ a {
26
+ color: $text-muted;
27
+ text-decoration: none;
28
+
29
+ &:hover {
30
+ text-decoration: underline;
31
+ }
32
+ }
33
+
34
+ ul {
35
+ list-style: none;
36
+ padding-left: 0;
37
+
38
+ li {
39
+ margin-bottom: 0.25rem;
40
+ }
41
+
42
+ ul {
43
+ margin-top: 0.25rem;
44
+ padding-left: 1rem;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,72 @@
1
+ // Theme overrides for Bootstrap variables
2
+ //
3
+ // Compare with bootstrap/_variables.scss
4
+ // Only include variables that are overwritten
5
+ // or variables (indicated with !default) that are referred by other variables.
6
+
7
+ // Color system
8
+
9
+ $primary: $custom_link_color;
10
+ $secondary: $custom_banner_color;
11
+ $footer: $custom_footer_color; // Theme variable
12
+
13
+ // Characters which are escaped by the escape-svg function
14
+ // Options
15
+ // Prefix for :root CSS variables
16
+ // Gradient
17
+ // Spacing
18
+
19
+ $spacer: 1rem !default;
20
+
21
+ // Position
22
+ // Body
23
+ // Utilities maps
24
+ // Links
25
+
26
+ $link-decoration: none;
27
+ $link-hover-decoration: underline;
28
+
29
+ // Paragraphs
30
+ // Grid breakpoints
31
+ // Grid containers
32
+ // Grid columns
33
+ // Container padding
34
+ // Components
35
+ // Typography
36
+
37
+ $font-family-base: "Roboto", sans-serif;
38
+
39
+ $headings-margin-bottom: $spacer;
40
+
41
+ // Tables
42
+ // Buttons + Forms
43
+ // Buttons
44
+ // Forms
45
+ // Form validation
46
+ // Z-index master list
47
+ // Navs
48
+ // Navbar
49
+ // Dropdowns
50
+ // Pagination
51
+ // Placeholders
52
+ // Cards
53
+ // Accordion
54
+ // Tooltips
55
+ // Popovers
56
+ // Toasts
57
+ // Badges
58
+
59
+ $badge-font-weight: normal;
60
+
61
+ // Modals
62
+ // Alerts
63
+ // Progress bars
64
+ // List group
65
+ // Image thumbnails
66
+ // Figures
67
+ // Breadcrumbs
68
+ // Carousel
69
+ // Spinners
70
+ // Close
71
+ // Offcanvas
72
+ // Code
@@ -0,0 +1,118 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .accordion-button {
6
+ position: relative;
7
+ display: flex;
8
+ align-items: center;
9
+ width: 100%;
10
+ padding: $accordion-button-padding-y $accordion-button-padding-x;
11
+ @include font-size($font-size-base);
12
+ color: $accordion-button-color;
13
+ text-align: left; // Reset button style
14
+ background-color: $accordion-button-bg;
15
+ border: 0;
16
+ @include border-radius(0);
17
+ overflow-anchor: none;
18
+ @include transition($accordion-transition);
19
+
20
+ &:not(.collapsed) {
21
+ color: $accordion-button-active-color;
22
+ background-color: $accordion-button-active-bg;
23
+ box-shadow: inset 0 ($accordion-border-width * -1) 0 $accordion-border-color;
24
+
25
+ &::after {
26
+ background-image: escape-svg($accordion-button-active-icon);
27
+ transform: $accordion-icon-transform;
28
+ }
29
+ }
30
+
31
+ // Accordion icon
32
+ &::after {
33
+ flex-shrink: 0;
34
+ width: $accordion-icon-width;
35
+ height: $accordion-icon-width;
36
+ margin-left: auto;
37
+ content: "";
38
+ background-image: escape-svg($accordion-button-icon);
39
+ background-repeat: no-repeat;
40
+ background-size: $accordion-icon-width;
41
+ @include transition($accordion-icon-transition);
42
+ }
43
+
44
+ &:hover {
45
+ z-index: 2;
46
+ }
47
+
48
+ &:focus {
49
+ z-index: 3;
50
+ border-color: $accordion-button-focus-border-color;
51
+ outline: 0;
52
+ box-shadow: $accordion-button-focus-box-shadow;
53
+ }
54
+ }
55
+
56
+ .accordion-header {
57
+ margin-bottom: 0;
58
+ }
59
+
60
+ .accordion-item {
61
+ background-color: $accordion-bg;
62
+ border: $accordion-border-width solid $accordion-border-color;
63
+
64
+ &:first-of-type {
65
+ @include border-top-radius($accordion-border-radius);
66
+
67
+ .accordion-button {
68
+ @include border-top-radius($accordion-inner-border-radius);
69
+ }
70
+ }
71
+
72
+ &:not(:first-of-type) {
73
+ border-top: 0;
74
+ }
75
+
76
+ // Only set a border-radius on the last item if the accordion is collapsed
77
+ &:last-of-type {
78
+ @include border-bottom-radius($accordion-border-radius);
79
+
80
+ .accordion-button {
81
+ &.collapsed {
82
+ @include border-bottom-radius($accordion-inner-border-radius);
83
+ }
84
+ }
85
+
86
+ .accordion-collapse {
87
+ @include border-bottom-radius($accordion-border-radius);
88
+ }
89
+ }
90
+ }
91
+
92
+ .accordion-body {
93
+ padding: $accordion-body-padding-y $accordion-body-padding-x;
94
+ }
95
+
96
+
97
+ // Flush accordion items
98
+ //
99
+ // Remove borders and border-radius to keep accordion items edge-to-edge.
100
+
101
+ .accordion-flush {
102
+ .accordion-collapse {
103
+ border-width: 0;
104
+ }
105
+
106
+ .accordion-item {
107
+ border-right: 0;
108
+ border-left: 0;
109
+ @include border-radius(0);
110
+
111
+ &:first-child { border-top: 0; }
112
+ &:last-child { border-bottom: 0; }
113
+
114
+ .accordion-button {
115
+ @include border-radius(0);
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,57 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .alert {
6
+ position: relative;
7
+ padding: $alert-padding-y $alert-padding-x;
8
+ margin-bottom: $alert-margin-bottom;
9
+ border: $alert-border-width solid transparent;
10
+ @include border-radius($alert-border-radius);
11
+ }
12
+
13
+ // Headings for larger alerts
14
+ .alert-heading {
15
+ // Specified to prevent conflicts of changing $headings-color
16
+ color: inherit;
17
+ }
18
+
19
+ // Provide class for links that match alerts
20
+ .alert-link {
21
+ font-weight: $alert-link-font-weight;
22
+ }
23
+
24
+
25
+ // Dismissible alerts
26
+ //
27
+ // Expand the right padding and account for the close button's positioning.
28
+
29
+ .alert-dismissible {
30
+ padding-right: $alert-dismissible-padding-r;
31
+
32
+ // Adjust close link position
33
+ .btn-close {
34
+ position: absolute;
35
+ top: 0;
36
+ right: 0;
37
+ z-index: $stretched-link-z-index + 1;
38
+ padding: $alert-padding-y * 1.25 $alert-padding-x;
39
+ }
40
+ }
41
+
42
+
43
+ // scss-docs-start alert-modifiers
44
+ // Generate contextual modifier classes for colorizing the alert.
45
+
46
+ @each $state, $value in $theme-colors {
47
+ $alert-background: shift-color($value, $alert-bg-scale);
48
+ $alert-border: shift-color($value, $alert-border-scale);
49
+ $alert-color: shift-color($value, $alert-color-scale);
50
+ @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
51
+ $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
52
+ }
53
+ .alert-#{$state} {
54
+ @include alert-variant($alert-background, $alert-border, $alert-color);
55
+ }
56
+ }
57
+ // scss-docs-end alert-modifiers
@@ -0,0 +1,29 @@
1
+ // Base class
2
+ //
3
+ // Requires one of the contextual, color modifier classes for `color` and
4
+ // `background-color`.
5
+
6
+ .badge {
7
+ display: inline-block;
8
+ padding: $badge-padding-y $badge-padding-x;
9
+ @include font-size($badge-font-size);
10
+ font-weight: $badge-font-weight;
11
+ line-height: 1;
12
+ color: $badge-color;
13
+ text-align: center;
14
+ white-space: nowrap;
15
+ vertical-align: baseline;
16
+ @include border-radius($badge-border-radius);
17
+ @include gradient-bg();
18
+
19
+ // Empty badges collapse automatically
20
+ &:empty {
21
+ display: none;
22
+ }
23
+ }
24
+
25
+ // Quick fix for badges in buttons
26
+ .btn .badge {
27
+ position: relative;
28
+ top: -1px;
29
+ }
@@ -0,0 +1,28 @@
1
+ .breadcrumb {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5
+ margin-bottom: $breadcrumb-margin-bottom;
6
+ @include font-size($breadcrumb-font-size);
7
+ list-style: none;
8
+ background-color: $breadcrumb-bg;
9
+ @include border-radius($breadcrumb-border-radius);
10
+ }
11
+
12
+ .breadcrumb-item {
13
+ // The separator between breadcrumbs (by default, a forward-slash: "/")
14
+ + .breadcrumb-item {
15
+ padding-left: $breadcrumb-item-padding-x;
16
+
17
+ &::before {
18
+ float: left; // Suppress inline spacings and underlining of the separator
19
+ padding-right: $breadcrumb-item-padding-x;
20
+ color: $breadcrumb-divider-color;
21
+ content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
22
+ }
23
+ }
24
+
25
+ &.active {
26
+ color: $breadcrumb-active-color;
27
+ }
28
+ }
@@ -0,0 +1,139 @@
1
+ // Make the div behave like a button
2
+ .btn-group,
3
+ .btn-group-vertical {
4
+ position: relative;
5
+ display: inline-flex;
6
+ vertical-align: middle; // match .btn alignment given font-size hack above
7
+
8
+ > .btn {
9
+ position: relative;
10
+ flex: 1 1 auto;
11
+ }
12
+
13
+ // Bring the hover, focused, and "active" buttons to the front to overlay
14
+ // the borders properly
15
+ > .btn-check:checked + .btn,
16
+ > .btn-check:focus + .btn,
17
+ > .btn:hover,
18
+ > .btn:focus,
19
+ > .btn:active,
20
+ > .btn.active {
21
+ z-index: 1;
22
+ }
23
+ }
24
+
25
+ // Optional: Group multiple button groups together for a toolbar
26
+ .btn-toolbar {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ justify-content: flex-start;
30
+
31
+ .input-group {
32
+ width: auto;
33
+ }
34
+ }
35
+
36
+ .btn-group {
37
+ // Prevent double borders when buttons are next to each other
38
+ > .btn:not(:first-child),
39
+ > .btn-group:not(:first-child) {
40
+ margin-left: -$btn-border-width;
41
+ }
42
+
43
+ // Reset rounded corners
44
+ > .btn:not(:last-child):not(.dropdown-toggle),
45
+ > .btn-group:not(:last-child) > .btn {
46
+ @include border-end-radius(0);
47
+ }
48
+
49
+ // The left radius should be 0 if the button is:
50
+ // - the "third or more" child
51
+ // - the second child and the previous element isn't `.btn-check` (making it the first child visually)
52
+ // - part of a btn-group which isn't the first child
53
+ > .btn:nth-child(n + 3),
54
+ > :not(.btn-check) + .btn,
55
+ > .btn-group:not(:first-child) > .btn {
56
+ @include border-start-radius(0);
57
+ }
58
+ }
59
+
60
+ // Sizing
61
+ //
62
+ // Remix the default button sizing classes into new ones for easier manipulation.
63
+
64
+ .btn-group-sm > .btn { @extend .btn-sm; }
65
+ .btn-group-lg > .btn { @extend .btn-lg; }
66
+
67
+
68
+ //
69
+ // Split button dropdowns
70
+ //
71
+
72
+ .dropdown-toggle-split {
73
+ padding-right: $btn-padding-x * .75;
74
+ padding-left: $btn-padding-x * .75;
75
+
76
+ &::after,
77
+ .dropup &::after,
78
+ .dropend &::after {
79
+ margin-left: 0;
80
+ }
81
+
82
+ .dropstart &::before {
83
+ margin-right: 0;
84
+ }
85
+ }
86
+
87
+ .btn-sm + .dropdown-toggle-split {
88
+ padding-right: $btn-padding-x-sm * .75;
89
+ padding-left: $btn-padding-x-sm * .75;
90
+ }
91
+
92
+ .btn-lg + .dropdown-toggle-split {
93
+ padding-right: $btn-padding-x-lg * .75;
94
+ padding-left: $btn-padding-x-lg * .75;
95
+ }
96
+
97
+
98
+ // The clickable button for toggling the menu
99
+ // Set the same inset shadow as the :active state
100
+ .btn-group.show .dropdown-toggle {
101
+ @include box-shadow($btn-active-box-shadow);
102
+
103
+ // Show no shadow for `.btn-link` since it has no other button styles.
104
+ &.btn-link {
105
+ @include box-shadow(none);
106
+ }
107
+ }
108
+
109
+
110
+ //
111
+ // Vertical button groups
112
+ //
113
+
114
+ .btn-group-vertical {
115
+ flex-direction: column;
116
+ align-items: flex-start;
117
+ justify-content: center;
118
+
119
+ > .btn,
120
+ > .btn-group {
121
+ width: 100%;
122
+ }
123
+
124
+ > .btn:not(:first-child),
125
+ > .btn-group:not(:first-child) {
126
+ margin-top: -$btn-border-width;
127
+ }
128
+
129
+ // Reset rounded corners
130
+ > .btn:not(:last-child):not(.dropdown-toggle),
131
+ > .btn-group:not(:last-child) > .btn {
132
+ @include border-bottom-radius(0);
133
+ }
134
+
135
+ > .btn ~ .btn,
136
+ > .btn-group:not(:first-child) > .btn {
137
+ @include border-top-radius(0);
138
+ }
139
+ }