jekyll-theme-consulting 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 +437 -0
- data/README.md +96 -0
- data/_includes/banner.html +10 -0
- data/_includes/bouncing.svg +53 -0
- data/_includes/footer.html +39 -0
- data/_includes/head.html +10 -0
- data/_includes/header.html +10 -0
- data/_includes/navigation.html +22 -0
- data/_includes/scripts.html +8 -0
- data/_layouts/default.html +22 -0
- data/_layouts/home.html +6 -0
- data/_layouts/page.html +4 -0
- data/_layouts/post.html +13 -0
- data/_sass/base/_reset.scss +70 -0
- data/_sass/base/_typography.scss +140 -0
- data/_sass/components/_actions.scss +18 -0
- data/_sass/components/_box.scss +247 -0
- data/_sass/components/_button.scss +65 -0
- data/_sass/components/_container.scss +14 -0
- data/_sass/components/_form.scss +88 -0
- data/_sass/components/_icons.scss +44 -0
- data/_sass/components/_image.scss +37 -0
- data/_sass/components/_list.scss +25 -0
- data/_sass/components/_menu.scss +21 -0
- data/_sass/components/_poptrox.scss +121 -0
- data/_sass/components/_row.scss +21 -0
- data/_sass/components/_sections.scss +18 -0
- data/_sass/components/_table.scss +35 -0
- data/_sass/layout/_banner.scss +44 -0
- data/_sass/layout/_breakpoints.scss +358 -0
- data/_sass/layout/_footer.scss +44 -0
- data/_sass/layout/_header.scss +85 -0
- data/_sass/libs/_breakpoints.scss +223 -0
- data/_sass/libs/_functions.scss +90 -0
- data/_sass/libs/_html-grid.scss +149 -0
- data/_sass/libs/_mixins.scss +63 -0
- data/_sass/libs/_vars.scss +34 -0
- data/_sass/libs/_vendor.scss +376 -0
- data/_sass/main.scss +51 -0
- data/_sass/noscript.scss +25 -0
- data/assets/css/font-awesome.min.css +4 -0
- data/assets/css/images/arrow.svg +17 -0
- data/assets/css/images/banner.svg +206 -0
- data/assets/css/images/circles.svg +30 -0
- data/assets/css/images/falling.svg +37 -0
- data/assets/css/images/loader.gif +0 -0
- data/assets/css/images/overlay.png +0 -0
- data/assets/css/images/poptrox-closer.svg +6 -0
- data/assets/css/images/poptrox-nav.svg +6 -0
- data/assets/css/noscript.css +19 -0
- data/assets/css/styles.scss +4 -0
- data/assets/fonts/FontAwesome.otf +0 -0
- data/assets/fonts/fontawesome-webfont.eot +0 -0
- data/assets/fonts/fontawesome-webfont.svg +2671 -0
- data/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/assets/fonts/fontawesome-webfont.woff +0 -0
- data/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/assets/images/bg-1.jpg +0 -0
- data/assets/images/bg-alt.jpg +0 -0
- data/assets/images/bg.jpg +0 -0
- data/assets/images/bouncing.svg +50 -0
- data/assets/images/favicon.ico +0 -0
- data/assets/images/fulls/01.jpg +0 -0
- data/assets/images/fulls/02.jpg +0 -0
- data/assets/images/fulls/03.jpg +0 -0
- data/assets/images/fulls/04.jpg +0 -0
- data/assets/images/fulls/05.jpg +0 -0
- data/assets/images/fulls/06.jpg +0 -0
- data/assets/images/fulls/07.jpg +0 -0
- data/assets/images/fulls/08.jpg +0 -0
- data/assets/images/logo.svg +21 -0
- data/assets/images/pic01.jpg +0 -0
- data/assets/images/pic02.jpg +0 -0
- data/assets/images/screenshot.jpg +0 -0
- data/assets/images/thumbs/01.jpg +0 -0
- data/assets/images/thumbs/02.jpg +0 -0
- data/assets/images/thumbs/03.jpg +0 -0
- data/assets/images/thumbs/04.jpg +0 -0
- data/assets/images/thumbs/05.jpg +0 -0
- data/assets/images/thumbs/06.jpg +0 -0
- data/assets/images/thumbs/07.jpg +0 -0
- data/assets/images/thumbs/08.jpg +0 -0
- data/assets/js/breakpoints.min.js +2 -0
- data/assets/js/browser.min.js +2 -0
- data/assets/js/jquery.min.js +2 -0
- data/assets/js/jquery.poptrox.min.js +2 -0
- data/assets/js/jquery.scrolly.min.js +2 -0
- data/assets/js/main.js +106 -0
- data/assets/js/util.js +587 -0
- metadata +175 -0
@@ -0,0 +1,358 @@
|
|
1
|
+
/* Wide */
|
2
|
+
|
3
|
+
@include breakpoint('<=wide') {
|
4
|
+
|
5
|
+
/* Basic */
|
6
|
+
|
7
|
+
body, input, textarea, select {
|
8
|
+
font-size: 16pt;
|
9
|
+
}
|
10
|
+
|
11
|
+
/* Header */
|
12
|
+
|
13
|
+
#header {
|
14
|
+
padding: 2em 0 12em 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
}
|
18
|
+
|
19
|
+
/* Normal */
|
20
|
+
|
21
|
+
@include breakpoint('<=normal') {
|
22
|
+
|
23
|
+
/* Banner */
|
24
|
+
|
25
|
+
#banner {
|
26
|
+
padding: 4em 0 4em 0;
|
27
|
+
background-size: auto, 175% auto;
|
28
|
+
}
|
29
|
+
|
30
|
+
/* Header */
|
31
|
+
|
32
|
+
#header {
|
33
|
+
padding: 2em 0 10em 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
}
|
37
|
+
|
38
|
+
/* Narrow */
|
39
|
+
|
40
|
+
@include breakpoint('<=narrow') {
|
41
|
+
|
42
|
+
/* Basic */
|
43
|
+
|
44
|
+
body {
|
45
|
+
background-color: _palette(bg);
|
46
|
+
background-image: url('images/overlay.png'), url('../images/bg-alt.jpg');
|
47
|
+
background-repeat: repeat, no-repeat;
|
48
|
+
background-size: auto, 100% auto;
|
49
|
+
background-position: top left, top center;
|
50
|
+
background-attachment: scroll, scroll;
|
51
|
+
font-size: 14pt;
|
52
|
+
}
|
53
|
+
|
54
|
+
input, textarea, select {
|
55
|
+
font-size: 14pt;
|
56
|
+
}
|
57
|
+
|
58
|
+
h1, h2, h3, h4, h5, h6 {
|
59
|
+
line-height: 1.5em;
|
60
|
+
}
|
61
|
+
|
62
|
+
header {
|
63
|
+
p {
|
64
|
+
margin: 0.25em 0 0 0;
|
65
|
+
padding: 0 0 0.5em 0;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
/* Box */
|
70
|
+
.box {
|
71
|
+
position: relative;
|
72
|
+
|
73
|
+
section {
|
74
|
+
margin: 0 0 2em 0;
|
75
|
+
}
|
76
|
+
|
77
|
+
&.style1 {
|
78
|
+
padding: 2.5em 2em 2.5em 2em;
|
79
|
+
|
80
|
+
&.right {
|
81
|
+
.inner {
|
82
|
+
padding-left: 2em;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
&.left {
|
87
|
+
.inner {
|
88
|
+
padding-right: 2em;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
&.style2 {
|
94
|
+
|
95
|
+
header {
|
96
|
+
padding: 2em;
|
97
|
+
}
|
98
|
+
|
99
|
+
.inner {
|
100
|
+
position: relative;
|
101
|
+
padding: 30px 0 0 0;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
&.style3 {
|
106
|
+
padding: 2.5em 2em 2.5em 2em;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
/* Header */
|
111
|
+
|
112
|
+
#header {
|
113
|
+
padding: 2em 0 12em 0;
|
114
|
+
}
|
115
|
+
|
116
|
+
/* Banner */
|
117
|
+
|
118
|
+
#banner {
|
119
|
+
padding: 3.5em;
|
120
|
+
background-size: 200% auto;
|
121
|
+
|
122
|
+
br {
|
123
|
+
display: none;
|
124
|
+
}
|
125
|
+
}
|
126
|
+
|
127
|
+
}
|
128
|
+
|
129
|
+
/* Mobile */
|
130
|
+
|
131
|
+
@include breakpoint('<=mobile') {
|
132
|
+
|
133
|
+
/* Basic */
|
134
|
+
|
135
|
+
* {
|
136
|
+
text-shadow: none !important;
|
137
|
+
}
|
138
|
+
|
139
|
+
body, input, textarea, select {
|
140
|
+
line-height: 1.5em;
|
141
|
+
font-size: 12pt;
|
142
|
+
letter-spacing: 0;
|
143
|
+
}
|
144
|
+
|
145
|
+
h2, h3, h4, h5, h6 {
|
146
|
+
font-size: 1em;
|
147
|
+
}
|
148
|
+
|
149
|
+
h2 {
|
150
|
+
font-size: 1.25em;
|
151
|
+
letter-spacing: 4px;
|
152
|
+
}
|
153
|
+
|
154
|
+
/* List */
|
155
|
+
|
156
|
+
ul {
|
157
|
+
li {
|
158
|
+
padding-left: 0.5em;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
ol {
|
163
|
+
li {
|
164
|
+
padding-left: 0.25em;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
/* Icons */
|
169
|
+
|
170
|
+
ul.icons {
|
171
|
+
a {
|
172
|
+
width: 2em;
|
173
|
+
height: 2em;
|
174
|
+
line-height: 2em;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
/* Menu */
|
179
|
+
|
180
|
+
ul.menu {
|
181
|
+
li {
|
182
|
+
display: block;
|
183
|
+
padding: 0;
|
184
|
+
border: 0;
|
185
|
+
margin: 1em 0 0 0;
|
186
|
+
|
187
|
+
&:first-child {
|
188
|
+
margin-top: 0;
|
189
|
+
}
|
190
|
+
}
|
191
|
+
}
|
192
|
+
|
193
|
+
/* Actions */
|
194
|
+
|
195
|
+
ul.actions {
|
196
|
+
li {
|
197
|
+
display: block;
|
198
|
+
margin: 1em 0 0 0;
|
199
|
+
|
200
|
+
&:first-child {
|
201
|
+
margin-top: 0;
|
202
|
+
}
|
203
|
+
}
|
204
|
+
}
|
205
|
+
|
206
|
+
/* Button */
|
207
|
+
|
208
|
+
input[type="button"],
|
209
|
+
input[type="submit"],
|
210
|
+
input[type="reset"],
|
211
|
+
button,
|
212
|
+
.button {
|
213
|
+
padding: 0.75em 0 0.75em 0;
|
214
|
+
width: 100%;
|
215
|
+
max-width: 320px;
|
216
|
+
}
|
217
|
+
|
218
|
+
/* Box */
|
219
|
+
|
220
|
+
.box {
|
221
|
+
margin-top: 4.5em;
|
222
|
+
|
223
|
+
&:after {
|
224
|
+
top: -4.5em;
|
225
|
+
height: 4.5em;
|
226
|
+
}
|
227
|
+
|
228
|
+
&:before {
|
229
|
+
width: 45px;
|
230
|
+
height: 33px;
|
231
|
+
top: -2.25em;
|
232
|
+
margin-left: -22.5px;
|
233
|
+
margin-top: -16.5px;
|
234
|
+
background-size: 45px 33px;
|
235
|
+
}
|
236
|
+
|
237
|
+
&.style1 {
|
238
|
+
padding: 0;
|
239
|
+
text-align: center;
|
240
|
+
|
241
|
+
.image {
|
242
|
+
position: relative !important;
|
243
|
+
left: 0 !important;
|
244
|
+
width: 100% !important;
|
245
|
+
height: auto !important;
|
246
|
+
|
247
|
+
img {
|
248
|
+
position: relative;
|
249
|
+
height: auto;
|
250
|
+
width: 100%;
|
251
|
+
}
|
252
|
+
}
|
253
|
+
|
254
|
+
.inner {
|
255
|
+
margin: 0 !important;
|
256
|
+
padding: 2em 1.25em 2em 1.25em !important;
|
257
|
+
}
|
258
|
+
}
|
259
|
+
|
260
|
+
&.style2 {
|
261
|
+
.inner {
|
262
|
+
.row:before {
|
263
|
+
display: none;
|
264
|
+
}
|
265
|
+
|
266
|
+
.image {
|
267
|
+
padding: 0;
|
268
|
+
max-width: 250px;
|
269
|
+
margin: 0 auto 20px auto;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
|
274
|
+
&.style3 {
|
275
|
+
padding: 2em 1.25em 2em 1.25em;
|
276
|
+
}
|
277
|
+
}
|
278
|
+
|
279
|
+
/* Header */
|
280
|
+
#header {
|
281
|
+
padding: 2em 0 6em 0;
|
282
|
+
|
283
|
+
header {
|
284
|
+
padding-left: 2em;
|
285
|
+
padding-right: 2em;
|
286
|
+
|
287
|
+
h1 {
|
288
|
+
font-size: 1.75em;
|
289
|
+
letter-spacing: 6px;
|
290
|
+
}
|
291
|
+
}
|
292
|
+
|
293
|
+
footer {
|
294
|
+
bottom: 4.5em;
|
295
|
+
padding: 0 2em 0 2em;
|
296
|
+
|
297
|
+
&:after {
|
298
|
+
bottom: -4.5em;
|
299
|
+
left: 50%;
|
300
|
+
height: 4.5em;
|
301
|
+
}
|
302
|
+
|
303
|
+
&:before {
|
304
|
+
width: 45px;
|
305
|
+
height: 33px;
|
306
|
+
bottom: -2.25em;
|
307
|
+
margin-left: -22.5px;
|
308
|
+
margin-bottom: -16.5px;
|
309
|
+
background-size: 45px 33px;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
}
|
313
|
+
|
314
|
+
/* Banner */
|
315
|
+
#banner {
|
316
|
+
padding: 3em 2em 3em 2em;
|
317
|
+
background-size: auto 150%;
|
318
|
+
|
319
|
+
header {
|
320
|
+
margin: 0 0 1em 0;
|
321
|
+
|
322
|
+
h2 {
|
323
|
+
font-size: 1.5em;
|
324
|
+
letter-spacing: 6px;
|
325
|
+
}
|
326
|
+
}
|
327
|
+
}
|
328
|
+
|
329
|
+
/* Footer */
|
330
|
+
|
331
|
+
#footer {
|
332
|
+
.icons {
|
333
|
+
padding: 0.5em 1.25em 0.5em 1.25em;
|
334
|
+
}
|
335
|
+
|
336
|
+
.copyright {
|
337
|
+
font-size: 1em;
|
338
|
+
margin: 0 0 4em 0;
|
339
|
+
}
|
340
|
+
}
|
341
|
+
|
342
|
+
/* Poptrox */
|
343
|
+
.poptrox-popup {
|
344
|
+
.nav-next,
|
345
|
+
.nav-previous {
|
346
|
+
opacity: 1.0;
|
347
|
+
|
348
|
+
&:before {
|
349
|
+
display: none;
|
350
|
+
}
|
351
|
+
}
|
352
|
+
|
353
|
+
.closer {
|
354
|
+
opacity: 0.5;
|
355
|
+
}
|
356
|
+
}
|
357
|
+
|
358
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
/* Footer */
|
2
|
+
|
3
|
+
#footer {
|
4
|
+
position: relative;
|
5
|
+
color: _palette(fg);
|
6
|
+
text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.25);
|
7
|
+
text-align: center;
|
8
|
+
margin: 4.5em 0 0 0;
|
9
|
+
|
10
|
+
&:after {
|
11
|
+
content: '';
|
12
|
+
display: block;
|
13
|
+
position: absolute;
|
14
|
+
top: -4.5em;
|
15
|
+
left: 50%;
|
16
|
+
height: 4.5em;
|
17
|
+
border-left: solid 1px _palette(accent);
|
18
|
+
}
|
19
|
+
|
20
|
+
a {
|
21
|
+
color: _palette(accent-light);
|
22
|
+
text-shadow: 0 0 0.5px _palette(accent-light);
|
23
|
+
border-bottom-color: _palette(accent-light);
|
24
|
+
|
25
|
+
&:hover {
|
26
|
+
color: _palette(accent);
|
27
|
+
text-shadow: 0 0 0.5px _palette(accent);
|
28
|
+
border-bottom-color: _palette(accent);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
.icons {
|
33
|
+
padding: 0.75em 2em 0.75em 2em;
|
34
|
+
border-radius: 3em;
|
35
|
+
border: solid 1px _palette(accent);
|
36
|
+
display: inline-block;
|
37
|
+
margin: 0 0 3em 0;
|
38
|
+
}
|
39
|
+
|
40
|
+
.copyright {
|
41
|
+
margin: 0 0 9em 0;
|
42
|
+
font-size: 0.8em;
|
43
|
+
}
|
44
|
+
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
/* Header */
|
2
|
+
|
3
|
+
#header {
|
4
|
+
@include vendor('transition', 'opacity 2s ease-in-out');
|
5
|
+
position: relative;
|
6
|
+
color: _palette(fg);
|
7
|
+
text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.25);
|
8
|
+
text-align: center;
|
9
|
+
margin: 0;
|
10
|
+
padding: 2em 0 14em 0;
|
11
|
+
cursor: default;
|
12
|
+
|
13
|
+
header {
|
14
|
+
display: inline-block;
|
15
|
+
padding: 0 0 4.5em 0;
|
16
|
+
|
17
|
+
h1 {
|
18
|
+
font-weight: 600;
|
19
|
+
font-size: 2em;
|
20
|
+
letter-spacing: 10px;
|
21
|
+
}
|
22
|
+
|
23
|
+
p {
|
24
|
+
border-top: solid 1px rgba(255, 255, 255, 0.5);
|
25
|
+
color: _palette(fg-light);
|
26
|
+
text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.1875);
|
27
|
+
font-size: 1em;
|
28
|
+
text-transform: uppercase;
|
29
|
+
letter-spacing: 3px;
|
30
|
+
padding: 0;
|
31
|
+
margin-top: 0.35em;
|
32
|
+
|
33
|
+
&:before {
|
34
|
+
content: '';
|
35
|
+
display: block;
|
36
|
+
border-top: solid 1px rgba(255, 255, 255, 0.5);
|
37
|
+
margin: 4px 0 0.8em 0;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
footer {
|
43
|
+
@include vendor('transition', (
|
44
|
+
'opacity 2s ease-in-out',
|
45
|
+
'transform 1s ease-in-out'
|
46
|
+
));
|
47
|
+
@include vendor('transition-delay', '1.25s');
|
48
|
+
position: absolute;
|
49
|
+
bottom: 9em;
|
50
|
+
margin: 0;
|
51
|
+
width: 100%;
|
52
|
+
|
53
|
+
&:after {
|
54
|
+
content: '';
|
55
|
+
display: block;
|
56
|
+
position: absolute;
|
57
|
+
bottom: -9em;
|
58
|
+
left: 50%;
|
59
|
+
height: 9em;
|
60
|
+
border-left: solid 1px _palette(accent);
|
61
|
+
}
|
62
|
+
|
63
|
+
&:before {
|
64
|
+
content: '';
|
65
|
+
display: block;
|
66
|
+
width: 90px;
|
67
|
+
height: 66px;
|
68
|
+
position: absolute;
|
69
|
+
left: 50%;
|
70
|
+
bottom: -4.5em;
|
71
|
+
margin-left: -45px;
|
72
|
+
margin-bottom: -33px;
|
73
|
+
background: url('images/circles.svg') no-repeat;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
body.is-preload & {
|
78
|
+
opacity: 0;
|
79
|
+
|
80
|
+
footer {
|
81
|
+
@include vendor('transform', 'translateY(1em)');
|
82
|
+
opacity: 0;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
@@ -0,0 +1,223 @@
|
|
1
|
+
// breakpoints.scss v1.0 | @ajlkn | MIT licensed */
|
2
|
+
|
3
|
+
// Vars.
|
4
|
+
|
5
|
+
/// Breakpoints.
|
6
|
+
/// @var {list}
|
7
|
+
$breakpoints: () !global;
|
8
|
+
|
9
|
+
// Mixins.
|
10
|
+
|
11
|
+
/// Sets breakpoints.
|
12
|
+
/// @param {map} $x Breakpoints.
|
13
|
+
@mixin breakpoints($x: ()) {
|
14
|
+
$breakpoints: $x !global;
|
15
|
+
}
|
16
|
+
|
17
|
+
/// Wraps @content in a @media block targeting a specific orientation.
|
18
|
+
/// @param {string} $orientation Orientation.
|
19
|
+
@mixin orientation($orientation) {
|
20
|
+
@media screen and (orientation: #{$orientation}) {
|
21
|
+
@content;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
/// Wraps @content in a @media block using a given query.
|
26
|
+
/// @param {string} $query Query.
|
27
|
+
@mixin breakpoint($query: null) {
|
28
|
+
|
29
|
+
$breakpoint: null;
|
30
|
+
$op: null;
|
31
|
+
$media: null;
|
32
|
+
|
33
|
+
// Determine operator, breakpoint.
|
34
|
+
|
35
|
+
// Greater than or equal.
|
36
|
+
@if (str-slice($query, 0, 2) == '>=') {
|
37
|
+
|
38
|
+
$op: 'gte';
|
39
|
+
$breakpoint: str-slice($query, 3);
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
// Less than or equal.
|
44
|
+
@elseif (str-slice($query, 0, 2) == '<=') {
|
45
|
+
|
46
|
+
$op: 'lte';
|
47
|
+
$breakpoint: str-slice($query, 3);
|
48
|
+
|
49
|
+
}
|
50
|
+
|
51
|
+
// Greater than.
|
52
|
+
@elseif (str-slice($query, 0, 1) == '>') {
|
53
|
+
|
54
|
+
$op: 'gt';
|
55
|
+
$breakpoint: str-slice($query, 2);
|
56
|
+
|
57
|
+
}
|
58
|
+
|
59
|
+
// Less than.
|
60
|
+
@elseif (str-slice($query, 0, 1) == '<') {
|
61
|
+
|
62
|
+
$op: 'lt';
|
63
|
+
$breakpoint: str-slice($query, 2);
|
64
|
+
|
65
|
+
}
|
66
|
+
|
67
|
+
// Not.
|
68
|
+
@elseif (str-slice($query, 0, 1) == '!') {
|
69
|
+
|
70
|
+
$op: 'not';
|
71
|
+
$breakpoint: str-slice($query, 2);
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
// Equal.
|
76
|
+
@else {
|
77
|
+
|
78
|
+
$op: 'eq';
|
79
|
+
$breakpoint: $query;
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
// Build media.
|
84
|
+
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
|
85
|
+
|
86
|
+
$a: map-get($breakpoints, $breakpoint);
|
87
|
+
|
88
|
+
// Range.
|
89
|
+
@if (type-of($a) == 'list') {
|
90
|
+
|
91
|
+
$x: nth($a, 1);
|
92
|
+
$y: nth($a, 2);
|
93
|
+
|
94
|
+
// Max only.
|
95
|
+
@if ($x == null) {
|
96
|
+
|
97
|
+
// Greater than or equal (>= 0 / anything)
|
98
|
+
@if ($op == 'gte') {
|
99
|
+
$media: 'screen';
|
100
|
+
}
|
101
|
+
|
102
|
+
// Less than or equal (<= y)
|
103
|
+
@elseif ($op == 'lte') {
|
104
|
+
$media: 'screen and (max-width: ' + $y + ')';
|
105
|
+
}
|
106
|
+
|
107
|
+
// Greater than (> y)
|
108
|
+
@elseif ($op == 'gt') {
|
109
|
+
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
110
|
+
}
|
111
|
+
|
112
|
+
// Less than (< 0 / invalid)
|
113
|
+
@elseif ($op == 'lt') {
|
114
|
+
$media: 'screen and (max-width: -1px)';
|
115
|
+
}
|
116
|
+
|
117
|
+
// Not (> y)
|
118
|
+
@elseif ($op == 'not') {
|
119
|
+
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
120
|
+
}
|
121
|
+
|
122
|
+
// Equal (<= y)
|
123
|
+
@else {
|
124
|
+
$media: 'screen and (max-width: ' + $y + ')';
|
125
|
+
}
|
126
|
+
|
127
|
+
}
|
128
|
+
|
129
|
+
// Min only.
|
130
|
+
@else if ($y == null) {
|
131
|
+
|
132
|
+
// Greater than or equal (>= x)
|
133
|
+
@if ($op == 'gte') {
|
134
|
+
$media: 'screen and (min-width: ' + $x + ')';
|
135
|
+
}
|
136
|
+
|
137
|
+
// Less than or equal (<= inf / anything)
|
138
|
+
@elseif ($op == 'lte') {
|
139
|
+
$media: 'screen';
|
140
|
+
}
|
141
|
+
|
142
|
+
// Greater than (> inf / invalid)
|
143
|
+
@elseif ($op == 'gt') {
|
144
|
+
$media: 'screen and (max-width: -1px)';
|
145
|
+
}
|
146
|
+
|
147
|
+
// Less than (< x)
|
148
|
+
@elseif ($op == 'lt') {
|
149
|
+
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
150
|
+
}
|
151
|
+
|
152
|
+
// Not (< x)
|
153
|
+
@elseif ($op == 'not') {
|
154
|
+
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
155
|
+
}
|
156
|
+
|
157
|
+
// Equal (>= x)
|
158
|
+
@else {
|
159
|
+
$media: 'screen and (min-width: ' + $x + ')';
|
160
|
+
}
|
161
|
+
|
162
|
+
}
|
163
|
+
|
164
|
+
// Min and max.
|
165
|
+
@else {
|
166
|
+
|
167
|
+
// Greater than or equal (>= x)
|
168
|
+
@if ($op == 'gte') {
|
169
|
+
$media: 'screen and (min-width: ' + $x + ')';
|
170
|
+
}
|
171
|
+
|
172
|
+
// Less than or equal (<= y)
|
173
|
+
@elseif ($op == 'lte') {
|
174
|
+
$media: 'screen and (max-width: ' + $y + ')';
|
175
|
+
}
|
176
|
+
|
177
|
+
// Greater than (> y)
|
178
|
+
@elseif ($op == 'gt') {
|
179
|
+
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
180
|
+
}
|
181
|
+
|
182
|
+
// Less than (< x)
|
183
|
+
@elseif ($op == 'lt') {
|
184
|
+
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
185
|
+
}
|
186
|
+
|
187
|
+
// Not (< x and > y)
|
188
|
+
@elseif ($op == 'not') {
|
189
|
+
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
|
190
|
+
}
|
191
|
+
|
192
|
+
// Equal (>= x and <= y)
|
193
|
+
@else {
|
194
|
+
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
|
195
|
+
}
|
196
|
+
|
197
|
+
}
|
198
|
+
|
199
|
+
}
|
200
|
+
|
201
|
+
// String.
|
202
|
+
@else {
|
203
|
+
|
204
|
+
// Missing a media type? Prefix with "screen".
|
205
|
+
@if (str-slice($a, 0, 1) == '(') {
|
206
|
+
$media: 'screen and ' + $a;
|
207
|
+
}
|
208
|
+
|
209
|
+
// Otherwise, use as-is.
|
210
|
+
@else {
|
211
|
+
$media: $a;
|
212
|
+
}
|
213
|
+
|
214
|
+
}
|
215
|
+
|
216
|
+
}
|
217
|
+
|
218
|
+
// Output.
|
219
|
+
@media #{$media} {
|
220
|
+
@content;
|
221
|
+
}
|
222
|
+
|
223
|
+
}
|