jekyll-any-theme 0.1.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.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +52 -0
- data/_includes/api/example.html +23 -0
- data/_includes/api/get.html +11 -0
- data/_includes/api/save.html +1 -0
- data/_includes/components/alert.html +7 -0
- data/_includes/components/blockquote.html +23 -0
- data/_includes/components/bootstrap.html +245 -0
- data/_includes/components/card.html +85 -0
- data/_includes/components/lead.html +1 -0
- data/_includes/components/login.html +28 -0
- data/_includes/components/navbar_link.html +3 -0
- data/_includes/components/navbar_text.html +3 -0
- data/_includes/components/page_info.html +48 -0
- data/_includes/components/toc.html +18 -0
- data/_includes/filters/link_to_file.html +26 -0
- data/_includes/filters/unslug.html +17 -0
- data/_includes/page/end.html +2 -0
- data/_includes/page/footer.html +26 -0
- data/_includes/page/head.html +28 -0
- data/_includes/page/header.html +7 -0
- data/_includes/page/init.html +17 -0
- data/_includes/page/main.html +44 -0
- data/_includes/page/navbar.html +69 -0
- data/_includes/page/sidebar.html +6 -0
- data/_includes/page/top.html +27 -0
- data/_includes/tempus/calendar.html +26 -0
- data/_includes/tempus/events.html +72 -0
- data/_includes/tempus/next.html +73 -0
- data/_includes/widgets/libros.html +183 -0
- data/_includes/widgets/themes.html +11 -0
- data/_includes/widgets/toc.html +18 -0
- data/_layouts/default.html +8 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +5 -0
- data/_sass/_any_theme.sass +54 -0
- data/_sass/any_theme/_corrections.sass +71 -0
- data/_sass/any_theme/_headings.sass +13 -0
- data/_sass/any_theme/_mixins.sass +11 -0
- data/_sass/any_theme/_syntax_blood.scss +310 -0
- data/_sass/any_theme/_syntax_dark.scss +63 -0
- data/_sass/any_theme/_syntax_default.scss +310 -0
- data/_sass/any_theme/_toc.sass +4 -0
- data/_sass/any_theme/_widgets.sass +48 -0
- data/_sass/bootstrap/_alert.scss +51 -0
- data/_sass/bootstrap/_badge.scss +47 -0
- data/_sass/bootstrap/_breadcrumb.scss +38 -0
- data/_sass/bootstrap/_button-group.scss +166 -0
- data/_sass/bootstrap/_buttons.scss +143 -0
- data/_sass/bootstrap/_card.scss +270 -0
- data/_sass/bootstrap/_carousel.scss +191 -0
- data/_sass/bootstrap/_close.scss +34 -0
- data/_sass/bootstrap/_code.scss +56 -0
- data/_sass/bootstrap/_custom-forms.scss +297 -0
- data/_sass/bootstrap/_dropdown.scss +131 -0
- data/_sass/bootstrap/_forms.scss +333 -0
- data/_sass/bootstrap/_functions.scss +86 -0
- data/_sass/bootstrap/_grid.scss +52 -0
- data/_sass/bootstrap/_images.scss +42 -0
- data/_sass/bootstrap/_input-group.scss +159 -0
- data/_sass/bootstrap/_jumbotron.scss +16 -0
- data/_sass/bootstrap/_list-group.scss +115 -0
- data/_sass/bootstrap/_media.scss +8 -0
- data/_sass/bootstrap/_mixins.scss +42 -0
- data/_sass/bootstrap/_modal.scss +168 -0
- data/_sass/bootstrap/_nav.scss +118 -0
- data/_sass/bootstrap/_navbar.scss +311 -0
- data/_sass/bootstrap/_pagination.scss +77 -0
- data/_sass/bootstrap/_popover.scss +183 -0
- data/_sass/bootstrap/_print.scss +124 -0
- data/_sass/bootstrap/_progress.scss +33 -0
- data/_sass/bootstrap/_reboot.scss +482 -0
- data/_sass/bootstrap/_root.scss +19 -0
- data/_sass/bootstrap/_tables.scss +180 -0
- data/_sass/bootstrap/_tooltip.scss +115 -0
- data/_sass/bootstrap/_transitions.scss +36 -0
- data/_sass/bootstrap/_type.scss +125 -0
- data/_sass/bootstrap/_utilities.scss +14 -0
- data/_sass/bootstrap/_variables.scss +894 -0
- data/_sass/bootstrap/bootstrap-grid.scss +32 -0
- data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/bootstrap.scss +42 -0
- data/_sass/bootstrap/mixins/_alert.scss +13 -0
- data/_sass/bootstrap/mixins/_background-variant.scss +21 -0
- data/_sass/bootstrap/mixins/_badge.scss +12 -0
- data/_sass/bootstrap/mixins/_border-radius.scss +35 -0
- data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
- data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
- data/_sass/bootstrap/mixins/_buttons.scss +109 -0
- data/_sass/bootstrap/mixins/_caret.scss +65 -0
- data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
- data/_sass/bootstrap/mixins/_float.scss +11 -0
- data/_sass/bootstrap/mixins/_forms.scss +137 -0
- data/_sass/bootstrap/mixins/_gradients.scss +45 -0
- data/_sass/bootstrap/mixins/_grid-framework.scss +67 -0
- data/_sass/bootstrap/mixins/_grid.scss +52 -0
- data/_sass/bootstrap/mixins/_hover.scss +39 -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 +10 -0
- data/_sass/bootstrap/mixins/_navbar-align.scss +10 -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 +35 -0
- data/_sass/bootstrap/mixins/_size.scss +6 -0
- data/_sass/bootstrap/mixins/_table-row.scss +30 -0
- data/_sass/bootstrap/mixins/_text-emphasis.scss +14 -0
- data/_sass/bootstrap/mixins/_text-hide.scss +9 -0
- data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/mixins/_transition.scss +9 -0
- data/_sass/bootstrap/mixins/_visibility.scss +7 -0
- data/_sass/bootstrap/utilities/_align.scss +8 -0
- data/_sass/bootstrap/utilities/_background.scss +19 -0
- data/_sass/bootstrap/utilities/_borders.scss +59 -0
- data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/utilities/_display.scss +38 -0
- data/_sass/bootstrap/utilities/_embed.scss +52 -0
- data/_sass/bootstrap/utilities/_flex.scss +46 -0
- data/_sass/bootstrap/utilities/_float.scss +9 -0
- data/_sass/bootstrap/utilities/_position.scss +36 -0
- data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/utilities/_sizing.scss +12 -0
- data/_sass/bootstrap/utilities/_spacing.scss +51 -0
- data/_sass/bootstrap/utilities/_text.scss +52 -0
- data/_sass/bootstrap/utilities/_visibility.scss +11 -0
- data/assets/css/basic_light_sans.sass +71 -0
- data/assets/css_no/basic_dark_sans.sass +114 -0
- data/assets/css_no/basic_dark_serif.sass +114 -0
- data/assets/css_no/basic_light_serif.sass +69 -0
- data/assets/css_no/bootstrap.sass +44 -0
- data/assets/css_no/dark_additions.sass +74 -0
- data/assets/css_no/dnd.sass +188 -0
- data/assets/css_no/gurps.sass +70 -0
- data/assets/css_no/minidark.sass +177 -0
- data/assets/css_no/minimal.sass +139 -0
- data/assets/css_no/roboto_dark.sass +324 -0
- data/assets/css_no/roboto_light.sass +275 -0
- data/assets/fonts/scala/fonts.scss +59 -0
- data/assets/fonts/scala/scala-bold-webfont.eot +0 -0
- data/assets/fonts/scala/scala-bold-webfont.svg +873 -0
- data/assets/fonts/scala/scala-bold-webfont.ttf +0 -0
- data/assets/fonts/scala/scala-bold-webfont.woff +0 -0
- data/assets/fonts/scala/scala-italic-webfont.eot +0 -0
- data/assets/fonts/scala/scala-italic-webfont.svg +235 -0
- data/assets/fonts/scala/scala-italic-webfont.ttf +0 -0
- data/assets/fonts/scala/scala-italic-webfont.woff +0 -0
- data/assets/fonts/scala/scala-webfont.eot +0 -0
- data/assets/fonts/scala/scala-webfont.svg +234 -0
- data/assets/fonts/scala/scala-webfont.ttf +0 -0
- data/assets/fonts/scala/scala-webfont.woff +0 -0
- data/assets/fonts/scala/scalasans-bold-webfont.eot +0 -0
- data/assets/fonts/scala/scalasans-bold-webfont.svg +244 -0
- data/assets/fonts/scala/scalasans-bold-webfont.ttf +0 -0
- data/assets/fonts/scala/scalasans-bold-webfont.woff +0 -0
- data/assets/fonts/scala/scalasans-webfont.eot +0 -0
- data/assets/fonts/scala/scalasans-webfont.svg +238 -0
- data/assets/fonts/scala/scalasans-webfont.ttf +0 -0
- data/assets/fonts/scala/scalasans-webfont.woff +0 -0
- data/assets/images/dnd-bg.jpg +0 -0
- data/assets/js/any-theme.coffee +33 -0
- data/assets/js/any_theme/libros.coffee +113 -0
- data/assets/js/any_theme/login.coffee +90 -0
- data/assets/js/any_theme/storage.coffee +49 -0
- data/assets/js/any_theme/themes.coffee +10 -0
- data/assets/pages/about.md +17 -0
- data/assets/pages/customize/css.md +22 -0
- data/assets/pages/customize/themes.md +17 -0
- data/assets/pages/docs/libros.md +17 -0
- data/assets/pages/docs/tempus.md +66 -0
- data/assets/pages/index.md +21 -0
- metadata +258 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
|
2
|
+
|
|
3
|
+
//
|
|
4
|
+
// Base styles
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
.btn {
|
|
8
|
+
display: inline-block;
|
|
9
|
+
font-weight: $btn-font-weight;
|
|
10
|
+
text-align: center;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
vertical-align: middle;
|
|
13
|
+
user-select: none;
|
|
14
|
+
border: $btn-border-width solid transparent;
|
|
15
|
+
@include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);
|
|
16
|
+
@include transition($btn-transition);
|
|
17
|
+
|
|
18
|
+
// Share hover and focus styles
|
|
19
|
+
@include hover-focus {
|
|
20
|
+
text-decoration: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&:focus,
|
|
24
|
+
&.focus {
|
|
25
|
+
outline: 0;
|
|
26
|
+
box-shadow: $btn-focus-box-shadow;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Disabled comes first so active can properly restyle
|
|
30
|
+
&.disabled,
|
|
31
|
+
&:disabled {
|
|
32
|
+
opacity: $btn-disabled-opacity;
|
|
33
|
+
@include box-shadow(none);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Opinionated: add "hand" cursor to non-disabled .btn elements
|
|
37
|
+
&:not(:disabled):not(.disabled) {
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&:not(:disabled):not(.disabled):active,
|
|
42
|
+
&:not(:disabled):not(.disabled).active {
|
|
43
|
+
background-image: none;
|
|
44
|
+
@include box-shadow($btn-active-box-shadow);
|
|
45
|
+
|
|
46
|
+
&:focus {
|
|
47
|
+
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Future-proof disabling of clicks on `<a>` elements
|
|
53
|
+
a.btn.disabled,
|
|
54
|
+
fieldset:disabled a.btn {
|
|
55
|
+
pointer-events: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
//
|
|
60
|
+
// Alternate buttons
|
|
61
|
+
//
|
|
62
|
+
|
|
63
|
+
@each $color, $value in $theme-colors {
|
|
64
|
+
.btn-#{$color} {
|
|
65
|
+
@include button-variant($value, $value);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@each $color, $value in $theme-colors {
|
|
70
|
+
.btn-outline-#{$color} {
|
|
71
|
+
@include button-outline-variant($value);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
//
|
|
77
|
+
// Link buttons
|
|
78
|
+
//
|
|
79
|
+
|
|
80
|
+
// Make a button look and behave like a link
|
|
81
|
+
.btn-link {
|
|
82
|
+
font-weight: $font-weight-normal;
|
|
83
|
+
color: $link-color;
|
|
84
|
+
background-color: transparent;
|
|
85
|
+
|
|
86
|
+
@include hover {
|
|
87
|
+
color: $link-hover-color;
|
|
88
|
+
text-decoration: $link-hover-decoration;
|
|
89
|
+
background-color: transparent;
|
|
90
|
+
border-color: transparent;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&:focus,
|
|
94
|
+
&.focus {
|
|
95
|
+
text-decoration: $link-hover-decoration;
|
|
96
|
+
border-color: transparent;
|
|
97
|
+
box-shadow: none;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&:disabled,
|
|
101
|
+
&.disabled {
|
|
102
|
+
color: $btn-link-disabled-color;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// No need for an active state here
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
//
|
|
110
|
+
// Button Sizes
|
|
111
|
+
//
|
|
112
|
+
|
|
113
|
+
.btn-lg {
|
|
114
|
+
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.btn-sm {
|
|
118
|
+
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
//
|
|
123
|
+
// Block button
|
|
124
|
+
//
|
|
125
|
+
|
|
126
|
+
.btn-block {
|
|
127
|
+
display: block;
|
|
128
|
+
width: 100%;
|
|
129
|
+
|
|
130
|
+
// Vertically space out multiple block buttons
|
|
131
|
+
+ .btn-block {
|
|
132
|
+
margin-top: $btn-block-spacing-y;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Specificity overrides
|
|
137
|
+
input[type="submit"],
|
|
138
|
+
input[type="reset"],
|
|
139
|
+
input[type="button"] {
|
|
140
|
+
&.btn-block {
|
|
141
|
+
width: 100%;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Base styles
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
.card {
|
|
6
|
+
position: relative;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
min-width: 0;
|
|
10
|
+
word-wrap: break-word;
|
|
11
|
+
background-color: $card-bg;
|
|
12
|
+
background-clip: border-box;
|
|
13
|
+
border: $card-border-width solid $card-border-color;
|
|
14
|
+
@include border-radius($card-border-radius);
|
|
15
|
+
|
|
16
|
+
> hr {
|
|
17
|
+
margin-right: 0;
|
|
18
|
+
margin-left: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
> .list-group:first-child {
|
|
22
|
+
.list-group-item:first-child {
|
|
23
|
+
@include border-top-radius($card-border-radius);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
> .list-group:last-child {
|
|
28
|
+
.list-group-item:last-child {
|
|
29
|
+
@include border-bottom-radius($card-border-radius);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.card-body {
|
|
35
|
+
// Enable `flex-grow: 1` for decks and groups so that card blocks take up
|
|
36
|
+
// as much space as possible, ensuring footers are aligned to the bottom.
|
|
37
|
+
flex: 1 1 auto;
|
|
38
|
+
padding: $card-spacer-x;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.card-title {
|
|
42
|
+
margin-bottom: $card-spacer-y;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.card-subtitle {
|
|
46
|
+
margin-top: -($card-spacer-y / 2);
|
|
47
|
+
margin-bottom: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.card-text:last-child {
|
|
51
|
+
margin-bottom: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.card-link {
|
|
55
|
+
@include hover {
|
|
56
|
+
text-decoration: none;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
+ .card-link {
|
|
60
|
+
margin-left: $card-spacer-x;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//
|
|
65
|
+
// Optional textual caps
|
|
66
|
+
//
|
|
67
|
+
|
|
68
|
+
.card-header {
|
|
69
|
+
padding: $card-spacer-y $card-spacer-x;
|
|
70
|
+
margin-bottom: 0; // Removes the default margin-bottom of <hN>
|
|
71
|
+
background-color: $card-cap-bg;
|
|
72
|
+
border-bottom: $card-border-width solid $card-border-color;
|
|
73
|
+
|
|
74
|
+
&:first-child {
|
|
75
|
+
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
+ .list-group {
|
|
79
|
+
.list-group-item:first-child {
|
|
80
|
+
border-top: 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.card-footer {
|
|
86
|
+
padding: $card-spacer-y $card-spacer-x;
|
|
87
|
+
background-color: $card-cap-bg;
|
|
88
|
+
border-top: $card-border-width solid $card-border-color;
|
|
89
|
+
|
|
90
|
+
&:last-child {
|
|
91
|
+
@include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
//
|
|
97
|
+
// Header navs
|
|
98
|
+
//
|
|
99
|
+
|
|
100
|
+
.card-header-tabs {
|
|
101
|
+
margin-right: -($card-spacer-x / 2);
|
|
102
|
+
margin-bottom: -$card-spacer-y;
|
|
103
|
+
margin-left: -($card-spacer-x / 2);
|
|
104
|
+
border-bottom: 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.card-header-pills {
|
|
108
|
+
margin-right: -($card-spacer-x / 2);
|
|
109
|
+
margin-left: -($card-spacer-x / 2);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Card image
|
|
113
|
+
.card-img-overlay {
|
|
114
|
+
position: absolute;
|
|
115
|
+
top: 0;
|
|
116
|
+
right: 0;
|
|
117
|
+
bottom: 0;
|
|
118
|
+
left: 0;
|
|
119
|
+
padding: $card-img-overlay-padding;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.card-img {
|
|
123
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
|
124
|
+
@include border-radius($card-inner-border-radius);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Card image caps
|
|
128
|
+
.card-img-top {
|
|
129
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
|
130
|
+
@include border-top-radius($card-inner-border-radius);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.card-img-bottom {
|
|
134
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
|
135
|
+
@include border-bottom-radius($card-inner-border-radius);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
// Card deck
|
|
140
|
+
|
|
141
|
+
.card-deck {
|
|
142
|
+
display: flex;
|
|
143
|
+
flex-direction: column;
|
|
144
|
+
|
|
145
|
+
.card {
|
|
146
|
+
margin-bottom: $card-deck-margin;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@include media-breakpoint-up(sm) {
|
|
150
|
+
flex-flow: row wrap;
|
|
151
|
+
margin-right: -$card-deck-margin;
|
|
152
|
+
margin-left: -$card-deck-margin;
|
|
153
|
+
|
|
154
|
+
.card {
|
|
155
|
+
display: flex;
|
|
156
|
+
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
|
157
|
+
flex: 1 0 0%;
|
|
158
|
+
flex-direction: column;
|
|
159
|
+
margin-right: $card-deck-margin;
|
|
160
|
+
margin-bottom: 0; // Override the default
|
|
161
|
+
margin-left: $card-deck-margin;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
//
|
|
168
|
+
// Card groups
|
|
169
|
+
//
|
|
170
|
+
|
|
171
|
+
.card-group {
|
|
172
|
+
display: flex;
|
|
173
|
+
flex-direction: column;
|
|
174
|
+
|
|
175
|
+
// The child selector allows nested `.card` within `.card-group`
|
|
176
|
+
// to display properly.
|
|
177
|
+
> .card {
|
|
178
|
+
margin-bottom: $card-group-margin;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@include media-breakpoint-up(sm) {
|
|
182
|
+
flex-flow: row wrap;
|
|
183
|
+
// The child selector allows nested `.card` within `.card-group`
|
|
184
|
+
// to display properly.
|
|
185
|
+
> .card {
|
|
186
|
+
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
|
187
|
+
flex: 1 0 0%;
|
|
188
|
+
margin-bottom: 0;
|
|
189
|
+
|
|
190
|
+
+ .card {
|
|
191
|
+
margin-left: 0;
|
|
192
|
+
border-left: 0;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Handle rounded corners
|
|
196
|
+
@if $enable-rounded {
|
|
197
|
+
&:first-child {
|
|
198
|
+
@include border-right-radius(0);
|
|
199
|
+
|
|
200
|
+
.card-img-top,
|
|
201
|
+
.card-header {
|
|
202
|
+
border-top-right-radius: 0;
|
|
203
|
+
}
|
|
204
|
+
.card-img-bottom,
|
|
205
|
+
.card-footer {
|
|
206
|
+
border-bottom-right-radius: 0;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
&:last-child {
|
|
211
|
+
@include border-left-radius(0);
|
|
212
|
+
|
|
213
|
+
.card-img-top,
|
|
214
|
+
.card-header {
|
|
215
|
+
border-top-left-radius: 0;
|
|
216
|
+
}
|
|
217
|
+
.card-img-bottom,
|
|
218
|
+
.card-footer {
|
|
219
|
+
border-bottom-left-radius: 0;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
&:only-child {
|
|
224
|
+
@include border-radius($card-border-radius);
|
|
225
|
+
|
|
226
|
+
.card-img-top,
|
|
227
|
+
.card-header {
|
|
228
|
+
@include border-top-radius($card-border-radius);
|
|
229
|
+
}
|
|
230
|
+
.card-img-bottom,
|
|
231
|
+
.card-footer {
|
|
232
|
+
@include border-bottom-radius($card-border-radius);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
&:not(:first-child):not(:last-child):not(:only-child) {
|
|
237
|
+
@include border-radius(0);
|
|
238
|
+
|
|
239
|
+
.card-img-top,
|
|
240
|
+
.card-img-bottom,
|
|
241
|
+
.card-header,
|
|
242
|
+
.card-footer {
|
|
243
|
+
@include border-radius(0);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
//
|
|
253
|
+
// Columns
|
|
254
|
+
//
|
|
255
|
+
|
|
256
|
+
.card-columns {
|
|
257
|
+
.card {
|
|
258
|
+
margin-bottom: $card-columns-margin;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
@include media-breakpoint-up(sm) {
|
|
262
|
+
column-count: $card-columns-count;
|
|
263
|
+
column-gap: $card-columns-gap;
|
|
264
|
+
|
|
265
|
+
.card {
|
|
266
|
+
display: inline-block; // Don't let them vertically span multiple columns
|
|
267
|
+
width: 100%; // Don't let their width change
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// Wrapper for the slide container and indicators
|
|
2
|
+
.carousel {
|
|
3
|
+
position: relative;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.carousel-inner {
|
|
7
|
+
position: relative;
|
|
8
|
+
width: 100%;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.carousel-item {
|
|
13
|
+
position: relative;
|
|
14
|
+
display: none;
|
|
15
|
+
align-items: center;
|
|
16
|
+
width: 100%;
|
|
17
|
+
@include transition($carousel-transition);
|
|
18
|
+
backface-visibility: hidden;
|
|
19
|
+
perspective: 1000px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.carousel-item.active,
|
|
23
|
+
.carousel-item-next,
|
|
24
|
+
.carousel-item-prev {
|
|
25
|
+
display: block;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.carousel-item-next,
|
|
29
|
+
.carousel-item-prev {
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// CSS3 transforms when supported by the browser
|
|
35
|
+
.carousel-item-next.carousel-item-left,
|
|
36
|
+
.carousel-item-prev.carousel-item-right {
|
|
37
|
+
transform: translateX(0);
|
|
38
|
+
|
|
39
|
+
@supports (transform-style: preserve-3d) {
|
|
40
|
+
transform: translate3d(0, 0, 0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.carousel-item-next,
|
|
45
|
+
.active.carousel-item-right {
|
|
46
|
+
transform: translateX(100%);
|
|
47
|
+
|
|
48
|
+
@supports (transform-style: preserve-3d) {
|
|
49
|
+
transform: translate3d(100%, 0, 0);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.carousel-item-prev,
|
|
54
|
+
.active.carousel-item-left {
|
|
55
|
+
transform: translateX(-100%);
|
|
56
|
+
|
|
57
|
+
@supports (transform-style: preserve-3d) {
|
|
58
|
+
transform: translate3d(-100%, 0, 0);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
//
|
|
64
|
+
// Left/right controls for nav
|
|
65
|
+
//
|
|
66
|
+
|
|
67
|
+
.carousel-control-prev,
|
|
68
|
+
.carousel-control-next {
|
|
69
|
+
position: absolute;
|
|
70
|
+
top: 0;
|
|
71
|
+
bottom: 0;
|
|
72
|
+
// Use flex for alignment (1-3)
|
|
73
|
+
display: flex; // 1. allow flex styles
|
|
74
|
+
align-items: center; // 2. vertically center contents
|
|
75
|
+
justify-content: center; // 3. horizontally center contents
|
|
76
|
+
width: $carousel-control-width;
|
|
77
|
+
color: $carousel-control-color;
|
|
78
|
+
text-align: center;
|
|
79
|
+
opacity: $carousel-control-opacity;
|
|
80
|
+
// We can't have a transition here because WebKit cancels the carousel
|
|
81
|
+
// animation if you trip this while in the middle of another animation.
|
|
82
|
+
|
|
83
|
+
// Hover/focus state
|
|
84
|
+
@include hover-focus {
|
|
85
|
+
color: $carousel-control-color;
|
|
86
|
+
text-decoration: none;
|
|
87
|
+
outline: 0;
|
|
88
|
+
opacity: .9;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
.carousel-control-prev {
|
|
92
|
+
left: 0;
|
|
93
|
+
@if $enable-gradients {
|
|
94
|
+
background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
.carousel-control-next {
|
|
98
|
+
right: 0;
|
|
99
|
+
@if $enable-gradients {
|
|
100
|
+
background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Icons for within
|
|
105
|
+
.carousel-control-prev-icon,
|
|
106
|
+
.carousel-control-next-icon {
|
|
107
|
+
display: inline-block;
|
|
108
|
+
width: $carousel-control-icon-width;
|
|
109
|
+
height: $carousel-control-icon-width;
|
|
110
|
+
background: transparent no-repeat center center;
|
|
111
|
+
background-size: 100% 100%;
|
|
112
|
+
}
|
|
113
|
+
.carousel-control-prev-icon {
|
|
114
|
+
background-image: $carousel-control-prev-icon-bg;
|
|
115
|
+
}
|
|
116
|
+
.carousel-control-next-icon {
|
|
117
|
+
background-image: $carousel-control-next-icon-bg;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
// Optional indicator pips
|
|
122
|
+
//
|
|
123
|
+
// Add an ordered list with the following class and add a list item for each
|
|
124
|
+
// slide your carousel holds.
|
|
125
|
+
|
|
126
|
+
.carousel-indicators {
|
|
127
|
+
position: absolute;
|
|
128
|
+
right: 0;
|
|
129
|
+
bottom: 10px;
|
|
130
|
+
left: 0;
|
|
131
|
+
z-index: 15;
|
|
132
|
+
display: flex;
|
|
133
|
+
justify-content: center;
|
|
134
|
+
padding-left: 0; // override <ol> default
|
|
135
|
+
// Use the .carousel-control's width as margin so we don't overlay those
|
|
136
|
+
margin-right: $carousel-control-width;
|
|
137
|
+
margin-left: $carousel-control-width;
|
|
138
|
+
list-style: none;
|
|
139
|
+
|
|
140
|
+
li {
|
|
141
|
+
position: relative;
|
|
142
|
+
flex: 0 1 auto;
|
|
143
|
+
width: $carousel-indicator-width;
|
|
144
|
+
height: $carousel-indicator-height;
|
|
145
|
+
margin-right: $carousel-indicator-spacer;
|
|
146
|
+
margin-left: $carousel-indicator-spacer;
|
|
147
|
+
text-indent: -999px;
|
|
148
|
+
background-color: rgba($carousel-indicator-active-bg, .5);
|
|
149
|
+
|
|
150
|
+
// Use pseudo classes to increase the hit area by 10px on top and bottom.
|
|
151
|
+
&::before {
|
|
152
|
+
position: absolute;
|
|
153
|
+
top: -10px;
|
|
154
|
+
left: 0;
|
|
155
|
+
display: inline-block;
|
|
156
|
+
width: 100%;
|
|
157
|
+
height: 10px;
|
|
158
|
+
content: "";
|
|
159
|
+
}
|
|
160
|
+
&::after {
|
|
161
|
+
position: absolute;
|
|
162
|
+
bottom: -10px;
|
|
163
|
+
left: 0;
|
|
164
|
+
display: inline-block;
|
|
165
|
+
width: 100%;
|
|
166
|
+
height: 10px;
|
|
167
|
+
content: "";
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.active {
|
|
172
|
+
background-color: $carousel-indicator-active-bg;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
// Optional captions
|
|
178
|
+
//
|
|
179
|
+
//
|
|
180
|
+
|
|
181
|
+
.carousel-caption {
|
|
182
|
+
position: absolute;
|
|
183
|
+
right: ((100% - $carousel-caption-width) / 2);
|
|
184
|
+
bottom: 20px;
|
|
185
|
+
left: ((100% - $carousel-caption-width) / 2);
|
|
186
|
+
z-index: 10;
|
|
187
|
+
padding-top: 20px;
|
|
188
|
+
padding-bottom: 20px;
|
|
189
|
+
color: $carousel-caption-color;
|
|
190
|
+
text-align: center;
|
|
191
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.close {
|
|
2
|
+
float: right;
|
|
3
|
+
font-size: $close-font-size;
|
|
4
|
+
font-weight: $close-font-weight;
|
|
5
|
+
line-height: 1;
|
|
6
|
+
color: $close-color;
|
|
7
|
+
text-shadow: $close-text-shadow;
|
|
8
|
+
opacity: .5;
|
|
9
|
+
|
|
10
|
+
@include hover-focus {
|
|
11
|
+
color: $close-color;
|
|
12
|
+
text-decoration: none;
|
|
13
|
+
opacity: .75;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Opinionated: add "hand" cursor to non-disabled .close elements
|
|
17
|
+
&:not(:disabled):not(.disabled) {
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Additional properties for button version
|
|
23
|
+
// iOS requires the button element instead of an anchor tag.
|
|
24
|
+
// If you want the anchor version, it requires `href="#"`.
|
|
25
|
+
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
|
26
|
+
|
|
27
|
+
// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
|
|
28
|
+
button.close {
|
|
29
|
+
padding: 0;
|
|
30
|
+
background-color: transparent;
|
|
31
|
+
border: 0;
|
|
32
|
+
-webkit-appearance: none;
|
|
33
|
+
}
|
|
34
|
+
// stylelint-enable
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Inline and block code styles
|
|
2
|
+
code,
|
|
3
|
+
kbd,
|
|
4
|
+
pre,
|
|
5
|
+
samp {
|
|
6
|
+
font-family: $font-family-monospace;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// Inline code
|
|
10
|
+
code {
|
|
11
|
+
font-size: $code-font-size;
|
|
12
|
+
color: $code-color;
|
|
13
|
+
word-break: break-word;
|
|
14
|
+
|
|
15
|
+
// Streamline the style when inside anchors to avoid broken underline and more
|
|
16
|
+
a > & {
|
|
17
|
+
color: inherit;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// User input typically entered via keyboard
|
|
22
|
+
kbd {
|
|
23
|
+
padding: $kbd-padding-y $kbd-padding-x;
|
|
24
|
+
font-size: $kbd-font-size;
|
|
25
|
+
color: $kbd-color;
|
|
26
|
+
background-color: $kbd-bg;
|
|
27
|
+
@include border-radius($border-radius-sm);
|
|
28
|
+
@include box-shadow($kbd-box-shadow);
|
|
29
|
+
|
|
30
|
+
kbd {
|
|
31
|
+
padding: 0;
|
|
32
|
+
font-size: 100%;
|
|
33
|
+
font-weight: $nested-kbd-font-weight;
|
|
34
|
+
@include box-shadow(none);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Blocks of code
|
|
39
|
+
pre {
|
|
40
|
+
display: block;
|
|
41
|
+
font-size: $code-font-size;
|
|
42
|
+
color: $pre-color;
|
|
43
|
+
|
|
44
|
+
// Account for some code outputs that place code tags in pre tags
|
|
45
|
+
code {
|
|
46
|
+
font-size: inherit;
|
|
47
|
+
color: inherit;
|
|
48
|
+
word-break: normal;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Enable scrollable blocks of code
|
|
53
|
+
.pre-scrollable {
|
|
54
|
+
max-height: $pre-scrollable-max-height;
|
|
55
|
+
overflow-y: scroll;
|
|
56
|
+
}
|