hardpool-flat 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/head.html +4 -0
- data/_includes/header.html +17 -0
- data/_includes/seo.html +11 -0
- data/_layouts/default.html +16 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +6 -0
- data/_sass/_mixins.scss +105 -0
- data/_sass/_var.scss +43 -0
- data/_sass/bootstrap/_alert.scss +51 -0
- data/_sass/bootstrap/_badge.scss +47 -0
- data/_sass/bootstrap/_breadcrumb.scss +41 -0
- data/_sass/bootstrap/_button-group.scss +172 -0
- data/_sass/bootstrap/_buttons.scss +143 -0
- data/_sass/bootstrap/_card.scss +301 -0
- data/_sass/bootstrap/_carousel.scss +236 -0
- data/_sass/bootstrap/_close.scss +35 -0
- data/_sass/bootstrap/_code.scss +48 -0
- data/_sass/bootstrap/_custom-forms.scss +433 -0
- data/_sass/bootstrap/_dropdown.scss +166 -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 +173 -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 +41 -0
- data/_sass/bootstrap/_modal.scss +180 -0
- data/_sass/bootstrap/_nav.scss +118 -0
- data/_sass/bootstrap/_navbar.scss +299 -0
- data/_sass/bootstrap/_pagination.scss +78 -0
- data/_sass/bootstrap/_popover.scss +183 -0
- data/_sass/bootstrap/_print.scss +141 -0
- data/_sass/bootstrap/_progress.scss +34 -0
- data/_sass/bootstrap/_reboot.scss +483 -0
- data/_sass/bootstrap/_root.scss +19 -0
- data/_sass/bootstrap/_tables.scss +187 -0
- data/_sass/bootstrap/_tooltip.scss +115 -0
- data/_sass/bootstrap/_transitions.scss +22 -0
- data/_sass/bootstrap/_type.scss +125 -0
- data/_sass/bootstrap/_utilities.scss +15 -0
- data/_sass/bootstrap/_variables.scss +952 -0
- data/_sass/bootstrap/bootstrap-grid.scss +32 -0
- data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/bootstrap.scss +149 -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 +66 -0
- data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
- data/_sass/bootstrap/mixins/_float.scss +11 -0
- data/_sass/bootstrap/mixins/_forms.scss +147 -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 +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 +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 +33 -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 +13 -0
- data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/mixins/_transition.scss +13 -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 +51 -0
- data/_sass/bootstrap/utilities/_float.scss +9 -0
- data/_sass/bootstrap/utilities/_position.scss +37 -0
- data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/utilities/_sizing.scss +12 -0
- data/_sass/bootstrap/utilities/_spacing.scss +51 -0
- data/_sass/bootstrap/utilities/_text.scss +58 -0
- data/_sass/bootstrap/utilities/_visibility.scss +11 -0
- data/_sass/theme/_global.scss +78 -0
- data/_sass/theme/_header.scss +12 -0
- data/_sass/theme.scss +5 -0
- data/assets/fonts/muli/Muli-Bold.ttf +0 -0
- data/assets/fonts/muli/Muli-Light.ttf +0 -0
- data/assets/fonts/muli/Muli-Regular.ttf +0 -0
- data/assets/fonts/playfair/PlayfairDisplay-Black.ttf +0 -0
- data/assets/fonts/playfair/PlayfairDisplay-Bold.ttf +0 -0
- data/assets/fonts/playfair/PlayfairDisplay-Regular.ttf +0 -0
- data/assets/styles/main.scss +6 -0
- metadata +189 -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
|
+
@include box-shadow($btn-active-box-shadow);
|
44
|
+
|
45
|
+
&:focus {
|
46
|
+
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
// Future-proof disabling of clicks on `<a>` elements
|
52
|
+
a.btn.disabled,
|
53
|
+
fieldset:disabled a.btn {
|
54
|
+
pointer-events: none;
|
55
|
+
}
|
56
|
+
|
57
|
+
|
58
|
+
//
|
59
|
+
// Alternate buttons
|
60
|
+
//
|
61
|
+
|
62
|
+
@each $color, $value in $theme-colors {
|
63
|
+
.btn-#{$color} {
|
64
|
+
@include button-variant($value, $value);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
@each $color, $value in $theme-colors {
|
69
|
+
.btn-outline-#{$color} {
|
70
|
+
@include button-outline-variant($value);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
//
|
76
|
+
// Link buttons
|
77
|
+
//
|
78
|
+
|
79
|
+
// Make a button look and behave like a link
|
80
|
+
.btn-link {
|
81
|
+
font-weight: $font-weight-normal;
|
82
|
+
color: $link-color;
|
83
|
+
background-color: transparent;
|
84
|
+
|
85
|
+
@include hover {
|
86
|
+
color: $link-hover-color;
|
87
|
+
text-decoration: $link-hover-decoration;
|
88
|
+
background-color: transparent;
|
89
|
+
border-color: transparent;
|
90
|
+
}
|
91
|
+
|
92
|
+
&:focus,
|
93
|
+
&.focus {
|
94
|
+
text-decoration: $link-hover-decoration;
|
95
|
+
border-color: transparent;
|
96
|
+
box-shadow: none;
|
97
|
+
}
|
98
|
+
|
99
|
+
&:disabled,
|
100
|
+
&.disabled {
|
101
|
+
color: $btn-link-disabled-color;
|
102
|
+
pointer-events: none;
|
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,301 @@
|
|
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#flexbug-4
|
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#flexbug-4
|
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
|
+
orphans: 1;
|
265
|
+
widows: 1;
|
266
|
+
|
267
|
+
.card {
|
268
|
+
display: inline-block; // Don't let them vertically span multiple columns
|
269
|
+
width: 100%; // Don't let their width change
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
|
274
|
+
|
275
|
+
//
|
276
|
+
// Accordion
|
277
|
+
//
|
278
|
+
|
279
|
+
.accordion {
|
280
|
+
.card:not(:first-of-type):not(:last-of-type) {
|
281
|
+
border-bottom: 0;
|
282
|
+
border-radius: 0;
|
283
|
+
}
|
284
|
+
|
285
|
+
.card:not(:first-of-type) {
|
286
|
+
.card-header:first-child {
|
287
|
+
border-radius: 0;
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
.card:first-of-type {
|
292
|
+
border-bottom: 0;
|
293
|
+
border-bottom-right-radius: 0;
|
294
|
+
border-bottom-left-radius: 0;
|
295
|
+
}
|
296
|
+
|
297
|
+
.card:last-of-type {
|
298
|
+
border-top-left-radius: 0;
|
299
|
+
border-top-right-radius: 0;
|
300
|
+
}
|
301
|
+
}
|
@@ -0,0 +1,236 @@
|
|
1
|
+
// Notes on the classes:
|
2
|
+
//
|
3
|
+
// 1. The .carousel-item-left and .carousel-item-right is used to indicate where
|
4
|
+
// the active slide is heading.
|
5
|
+
// 2. .active.carousel-item is the current slide.
|
6
|
+
// 3. .active.carousel-item-left and .active.carousel-item-right is the current
|
7
|
+
// slide in its in-transition state. Only one of these occurs at a time.
|
8
|
+
// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
|
9
|
+
// is the upcoming slide in transition.
|
10
|
+
|
11
|
+
.carousel {
|
12
|
+
position: relative;
|
13
|
+
}
|
14
|
+
|
15
|
+
.carousel-inner {
|
16
|
+
position: relative;
|
17
|
+
width: 100%;
|
18
|
+
overflow: hidden;
|
19
|
+
}
|
20
|
+
|
21
|
+
.carousel-item {
|
22
|
+
position: relative;
|
23
|
+
display: none;
|
24
|
+
align-items: center;
|
25
|
+
width: 100%;
|
26
|
+
backface-visibility: hidden;
|
27
|
+
perspective: 1000px;
|
28
|
+
}
|
29
|
+
|
30
|
+
.carousel-item.active,
|
31
|
+
.carousel-item-next,
|
32
|
+
.carousel-item-prev {
|
33
|
+
display: block;
|
34
|
+
@include transition($carousel-transition);
|
35
|
+
}
|
36
|
+
|
37
|
+
.carousel-item-next,
|
38
|
+
.carousel-item-prev {
|
39
|
+
position: absolute;
|
40
|
+
top: 0;
|
41
|
+
}
|
42
|
+
|
43
|
+
.carousel-item-next.carousel-item-left,
|
44
|
+
.carousel-item-prev.carousel-item-right {
|
45
|
+
transform: translateX(0);
|
46
|
+
|
47
|
+
@supports (transform-style: preserve-3d) {
|
48
|
+
transform: translate3d(0, 0, 0);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
.carousel-item-next,
|
53
|
+
.active.carousel-item-right {
|
54
|
+
transform: translateX(100%);
|
55
|
+
|
56
|
+
@supports (transform-style: preserve-3d) {
|
57
|
+
transform: translate3d(100%, 0, 0);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
.carousel-item-prev,
|
62
|
+
.active.carousel-item-left {
|
63
|
+
transform: translateX(-100%);
|
64
|
+
|
65
|
+
@supports (transform-style: preserve-3d) {
|
66
|
+
transform: translate3d(-100%, 0, 0);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
|
71
|
+
//
|
72
|
+
// Alternate transitions
|
73
|
+
//
|
74
|
+
|
75
|
+
.carousel-fade {
|
76
|
+
.carousel-item {
|
77
|
+
opacity: 0;
|
78
|
+
transition-duration: .6s;
|
79
|
+
transition-property: opacity;
|
80
|
+
}
|
81
|
+
|
82
|
+
.carousel-item.active,
|
83
|
+
.carousel-item-next.carousel-item-left,
|
84
|
+
.carousel-item-prev.carousel-item-right {
|
85
|
+
opacity: 1;
|
86
|
+
}
|
87
|
+
|
88
|
+
.active.carousel-item-left,
|
89
|
+
.active.carousel-item-right {
|
90
|
+
opacity: 0;
|
91
|
+
}
|
92
|
+
|
93
|
+
.carousel-item-next,
|
94
|
+
.carousel-item-prev,
|
95
|
+
.carousel-item.active,
|
96
|
+
.active.carousel-item-left,
|
97
|
+
.active.carousel-item-prev {
|
98
|
+
transform: translateX(0);
|
99
|
+
|
100
|
+
@supports (transform-style: preserve-3d) {
|
101
|
+
transform: translate3d(0, 0, 0);
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
//
|
108
|
+
// Left/right controls for nav
|
109
|
+
//
|
110
|
+
|
111
|
+
.carousel-control-prev,
|
112
|
+
.carousel-control-next {
|
113
|
+
position: absolute;
|
114
|
+
top: 0;
|
115
|
+
bottom: 0;
|
116
|
+
// Use flex for alignment (1-3)
|
117
|
+
display: flex; // 1. allow flex styles
|
118
|
+
align-items: center; // 2. vertically center contents
|
119
|
+
justify-content: center; // 3. horizontally center contents
|
120
|
+
width: $carousel-control-width;
|
121
|
+
color: $carousel-control-color;
|
122
|
+
text-align: center;
|
123
|
+
opacity: $carousel-control-opacity;
|
124
|
+
// We can't have a transition here because WebKit cancels the carousel
|
125
|
+
// animation if you trip this while in the middle of another animation.
|
126
|
+
|
127
|
+
// Hover/focus state
|
128
|
+
@include hover-focus {
|
129
|
+
color: $carousel-control-color;
|
130
|
+
text-decoration: none;
|
131
|
+
outline: 0;
|
132
|
+
opacity: .9;
|
133
|
+
}
|
134
|
+
}
|
135
|
+
.carousel-control-prev {
|
136
|
+
left: 0;
|
137
|
+
@if $enable-gradients {
|
138
|
+
background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
|
139
|
+
}
|
140
|
+
}
|
141
|
+
.carousel-control-next {
|
142
|
+
right: 0;
|
143
|
+
@if $enable-gradients {
|
144
|
+
background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
// Icons for within
|
149
|
+
.carousel-control-prev-icon,
|
150
|
+
.carousel-control-next-icon {
|
151
|
+
display: inline-block;
|
152
|
+
width: $carousel-control-icon-width;
|
153
|
+
height: $carousel-control-icon-width;
|
154
|
+
background: transparent no-repeat center center;
|
155
|
+
background-size: 100% 100%;
|
156
|
+
}
|
157
|
+
.carousel-control-prev-icon {
|
158
|
+
background-image: $carousel-control-prev-icon-bg;
|
159
|
+
}
|
160
|
+
.carousel-control-next-icon {
|
161
|
+
background-image: $carousel-control-next-icon-bg;
|
162
|
+
}
|
163
|
+
|
164
|
+
|
165
|
+
// Optional indicator pips
|
166
|
+
//
|
167
|
+
// Add an ordered list with the following class and add a list item for each
|
168
|
+
// slide your carousel holds.
|
169
|
+
|
170
|
+
.carousel-indicators {
|
171
|
+
position: absolute;
|
172
|
+
right: 0;
|
173
|
+
bottom: 10px;
|
174
|
+
left: 0;
|
175
|
+
z-index: 15;
|
176
|
+
display: flex;
|
177
|
+
justify-content: center;
|
178
|
+
padding-left: 0; // override <ol> default
|
179
|
+
// Use the .carousel-control's width as margin so we don't overlay those
|
180
|
+
margin-right: $carousel-control-width;
|
181
|
+
margin-left: $carousel-control-width;
|
182
|
+
list-style: none;
|
183
|
+
|
184
|
+
li {
|
185
|
+
position: relative;
|
186
|
+
flex: 0 1 auto;
|
187
|
+
width: $carousel-indicator-width;
|
188
|
+
height: $carousel-indicator-height;
|
189
|
+
margin-right: $carousel-indicator-spacer;
|
190
|
+
margin-left: $carousel-indicator-spacer;
|
191
|
+
text-indent: -999px;
|
192
|
+
cursor: pointer;
|
193
|
+
background-color: rgba($carousel-indicator-active-bg, .5);
|
194
|
+
|
195
|
+
// Use pseudo classes to increase the hit area by 10px on top and bottom.
|
196
|
+
&::before {
|
197
|
+
position: absolute;
|
198
|
+
top: -10px;
|
199
|
+
left: 0;
|
200
|
+
display: inline-block;
|
201
|
+
width: 100%;
|
202
|
+
height: 10px;
|
203
|
+
content: "";
|
204
|
+
}
|
205
|
+
&::after {
|
206
|
+
position: absolute;
|
207
|
+
bottom: -10px;
|
208
|
+
left: 0;
|
209
|
+
display: inline-block;
|
210
|
+
width: 100%;
|
211
|
+
height: 10px;
|
212
|
+
content: "";
|
213
|
+
}
|
214
|
+
}
|
215
|
+
|
216
|
+
.active {
|
217
|
+
background-color: $carousel-indicator-active-bg;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
|
222
|
+
// Optional captions
|
223
|
+
//
|
224
|
+
//
|
225
|
+
|
226
|
+
.carousel-caption {
|
227
|
+
position: absolute;
|
228
|
+
right: ((100% - $carousel-caption-width) / 2);
|
229
|
+
bottom: 20px;
|
230
|
+
left: ((100% - $carousel-caption-width) / 2);
|
231
|
+
z-index: 10;
|
232
|
+
padding-top: 20px;
|
233
|
+
padding-bottom: 20px;
|
234
|
+
color: $carousel-caption-color;
|
235
|
+
text-align: center;
|
236
|
+
}
|
@@ -0,0 +1,35 @@
|
|
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
|
+
&:not(:disabled):not(.disabled) {
|
11
|
+
|
12
|
+
@include hover-focus {
|
13
|
+
color: $close-color;
|
14
|
+
text-decoration: none;
|
15
|
+
opacity: .75;
|
16
|
+
}
|
17
|
+
|
18
|
+
// Opinionated: add "hand" cursor to non-disabled .close elements
|
19
|
+
cursor: pointer;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
// Additional properties for button version
|
24
|
+
// iOS requires the button element instead of an anchor tag.
|
25
|
+
// If you want the anchor version, it requires `href="#"`.
|
26
|
+
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
27
|
+
|
28
|
+
// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
|
29
|
+
button.close {
|
30
|
+
padding: 0;
|
31
|
+
background-color: transparent;
|
32
|
+
border: 0;
|
33
|
+
-webkit-appearance: none;
|
34
|
+
}
|
35
|
+
// stylelint-enable
|