')
373 | .append(i.clone())
374 | .remove()
375 | .html()
376 | .replace(/type="password"/i, 'type="text"')
377 | .replace(/type=password/i, 'type=text')
378 | );
379 |
380 | if (i.attr('id') != '')
381 | x.attr('id', i.attr('id') + '-polyfill-field');
382 |
383 | if (i.attr('name') != '')
384 | x.attr('name', i.attr('name') + '-polyfill-field');
385 |
386 | x.addClass('polyfill-placeholder')
387 | .val(x.attr('placeholder')).insertAfter(i);
388 |
389 | if (i.val() == '')
390 | i.hide();
391 | else
392 | x.hide();
393 |
394 | i
395 | .on('blur', function(event) {
396 |
397 | event.preventDefault();
398 |
399 | var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
400 |
401 | if (i.val() == '') {
402 |
403 | i.hide();
404 | x.show();
405 |
406 | }
407 |
408 | });
409 |
410 | x
411 | .on('focus', function(event) {
412 |
413 | event.preventDefault();
414 |
415 | var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
416 |
417 | x.hide();
418 |
419 | i
420 | .show()
421 | .focus();
422 |
423 | })
424 | .on('keypress', function(event) {
425 |
426 | event.preventDefault();
427 | x.val('');
428 |
429 | });
430 |
431 | });
432 |
433 | // Events.
434 | $this
435 | .on('submit', function() {
436 |
437 | $this.find('input[type=text],input[type=password],textarea')
438 | .each(function(event) {
439 |
440 | var i = $(this);
441 |
442 | if (i.attr('name').match(/-polyfill-field$/))
443 | i.attr('name', '');
444 |
445 | if (i.val() == i.attr('placeholder')) {
446 |
447 | i.removeClass('polyfill-placeholder');
448 | i.val('');
449 |
450 | }
451 |
452 | });
453 |
454 | })
455 | .on('reset', function(event) {
456 |
457 | event.preventDefault();
458 |
459 | $this.find('select')
460 | .val($('option:first').val());
461 |
462 | $this.find('input,textarea')
463 | .each(function() {
464 |
465 | var i = $(this),
466 | x;
467 |
468 | i.removeClass('polyfill-placeholder');
469 |
470 | switch (this.type) {
471 |
472 | case 'submit':
473 | case 'reset':
474 | break;
475 |
476 | case 'password':
477 | i.val(i.attr('defaultValue'));
478 |
479 | x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
480 |
481 | if (i.val() == '') {
482 | i.hide();
483 | x.show();
484 | }
485 | else {
486 | i.show();
487 | x.hide();
488 | }
489 |
490 | break;
491 |
492 | case 'checkbox':
493 | case 'radio':
494 | i.attr('checked', i.attr('defaultValue'));
495 | break;
496 |
497 | case 'text':
498 | case 'textarea':
499 | i.val(i.attr('defaultValue'));
500 |
501 | if (i.val() == '') {
502 | i.addClass('polyfill-placeholder');
503 | i.val(i.attr('placeholder'));
504 | }
505 |
506 | break;
507 |
508 | default:
509 | i.val(i.attr('defaultValue'));
510 | break;
511 |
512 | }
513 | });
514 |
515 | });
516 |
517 | return $this;
518 |
519 | };
520 |
521 | /**
522 | * Moves elements to/from the first positions of their respective parents.
523 | * @param {jQuery} $elements Elements (or selector) to move.
524 | * @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
525 | */
526 | $.prioritize = function($elements, condition) {
527 |
528 | var key = '__prioritize';
529 |
530 | // Expand $elements if it's not already a jQuery object.
531 | if (typeof $elements != 'jQuery')
532 | $elements = $($elements);
533 |
534 | // Step through elements.
535 | $elements.each(function() {
536 |
537 | var $e = $(this), $p,
538 | $parent = $e.parent();
539 |
540 | // No parent? Bail.
541 | if ($parent.length == 0)
542 | return;
543 |
544 | // Not moved? Move it.
545 | if (!$e.data(key)) {
546 |
547 | // Condition is false? Bail.
548 | if (!condition)
549 | return;
550 |
551 | // Get placeholder (which will serve as our point of reference for when this element needs to move back).
552 | $p = $e.prev();
553 |
554 | // Couldn't find anything? Means this element's already at the top, so bail.
555 | if ($p.length == 0)
556 | return;
557 |
558 | // Move element to top of parent.
559 | $e.prependTo($parent);
560 |
561 | // Mark element as moved.
562 | $e.data(key, $p);
563 |
564 | }
565 |
566 | // Moved already?
567 | else {
568 |
569 | // Condition is true? Bail.
570 | if (condition)
571 | return;
572 |
573 | $p = $e.data(key);
574 |
575 | // Move element back to its original location (using our placeholder).
576 | $e.insertAfter($p);
577 |
578 | // Unmark element as moved.
579 | $e.removeData(key);
580 |
581 | }
582 |
583 | });
584 |
585 | };
586 |
587 | })(jQuery);
--------------------------------------------------------------------------------
/assets/sass/base/_page.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Basic */
8 |
9 | // MSIE: Required for IEMobile.
10 | @-ms-viewport {
11 | width: device-width;
12 | }
13 |
14 | // MSIE: Prevents scrollbar from overlapping content.
15 | body {
16 | -ms-overflow-style: scrollbar;
17 | }
18 |
19 | // Ensures page width is always >=320px.
20 | @include breakpoint(xsmall) {
21 | html, body {
22 | min-width: 320px;
23 | }
24 | }
25 |
26 | body {
27 | background: _palette(bg);
28 |
29 | // Prevents animation/transition "flicker" on page load and triggers various
30 | // on-load animations when removed. Automatically added/removed by js/main.js.
31 | &.loading {
32 | *, *:before, *:after {
33 | @include vendor('animation', 'none !important');
34 | @include vendor('transition', 'none !important');
35 | }
36 | }
37 |
38 | // Prevents animation/transition "flicker" on resize.
39 | // Automatically added/removed by js/main.js.
40 | &.resizing {
41 | *, *:before, *:after {
42 | @include vendor('animation', 'none !important');
43 | @include vendor('transition', 'none !important');
44 | }
45 | }
46 |
47 | }
--------------------------------------------------------------------------------
/assets/sass/base/_typography.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Type */
8 |
9 | body, input, select, textarea {
10 | color: _palette(fg);
11 | font-family: _font(family);
12 | font-size: 15pt;
13 | font-weight: _font(weight);
14 | letter-spacing: _font(kerning);
15 | line-height: 1.65;
16 |
17 | @include breakpoint(xlarge) {
18 | font-size: 11pt;
19 | }
20 | }
21 |
22 | a {
23 | @include vendor('transition', (
24 | 'color #{_duration(transition)} ease-in-out',
25 | 'border-bottom-color #{_duration(transition)} ease-in-out'
26 | ));
27 | border-bottom: dotted 1px;
28 | color: _palette(accent1);
29 | text-decoration: none;
30 |
31 | &:hover {
32 | border-bottom-color: transparent;
33 | color: _palette(accent1) !important;
34 | }
35 | }
36 |
37 | strong, b {
38 | color: _palette(fg-bold);
39 | font-weight: _font(weight-bold);
40 | }
41 |
42 | em, i {
43 | font-style: italic;
44 | }
45 |
46 | p {
47 | margin: 0 0 _size(element-margin) 0;
48 | }
49 |
50 | h1, h2, h3, h4, h5, h6 {
51 | color: _palette(fg-bold);
52 | font-weight: _font(weight-bold);
53 | letter-spacing: _font(kerning-alt);
54 | line-height: 1.5;
55 | margin: 0 0 (_size(element-margin) * 0.5) 0;
56 | text-transform: uppercase;
57 |
58 | a {
59 | color: inherit;
60 | text-decoration: none;
61 | }
62 | }
63 |
64 | h1 {
65 | font-size: 2em;
66 | }
67 |
68 | h2 {
69 | font-size: 1.25em;
70 | }
71 |
72 | h3 {
73 | font-size: 1.1em;
74 | }
75 |
76 | h4 {
77 | font-size: 1em;
78 | }
79 |
80 | h5 {
81 | font-size: 0.9em;
82 | }
83 |
84 | h6 {
85 | font-size: 0.7em;
86 | }
87 |
88 | @include breakpoint(small) {
89 | h2 {
90 | font-size: 1em;
91 | }
92 |
93 | h3 {
94 | font-size: 0.9em;
95 | }
96 |
97 | h4 {
98 | font-size: 0.8em;
99 | }
100 |
101 | h5 {
102 | font-size: 0.7em;
103 | }
104 |
105 | h6 {
106 | font-size: 0.7em;
107 | }
108 | }
109 |
110 | sub {
111 | font-size: 0.8em;
112 | position: relative;
113 | top: 0.5em;
114 | }
115 |
116 | sup {
117 | font-size: 0.8em;
118 | position: relative;
119 | top: -0.5em;
120 | }
121 |
122 | blockquote {
123 | border-left: 4px _palette(border);
124 | font-style: italic;
125 | margin: 0 0 _size(element-margin) 0;
126 | padding: (_size(element-margin) / 4) 0 (_size(element-margin) / 4) _size(element-margin);
127 | }
128 |
129 | code {
130 | background: _palette(border-bg);
131 | border: solid 1px _palette(border);
132 | font-family: _font(family-fixed);
133 | font-size: 0.9em;
134 | margin: 0 0.25em;
135 | padding: 0.25em 0.65em;
136 | }
137 |
138 | pre {
139 | -webkit-overflow-scrolling: touch;
140 | font-family: _font(family-fixed);
141 | font-size: 0.9em;
142 | margin: 0 0 _size(element-margin) 0;
143 |
144 | code {
145 | display: block;
146 | line-height: 1.75;
147 | padding: 1em 1.5em;
148 | overflow-x: auto;
149 | }
150 | }
151 |
152 | hr {
153 | border: 0;
154 | border-bottom: solid 1px _palette(border);
155 | margin: _size(element-margin) 0;
156 |
157 | &.major {
158 | margin: (_size(element-margin) * 1.5) 0;
159 | }
160 | }
161 |
162 | .align-left {
163 | text-align: left;
164 | }
165 |
166 | .align-center {
167 | text-align: center;
168 | }
169 |
170 | .align-right {
171 | text-align: right;
172 | }
--------------------------------------------------------------------------------
/assets/sass/components/_button.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Button */
8 |
9 | input[type="submit"],
10 | input[type="reset"],
11 | input[type="button"],
12 | button,
13 | .button {
14 | @include vendor('appearance', 'none');
15 | @include vendor('transition', (
16 | 'background-color #{_duration(transition)} ease-in-out',
17 | 'box-shadow #{_duration(transition)} ease-in-out',
18 | 'color #{_duration(transition)} ease-in-out'
19 | ));
20 | background-color: transparent;
21 | border: 0;
22 | border-radius: 0;
23 | box-shadow: inset 0 0 0 2px _palette(border);
24 | color: _palette(fg-bold) !important;
25 | cursor: pointer;
26 | display: inline-block;
27 | font-size: 0.9em;
28 | font-weight: _font(weight-bold);
29 | height: _size(element-height) * (1 / 0.9);
30 | letter-spacing: _font(kerning-alt);
31 | line-height: _size(element-height) * (1 / 0.9);
32 | padding: 0 2.5em;
33 | text-align: center;
34 | text-decoration: none;
35 | text-transform: uppercase;
36 | white-space: nowrap;
37 |
38 | &:hover {
39 | box-shadow: inset 0 0 0 2px _palette(accent1);
40 | color: _palette(accent1) !important;
41 |
42 | &:active {
43 | background-color: transparentize(_palette(accent1), 0.85);
44 | color: _palette(accent1) !important;
45 | }
46 | }
47 |
48 | &.icon {
49 | padding-left: 1.35em;
50 |
51 | &:before {
52 | margin-right: 0.5em;
53 | }
54 | }
55 |
56 | &.fit {
57 | display: block;
58 | margin: 0 0 (_size(element-margin) * 0.5) 0;
59 | width: 100%;
60 | }
61 |
62 | &.small {
63 | font-size: 0.8em;
64 | }
65 |
66 | &.big {
67 | font-size: 1.35em;
68 | }
69 |
70 | &.special {
71 | background-color: _palette(accent1);
72 | box-shadow: none;
73 |
74 | &:hover {
75 | background-color: lighten(_palette(accent1), 10);
76 | color: _palette(fg-bold) !important;
77 |
78 | &:active {
79 | background-color: darken(_palette(accent1), 10);
80 | }
81 | }
82 | }
83 |
84 | &.disabled,
85 | &:disabled {
86 | @include vendor('pointer-events', 'none');
87 | opacity: 0.35;
88 | }
89 | }
--------------------------------------------------------------------------------
/assets/sass/components/_form.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Form */
8 |
9 | form {
10 | margin: 0 0 _size(element-margin) 0;
11 |
12 | .field {
13 | margin: 0 0 (_size(element-margin) * 0.65) 0;
14 |
15 | &.half {
16 | float: left;
17 | padding: 0 0 0 (_size(element-margin) * 0.325);
18 | width: 50%;
19 |
20 | &.first {
21 | padding: 0 (_size(element-margin) * 0.325) 0 0;
22 | }
23 | }
24 | }
25 |
26 | > .actions {
27 | margin: (_size(element-margin) * 0.75) 0 0 0 !important;
28 | }
29 |
30 | @include breakpoint(small) {
31 | .field {
32 | &.half {
33 | float: none;
34 | padding: 0;
35 | width: 100%;
36 |
37 | &.first {
38 | padding: 0;
39 | }
40 | }
41 | }
42 | }
43 | }
44 |
45 | label {
46 | color: _palette(fg-bold);
47 | display: block;
48 | font-size: 0.9em;
49 | font-weight: _font(weight-bold);
50 | margin: 0 0 (_size(element-margin) * 0.5) 0;
51 | }
52 |
53 | input[type="text"],
54 | input[type="password"],
55 | input[type="email"],
56 | input[type="tel"],
57 | input[type="search"],
58 | input[type="url"],
59 | select,
60 | textarea {
61 | @include vendor('appearance', 'none');
62 | background: _palette(border-bg);
63 | border: 0;
64 | border-radius: 0;
65 | color: _palette(fg);
66 | display: block;
67 | outline: 0;
68 | padding: 0 1em;
69 | text-decoration: none;
70 | width: 100%;
71 |
72 | &:invalid {
73 | box-shadow: none;
74 | }
75 |
76 | &:focus {
77 | box-shadow: inset 0 0 0 2px _palette(accent1);
78 | }
79 | }
80 |
81 | .select-wrapper {
82 | @include icon;
83 | display: block;
84 | position: relative;
85 |
86 | &:before {
87 | color: _palette(border);
88 | content: '\f078';
89 | display: block;
90 | height: _size(element-height);
91 | line-height: _size(element-height);
92 | pointer-events: none;
93 | position: absolute;
94 | right: 0;
95 | text-align: center;
96 | top: 0;
97 | width: _size(element-height);
98 | }
99 |
100 | select::-ms-expand {
101 | display: none;
102 | }
103 | }
104 |
105 | input[type="text"],
106 | input[type="password"],
107 | input[type="email"],
108 | input[type="tel"],
109 | input[type="search"],
110 | input[type="url"],
111 | select {
112 | height: _size(element-height);
113 | }
114 |
115 | textarea {
116 | padding: 0.75em 1em;
117 | }
118 |
119 | input[type="checkbox"],
120 | input[type="radio"], {
121 | @include vendor('appearance', 'none');
122 | display: block;
123 | float: left;
124 | margin-right: -2em;
125 | opacity: 0;
126 | width: 1em;
127 | z-index: -1;
128 |
129 | & + label {
130 | @include icon;
131 | color: _palette(fg);
132 | cursor: pointer;
133 | display: inline-block;
134 | font-size: 1em;
135 | font-weight: _font(weight);
136 | padding-left: (_size(element-height) * 0.6) + 0.75em;
137 | padding-right: 0.75em;
138 | position: relative;
139 |
140 | &:before {
141 | background: _palette(border-bg);
142 | content: '';
143 | display: inline-block;
144 | height: (_size(element-height) * 0.6);
145 | left: 0;
146 | line-height: (_size(element-height) * 0.575);
147 | position: absolute;
148 | text-align: center;
149 | top: 0;
150 | width: (_size(element-height) * 0.6);
151 | }
152 | }
153 |
154 | &:checked + label {
155 | &:before {
156 | background: _palette(accent1);
157 | border-color: _palette(accent1);
158 | color: _palette(fg-bold);
159 | content: '\f00c';
160 | }
161 | }
162 |
163 | &:focus + label {
164 | &:before {
165 | box-shadow: 0 0 0 2px _palette(accent1);
166 | }
167 | }
168 | }
169 |
170 | input[type="checkbox"] {
171 | & + label {
172 | &:before {
173 | }
174 | }
175 | }
176 |
177 | input[type="radio"] {
178 | & + label {
179 | &:before {
180 | border-radius: 100%;
181 | }
182 | }
183 | }
184 |
185 | ::-webkit-input-placeholder {
186 | color: _palette(fg-medium) !important;
187 | opacity: 1.0;
188 | }
189 |
190 | :-moz-placeholder {
191 | color: _palette(fg-medium) !important;
192 | opacity: 1.0;
193 | }
194 |
195 | ::-moz-placeholder {
196 | color: _palette(fg-medium) !important;
197 | opacity: 1.0;
198 | }
199 |
200 | :-ms-input-placeholder {
201 | color: _palette(fg-medium) !important;
202 | opacity: 1.0;
203 | }
204 |
205 | .formerize-placeholder {
206 | color: _palette(fg-medium) !important;
207 | opacity: 1.0;
208 | }
--------------------------------------------------------------------------------
/assets/sass/components/_icon.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Icon */
8 |
9 | .icon {
10 | @include icon;
11 | border-bottom: none;
12 | position: relative;
13 |
14 | > .label {
15 | display: none;
16 | }
17 | }
--------------------------------------------------------------------------------
/assets/sass/components/_list.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* List */
8 |
9 | ol {
10 | list-style: decimal;
11 | margin: 0 0 _size(element-margin) 0;
12 | padding-left: 1.25em;
13 |
14 | li {
15 | padding-left: 0.25em;
16 | }
17 | }
18 |
19 | ul {
20 | list-style: disc;
21 | margin: 0 0 _size(element-margin) 0;
22 | padding-left: 1em;
23 |
24 | li {
25 | padding-left: 0.5em;
26 | }
27 |
28 | &.alt {
29 | list-style: none;
30 | padding-left: 0;
31 |
32 | li {
33 | border-top: solid 1px _palette(border);
34 | padding: 0.5em 0;
35 |
36 | &:first-child {
37 | border-top: 0;
38 | padding-top: 0;
39 | }
40 | }
41 | }
42 |
43 | &.icons {
44 | cursor: default;
45 | list-style: none;
46 | padding-left: 0;
47 |
48 | li {
49 | display: inline-block;
50 | padding: 0 1em 0 0;
51 |
52 | &:last-child {
53 | padding-right: 0;
54 | }
55 |
56 | .icon {
57 | color: _palette(fg-light);
58 |
59 | &:before {
60 | font-size: 1.5em;
61 | }
62 | }
63 | }
64 | }
65 |
66 | &.actions {
67 | cursor: default;
68 | list-style: none;
69 | padding-left: 0;
70 |
71 | li {
72 | display: inline-block;
73 | padding: 0 (_size(element-margin) * 0.5) 0 0;
74 | vertical-align: middle;
75 |
76 | &:last-child {
77 | padding-right: 0;
78 | }
79 | }
80 |
81 | &.small {
82 | li {
83 | padding: 0 (_size(element-margin) * 0.25) 0 0;
84 | }
85 | }
86 |
87 | &.vertical {
88 | li {
89 | display: block;
90 | padding: (_size(element-margin) * 0.5) 0 0 0;
91 |
92 | &:first-child {
93 | padding-top: 0;
94 | }
95 |
96 | > * {
97 | margin-bottom: 0;
98 | }
99 | }
100 |
101 | &.small {
102 | li {
103 | padding: (_size(element-margin) * 0.25) 0 0 0;
104 |
105 | &:first-child {
106 | padding-top: 0;
107 | }
108 | }
109 | }
110 | }
111 |
112 | &.fit {
113 | display: table;
114 | margin-left: (_size(element-margin) * -0.5);
115 | padding: 0;
116 | table-layout: fixed;
117 | width: calc(100% + #{(_size(element-margin) * 0.5)});
118 |
119 | li {
120 | display: table-cell;
121 | padding: 0 0 0 (_size(element-margin) * 0.5);
122 |
123 | > * {
124 | margin-bottom: 0;
125 | }
126 | }
127 |
128 | &.small {
129 | margin-left: (_size(element-margin) * -0.25);
130 | width: calc(100% + #{(_size(element-margin) * 0.25)});
131 |
132 | li {
133 | padding: 0 0 0 (_size(element-margin) * 0.25);
134 | }
135 | }
136 | }
137 |
138 | @include breakpoint(xsmall) {
139 | margin: 0 0 _size(element-margin) 0;
140 |
141 | li {
142 | padding: (_size(element-margin) * 0.5) 0 0 0;
143 | display: block;
144 | text-align: center;
145 | width: 100%;
146 |
147 | &:first-child {
148 | padding-top: 0;
149 | }
150 |
151 | > * {
152 | width: 100%;
153 | margin: 0 !important;
154 |
155 | &.icon {
156 | &:before {
157 | margin-left: -2em;
158 | }
159 | }
160 | }
161 | }
162 |
163 | &.small {
164 | li {
165 | padding: (_size(element-margin) * 0.25) 0 0 0;
166 |
167 | &:first-child {
168 | padding-top: 0;
169 | }
170 | }
171 | }
172 | }
173 | }
174 | }
175 |
176 | dl {
177 | margin: 0 0 _size(element-margin) 0;
178 |
179 | dt {
180 | display: block;
181 | font-weight: _font(weight-bold);
182 | margin: 0 0 (_size(element-margin) * 0.5) 0;
183 | }
184 |
185 | dd {
186 | margin-left: _size(element-margin);
187 | }
188 | }
--------------------------------------------------------------------------------
/assets/sass/components/_panel.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Panel */
8 |
9 | .panel {
10 | @include padding(4em, 4em);
11 | @include vendor('transform', 'translateY(100vh)');
12 | @include vendor('transition', 'transform #{_duration(panel)} ease');
13 | -webkit-overflow-scrolling: touch;
14 | background: transparentize(_palette(bg), 0.025);
15 | bottom: _size(header);
16 | left: 0;
17 | max-height: calc(80vh - #{_size(header)});
18 | overflow-y: auto;
19 | position: fixed;
20 | width: 100%;
21 | z-index: _misc(z-index-base) + 1;
22 |
23 | &.active {
24 | @include vendor('transform', 'translateY(1px)');
25 | }
26 |
27 | > .inner {
28 | margin: 0 auto;
29 | max-width: 100%;
30 | width: 75em;
31 |
32 | &.split {
33 | @include vendor('display', 'flex');
34 |
35 | > div {
36 | margin-left: 4em;
37 | width: 50%;
38 | }
39 |
40 | > :first-child {
41 | margin-left: 0;
42 | }
43 | }
44 | }
45 |
46 | > .closer {
47 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
48 | background-image: url('images/close.svg');
49 | background-position: center;
50 | background-repeat: no-repeat;
51 | background-size: 3em;
52 | cursor: pointer;
53 | height: 5em;
54 | opacity: 0.25;
55 | position: absolute;
56 | right: 0;
57 | top: 0;
58 | width: 5em;
59 | z-index: 2;
60 |
61 | &:hover {
62 | opacity: 1.0;
63 | }
64 | }
65 |
66 | @include breakpoint(large) {
67 | @include padding(3em, 3em);
68 |
69 | > .inner {
70 | &.split {
71 | > div {
72 | margin-left: 3em;
73 | }
74 | }
75 | }
76 |
77 | > .closer {
78 | background-size: 2.5em;
79 | background-position: 75% 25%;
80 | }
81 | }
82 |
83 | @include breakpoint(medium) {
84 | > .inner {
85 | &.split {
86 | @include vendor('flex-direction', 'column');
87 |
88 | > div {
89 | margin-left: 0;
90 | width: 100%;
91 | }
92 | }
93 | }
94 | }
95 |
96 | @include breakpoint(small) {
97 | @include vendor('transform', 'translateY(-100vh)');
98 | @include padding(4em, 2em);
99 | bottom: auto;
100 | top: calc(#{_size(header)} - 1px);
101 |
102 | &.active {
103 | @include vendor('transform', 'translateY(0)');
104 | }
105 | }
106 | }
--------------------------------------------------------------------------------
/assets/sass/components/_poptrox-popup.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Poptrox Popup */
8 |
9 | .poptrox-overlay {
10 | -webkit-tap-highlight-color: rgba(255,255,255,0);
11 | }
12 |
13 | .poptrox-popup {
14 | background: transparentize(_palette(bg-alt), 0.075);
15 | box-shadow: 0 1em 3em 0.5em rgba(0,0,0,0.25);
16 | cursor: default;
17 |
18 | &:before {
19 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
20 | /*@include vendor('background-image', (
21 | 'linear-gradient(to left, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0))',
22 | 'linear-gradient(to right, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0))'
23 | ));*/
24 | content: '';
25 | display: block;
26 | height: 100%;
27 | left: 0;
28 | position: absolute;
29 | top: 0;
30 | width: 100%;
31 | z-index: 1;
32 | opacity: 1;
33 | }
34 |
35 | .closer {
36 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
37 | background-image: url('images/close.svg');
38 | background-position: center;
39 | background-repeat: no-repeat;
40 | background-size: 3em;
41 | height: 5em;
42 | opacity: 0;
43 | position: absolute;
44 | right: 0;
45 | top: 0;
46 | width: 5em;
47 | z-index: 2;
48 | }
49 |
50 | .nav-previous,
51 | .nav-next {
52 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
53 | background-image: url('images/arrow.svg');
54 | background-position: center;
55 | background-repeat: no-repeat;
56 | background-size: 5em;
57 | cursor: pointer;
58 | height: 8em;
59 | margin-top: -4em;
60 | opacity: 0;
61 | position: absolute;
62 | top: 50%;
63 | width: 6em;
64 | z-index: 2;
65 | }
66 |
67 | .nav-previous {
68 | @include vendor('transform', 'scaleX(-1)');
69 | left: 0;
70 | }
71 |
72 | .nav-next {
73 | right: 0;
74 | }
75 |
76 | .caption {
77 | @include padding(2em, 2em);
78 | @include vendor('background-image', 'linear-gradient(to top, rgba(16,16,16,0.45) 25%, rgba(16,16,16,0) 100%)');
79 | bottom: 0;
80 | cursor: default;
81 | left: 0;
82 | position: absolute;
83 | text-align: left;
84 | width: 100%;
85 | z-index: 2;
86 |
87 | h2, h3, h4, h5, h6 {
88 | margin: 0 0 (_size(element-margin) * 0.25) 0;
89 | }
90 |
91 | p {
92 | color: _palette(fg-bold);
93 | }
94 | }
95 |
96 | .loader {
97 | @include vendor('animation', 'spinner 1s infinite linear !important');
98 | background-image: url('images/spinner.svg');
99 | background-position: center;
100 | background-repeat: no-repeat;
101 | background-size: contain;
102 | display: block;
103 | font-size: 2em;
104 | height: 2em;
105 | left: 50%;
106 | line-height: 2em;
107 | margin: -1em 0 0 -1em;
108 | opacity: 0.25;
109 | position: absolute;
110 | text-align: center;
111 | top: 50%;
112 | width: 2em;
113 | }
114 |
115 | &:hover {
116 | .closer,
117 | .nav-previous,
118 | .nav-next {
119 | opacity: 0.6;
120 |
121 | &:hover {
122 | opacity: 1.0;
123 | }
124 | }
125 | }
126 |
127 | &.loading {
128 | &:before {
129 | opacity: 0;
130 | }
131 | }
132 |
133 | body.touch & {
134 | .closer,
135 | .nav-previous,
136 | .nav-next {
137 | opacity: 1.0 !important;
138 | }
139 | }
140 |
141 | @include breakpoint(medium) {
142 | .closer {
143 | background-size: 3em;
144 | }
145 |
146 | .nav-previous,
147 | .nav-next {
148 | background-size: 4em;
149 | }
150 | }
151 |
152 | @include breakpoint(small) {
153 | &:before {
154 | display: none;
155 | }
156 |
157 | .caption {
158 | display: none !important;
159 | }
160 |
161 | .closer,
162 | .nav-previous,
163 | .nav-next {
164 | display: none !important;
165 | }
166 | }
167 | }
--------------------------------------------------------------------------------
/assets/sass/components/_table.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Table */
8 |
9 | .table-wrapper {
10 | -webkit-overflow-scrolling: touch;
11 | overflow-x: auto;
12 | }
13 |
14 | table {
15 | margin: 0 0 _size(element-margin) 0;
16 | width: 100%;
17 |
18 | tbody {
19 | tr {
20 | border: solid 1px _palette(border);
21 | border-left: 0;
22 | border-right: 0;
23 |
24 | &:nth-child(2n + 1) {
25 | background-color: _palette(border-bg);
26 | }
27 | }
28 | }
29 |
30 | td {
31 | padding: 0.75em 0.75em;
32 | }
33 |
34 | th {
35 | color: _palette(fg-bold);
36 | font-size: 0.9em;
37 | font-weight: _font(weight-bold);
38 | padding: 0 0.75em 0.75em 0.75em;
39 | text-align: left;
40 | }
41 |
42 | thead {
43 | border-bottom: solid 2px _palette(border);
44 | }
45 |
46 | tfoot {
47 | border-top: solid 2px _palette(border);
48 | }
49 |
50 | &.alt {
51 | border-collapse: separate;
52 |
53 | tbody {
54 | tr {
55 | td {
56 | border: solid 1px _palette(border);
57 | border-left-width: 0;
58 | border-top-width: 0;
59 |
60 | &:first-child {
61 | border-left-width: 1px;
62 | }
63 | }
64 |
65 | &:first-child {
66 | td {
67 | border-top-width: 1px;
68 | }
69 | }
70 | }
71 | }
72 |
73 | thead {
74 | border-bottom: 0;
75 | }
76 |
77 | tfoot {
78 | border-top: 0;
79 | }
80 | }
81 | }
--------------------------------------------------------------------------------
/assets/sass/ie8.scss:
--------------------------------------------------------------------------------
1 | @import 'libs/vars';
2 | @import 'libs/functions';
3 | @import 'libs/mixins';
4 | @import 'libs/skel';
5 |
6 | /*
7 | Multiverse by HTML5 UP
8 | html5up.net | @ajlkn
9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
10 | */
11 |
12 | /* Button */
13 |
14 | input[type="submit"],
15 | input[type="reset"],
16 | input[type="button"],
17 | button,
18 | .button {
19 | border: solid 2px _palette(border);
20 |
21 | &.special {
22 | border: 0;
23 | }
24 | }
25 |
26 | /* Panel */
27 |
28 | .panel {
29 | background: _palette(bg);
30 | display: none;
31 |
32 | &.active {
33 | display: block;
34 | }
35 |
36 | > .closer {
37 | &:before {
38 | content: '\00d7';
39 | font-size: 42px;
40 | }
41 | }
42 | }
43 |
44 | /* Main */
45 |
46 | #main {
47 | .thumb {
48 | > h2 {
49 | text-align: center;
50 | width: 100%;
51 | left: 0;
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/assets/sass/ie9.scss:
--------------------------------------------------------------------------------
1 | @import 'libs/vars';
2 | @import 'libs/functions';
3 | @import 'libs/mixins';
4 | @import 'libs/skel';
5 |
6 | /*
7 | Multiverse by HTML5 UP
8 | html5up.net | @ajlkn
9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
10 | */
11 |
12 | /* Panel */
13 |
14 | .panel {
15 | > .inner {
16 | &.split {
17 | &:after {
18 | clear: both;
19 | content: '';
20 | display: block;
21 | }
22 |
23 | > div {
24 | float: left;
25 | margin-left: 0;
26 | padding-left: 0;
27 | }
28 |
29 | > :first-child {
30 | padding-left: 0;
31 | }
32 | }
33 | }
34 | }
35 |
36 | /* Wrapper */
37 |
38 | #wrapper {
39 | &:before {
40 | display: none;
41 | }
42 | }
43 |
44 | /* Main */
45 |
46 | #main {
47 | &:after {
48 | clear: both;
49 | content: '';
50 | display: block;
51 | }
52 |
53 | .thumb {
54 | float: left;
55 | }
56 | }
--------------------------------------------------------------------------------
/assets/sass/layout/_footer.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Footer */
8 |
9 | #footer {
10 | .ad {
11 | margin: 0 0 1em 0;
12 | max-height: 150px;
13 | }
14 | .copyright {
15 | color: _palette(fg-light);
16 | font-size: 0.9em;
17 |
18 | a {
19 | color: inherit;
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/assets/sass/layout/_header.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Header */
8 |
9 | body {
10 | padding: 0 0 _size(header) 0;
11 | }
12 |
13 | #header {
14 | @include vendor('transform', 'translateY(0)');
15 | @include vendor('transition', 'transform #{_duration(header)} ease');
16 | -moz-user-select: none;
17 | -ms-user-select: none;
18 | -webkit-user-select: none;
19 | background: _palette(bg-alt);
20 | bottom: -1em;
21 | height: _size(header) + 1em;
22 | left: 0;
23 | line-height: _size(header);
24 | padding: 0 1.5em;
25 | position: fixed;
26 | user-select: none;
27 | width: 100%;
28 | z-index: _misc(z-index-base) + 2;
29 |
30 | body.loading & {
31 | @include vendor('transform', 'translateY(#{_size(header)})');
32 | }
33 |
34 | h1 {
35 | color: _palette(fg);
36 | display: inline-block;
37 | font-size: 1em;
38 | line-height: 1;
39 | margin: 0;
40 | vertical-align: middle;
41 |
42 | a {
43 | border: 0;
44 | color: inherit;
45 |
46 | &:hover {
47 | color: inherit !important;
48 | }
49 | }
50 | }
51 |
52 | nav {
53 | position: absolute;
54 | right: 0;
55 | top: 0;
56 |
57 | > ul {
58 | list-style: none;
59 | margin: 0;
60 | padding: 0;
61 |
62 | > li {
63 | display: inline-block;
64 | padding: 0;
65 |
66 | a {
67 | @include vendor('transition', 'background-color #{_duration(panel)} ease');
68 | border: 0;
69 | color: _palette(fg-bold);
70 | display: inline-block;
71 | letter-spacing: _font(kerning-alt);
72 | padding: 0 1.65em;
73 | text-transform: uppercase;
74 |
75 | &.icon {
76 | &:before {
77 | color: _palette(fg-light);
78 | float: right;
79 | margin-left: 0.75em;
80 | }
81 | }
82 |
83 | &:hover {
84 | color: _palette(fg-bold) !important;
85 | }
86 |
87 | &.active {
88 | background-color: _palette(bg);
89 | }
90 | }
91 | }
92 | }
93 | }
94 | }
95 |
96 | @include breakpoint(small) {
97 | body {
98 | padding: _size(header) 0 0 0;
99 | }
100 |
101 | #header {
102 | @include vendor('transform', 'translateY(0)');
103 | bottom: auto;
104 | height: _size(header);
105 | padding: 0 1em;
106 | top: 0;
107 |
108 | body.loading & {
109 | @include vendor('transform', 'translateY(#{_size(header) * -0.85})');
110 | }
111 |
112 | h1 {
113 | font-size: 0.9em;
114 | }
115 |
116 | nav {
117 | > ul {
118 | > li {
119 | a {
120 | font-size: 0.9em;
121 | padding: 0 1.15em;
122 | }
123 | }
124 | }
125 | }
126 | }
127 | }
--------------------------------------------------------------------------------
/assets/sass/layout/_main.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Main */
8 |
9 | #main {
10 | @include vendor('transition', (
11 | '-moz-filter #{_duration(panel)} ease',
12 | '-webkit-filter #{_duration(panel)} ease',
13 | '-ms-filter #{_duration(panel)} ease',
14 | 'filter #{_duration(panel)} ease'
15 | ));
16 | @include vendor('display', 'flex');
17 | @include vendor('flex-wrap', 'wrap');
18 | -webkit-tap-highlight-color: rgba(255,255,255,0);
19 |
20 | .thumb {
21 | @include vendor('transition', (
22 | 'opacity 1.25s ease-in-out'
23 | ));
24 | @include vendor('pointer-events', 'auto');
25 | -webkit-tap-highlight-color: rgba(255,255,255,0);
26 | opacity: 1;
27 | overflow: hidden;
28 | position: relative;
29 |
30 | &:after {
31 | @include vendor('background-image', 'linear-gradient(to top, rgba(10,17,25,0.35) 5%, rgba(10,17,25,0) 35%)');
32 | @include vendor('pointer-events', 'none');
33 | background-size: cover;
34 | content: '';
35 | display: block;
36 | height: 100%;
37 | left: 0;
38 | position: absolute;
39 | top: 0;
40 | width: 100%;
41 | }
42 |
43 | > .image {
44 | -webkit-tap-highlight-color: rgba(255,255,255,0);
45 | background-position: center;
46 | background-repeat: no-repeat;
47 | background-size: cover;
48 | border: 0;
49 | height: 100%;
50 | left: 0;
51 | position: absolute;
52 | top: 0;
53 | width: 100%;
54 | }
55 |
56 | > h2 {
57 | @include vendor('pointer-events', 'none');
58 | bottom: (1.5em / 0.8);
59 | font-size: 0.8em;
60 | left: (1.75em / 0.8);
61 | margin: 0;
62 | position: absolute;
63 | z-index: 1;
64 | }
65 |
66 | > p {
67 | display: none;
68 | }
69 | }
70 |
71 | &:after {
72 | @include vendor('pointer-events', 'none');
73 | @include vendor('transition', (
74 | 'opacity #{_duration(panel)} ease',
75 | 'visibility #{_duration(panel)}',
76 | ));
77 | background: _palette(bg-overlay);
78 | content: '';
79 | display: block;
80 | height: 100%;
81 | left: 0;
82 | opacity: 0;
83 | position: absolute;
84 | top: 0;
85 | visibility: hidden;
86 | width: 100%;
87 | z-index: 1;
88 |
89 | body.ie & {
90 | background: _palette(bg-ie-overlay);
91 | }
92 | }
93 |
94 | body.content-active & {
95 | @include vendor('filter', 'blur(6px)');
96 |
97 | &:after {
98 | @include vendor('pointer-events', 'auto');
99 | opacity: 1;
100 | visibility: visible;
101 | }
102 | }
103 |
104 | body.loading & {
105 | .thumb {
106 | @include vendor('pointer-events', 'none');
107 | opacity: 0;
108 | }
109 | }
110 |
111 | @mixin thumb($rows, $columns, $pad, $minHeight) {
112 | $baseDelay: _duration(header) - 0.5;
113 | $defaultDelay: $baseDelay + (((($rows * $columns) + 1) * 1.5) * _duration(thumb));
114 |
115 | .thumb {
116 | @include vendor('transition-delay', '#{$defaultDelay}');
117 | height: calc(#{100vh / ($rows + $pad)} - #{_size(header) / $rows});
118 | min-height: $minHeight;
119 | width: (100% / $columns);
120 |
121 | @for $i from 1 through (($rows * $columns) * 1.5) {
122 | &:nth-child(#{$i}) {
123 | @include vendor('transition-delay', '#{$baseDelay + ($i * _duration(thumb))}');
124 | }
125 | }
126 | }
127 | }
128 |
129 | // Default.
130 | @include thumb(
131 | _misc(main-layout, default, rows),
132 | _misc(main-layout, default, columns),
133 | _misc(main-layout, default, pad),
134 | _misc(main-layout, default, minHeight)
135 | );
136 |
137 | // XLarge.
138 | @include breakpoint(xlarge) {
139 | @include thumb(
140 | _misc(main-layout, xlarge, rows),
141 | _misc(main-layout, xlarge, columns),
142 | _misc(main-layout, xlarge, pad),
143 | _misc(main-layout, xlarge, minHeight)
144 | );
145 | }
146 |
147 | // Large.
148 | @include breakpoint(large) {
149 | @include thumb(
150 | _misc(main-layout, large, rows),
151 | _misc(main-layout, large, columns),
152 | _misc(main-layout, large, pad),
153 | _misc(main-layout, large, minHeight)
154 | );
155 | }
156 |
157 | // Medium.
158 | @include breakpoint(medium) {
159 | @include thumb(
160 | _misc(main-layout, medium, rows),
161 | _misc(main-layout, medium, columns),
162 | _misc(main-layout, medium, pad),
163 | _misc(main-layout, medium, minHeight)
164 | );
165 | }
166 |
167 | // XSmall.
168 | @include breakpoint(xsmall) {
169 | @include thumb(
170 | _misc(main-layout, xsmall, rows),
171 | _misc(main-layout, xsmall, columns),
172 | _misc(main-layout, xsmall, pad),
173 | _misc(main-layout, xsmall, minHeight)
174 | );
175 | }
176 |
177 | }
--------------------------------------------------------------------------------
/assets/sass/layout/_wrapper.scss:
--------------------------------------------------------------------------------
1 | ///
2 | /// Multiverse by HTML5 UP
3 | /// html5up.net | @ajlkn
4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5 | ///
6 |
7 | /* Wrapper */
8 |
9 | #wrapper {
10 | @include vendor('transition', (
11 | '-moz-filter #{_duration(panel)} ease',
12 | '-webkit-filter #{_duration(panel)} ease',
13 | '-ms-filter #{_duration(panel)} ease',
14 | 'filter #{_duration(panel)} ease'
15 | ));
16 | position: relative;
17 |
18 | &:after {
19 | @include vendor('pointer-events', 'none');
20 | @include vendor('transition', (
21 | 'opacity #{_duration(modal)} ease',
22 | 'visibility #{_duration(modal)}',
23 | ));
24 | background: _palette(bg-overlay-alt);
25 | content: '';
26 | display: block;
27 | height: 100%;
28 | left: 0;
29 | opacity: 0;
30 | position: absolute;
31 | top: 0;
32 | visibility: hidden;
33 | width: 100%;
34 | z-index: 1;
35 |
36 | body.ie & {
37 | background: _palette(bg-ie-overlay-alt);
38 | }
39 | }
40 |
41 | body.modal-active & {
42 | @include vendor('filter', 'blur(8px)');
43 |
44 | &:after {
45 | @include vendor('pointer-events', 'auto');
46 | opacity: 1;
47 | visibility: visible;
48 | z-index: _misc(z-index-base) + 3;
49 | }
50 | }
51 |
52 | &:before {
53 | @include vendor('animation', 'spinner 1s infinite linear !important');
54 | @include vendor('pointer-events', 'none');
55 | @include vendor('transition', (
56 | 'top 0.75s ease-in-out',
57 | 'opacity 0.35s ease-out',
58 | 'visibility 0.35s'
59 | ));
60 | background-image: url('images/spinner.svg');
61 | background-position: center;
62 | background-repeat: no-repeat;
63 | background-size: contain;
64 | content: '';
65 | display: block;
66 | font-size: 2em;
67 | height: 2em;
68 | left: 50%;
69 | line-height: 2em;
70 | margin: -1em 0 0 -1em;
71 | opacity: 0;
72 | position: fixed;
73 | text-align: center;
74 | top: 75%;
75 | visibility: hidden;
76 | width: 2em;
77 | }
78 |
79 | body.loading & {
80 | &:before {
81 | @include vendor('transition', 'opacity 1s ease-out !important');
82 | @include vendor('transition-delay', '0.5s !important');
83 | opacity: 0.25;
84 | top: 50%;
85 | visibility: visible;
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_functions.scss:
--------------------------------------------------------------------------------
1 | /// Gets a duration value.
2 | /// @param {string} $keys Key(s).
3 | /// @return {string} Value.
4 | @function _duration($keys...) {
5 | @return val($duration, $keys...);
6 | }
7 |
8 | /// Gets a font value.
9 | /// @param {string} $keys Key(s).
10 | /// @return {string} Value.
11 | @function _font($keys...) {
12 | @return val($font, $keys...);
13 | }
14 |
15 | /// Gets a misc value.
16 | /// @param {string} $keys Key(s).
17 | /// @return {string} Value.
18 | @function _misc($keys...) {
19 | @return val($misc, $keys...);
20 | }
21 |
22 | /// Gets a palette value.
23 | /// @param {string} $keys Key(s).
24 | /// @return {string} Value.
25 | @function _palette($keys...) {
26 | @return val($palette, $keys...);
27 | }
28 |
29 | /// Gets a size value.
30 | /// @param {string} $keys Key(s).
31 | /// @return {string} Value.
32 | @function _size($keys...) {
33 | @return val($size, $keys...);
34 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_mixins.scss:
--------------------------------------------------------------------------------
1 | /// Makes an element's :before pseudoelement a FontAwesome icon.
2 | /// @param {string} $content Optional content value to use.
3 | /// @param {string} $where Optional pseudoelement to target (before or after).
4 | @mixin icon($content: false, $where: before) {
5 |
6 | text-decoration: none;
7 |
8 | &:#{$where} {
9 |
10 | @if $content {
11 | content: $content;
12 | }
13 |
14 | -moz-osx-font-smoothing: grayscale;
15 | -webkit-font-smoothing: antialiased;
16 | font-family: FontAwesome;
17 | font-style: normal;
18 | font-weight: normal;
19 | text-transform: none !important;
20 |
21 | }
22 |
23 | }
24 |
25 | /// Applies padding to an element, taking the current element-margin value into account.
26 | /// @param {mixed} $tb Top/bottom padding.
27 | /// @param {mixed} $lr Left/right padding.
28 | /// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
29 | /// @param {bool} $important If true, adds !important.
30 | @mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
31 |
32 | @if $important {
33 | $important: '!important';
34 | }
35 |
36 | padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max(0.1em, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
37 |
38 | }
39 |
40 | /// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
41 | /// @param {string} $svg SVG data URL.
42 | /// @return {string} Encoded SVG data URL.
43 | @function svg-url($svg) {
44 |
45 | $svg: str-replace($svg, '"', '\'');
46 | $svg: str-replace($svg, '<', '%3C');
47 | $svg: str-replace($svg, '>', '%3E');
48 | $svg: str-replace($svg, '&', '%26');
49 | $svg: str-replace($svg, '#', '%23');
50 | $svg: str-replace($svg, '{', '%7B');
51 | $svg: str-replace($svg, '}', '%7D');
52 | $svg: str-replace($svg, ';', '%3B');
53 |
54 | @return url("data:image/svg+xml;charset=utf8,#{$svg}");
55 |
56 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_skel.scss:
--------------------------------------------------------------------------------
1 | // skel.scss v3.0.1 | (c) skel.io | MIT licensed */
2 |
3 | // Vars.
4 |
5 | /// Breakpoints.
6 | /// @var {list}
7 | $breakpoints: () !global;
8 |
9 | /// Vendor prefixes.
10 | /// @var {list}
11 | $vendor-prefixes: (
12 | '-moz-',
13 | '-webkit-',
14 | '-ms-',
15 | ''
16 | );
17 |
18 | /// Properties that should be vendorized.
19 | /// @var {list}
20 | $vendor-properties: (
21 | 'align-content',
22 | 'align-items',
23 | 'align-self',
24 | 'animation',
25 | 'animation-delay',
26 | 'animation-direction',
27 | 'animation-duration',
28 | 'animation-fill-mode',
29 | 'animation-iteration-count',
30 | 'animation-name',
31 | 'animation-play-state',
32 | 'animation-timing-function',
33 | 'appearance',
34 | 'backface-visibility',
35 | 'box-sizing',
36 | 'filter',
37 | 'flex',
38 | 'flex-basis',
39 | 'flex-direction',
40 | 'flex-flow',
41 | 'flex-grow',
42 | 'flex-shrink',
43 | 'flex-wrap',
44 | 'justify-content',
45 | 'order',
46 | 'perspective',
47 | 'pointer-events',
48 | 'transform',
49 | 'transform-origin',
50 | 'transform-style',
51 | 'transition',
52 | 'transition-delay',
53 | 'transition-duration',
54 | 'transition-property',
55 | 'transition-timing-function',
56 | 'user-select'
57 | );
58 |
59 | /// Values that should be vendorized.
60 | /// @var {list}
61 | $vendor-values: (
62 | 'filter',
63 | 'flex',
64 | 'linear-gradient',
65 | 'radial-gradient',
66 | 'transform'
67 | );
68 |
69 | // Functions.
70 |
71 | /// Removes a specific item from a list.
72 | /// @author Hugo Giraudel
73 | /// @param {list} $list List.
74 | /// @param {integer} $index Index.
75 | /// @return {list} Updated list.
76 | @function remove-nth($list, $index) {
77 |
78 | $result: null;
79 |
80 | @if type-of($index) != number {
81 | @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
82 | }
83 | @else if $index == 0 {
84 | @warn "List index 0 must be a non-zero integer for `remove-nth`.";
85 | }
86 | @else if abs($index) > length($list) {
87 | @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
88 | }
89 | @else {
90 |
91 | $result: ();
92 | $index: if($index < 0, length($list) + $index + 1, $index);
93 |
94 | @for $i from 1 through length($list) {
95 |
96 | @if $i != $index {
97 | $result: append($result, nth($list, $i));
98 | }
99 |
100 | }
101 |
102 | }
103 |
104 | @return $result;
105 |
106 | }
107 |
108 | /// Replaces a substring within another string.
109 | /// @author Hugo Giraudel
110 | /// @param {string} $string String.
111 | /// @param {string} $search Substring.
112 | /// @param {string} $replace Replacement.
113 | /// @return {string} Updated string.
114 | @function str-replace($string, $search, $replace: '') {
115 |
116 | $index: str-index($string, $search);
117 |
118 | @if $index {
119 | @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
120 | }
121 |
122 | @return $string;
123 |
124 | }
125 |
126 | /// Replaces a substring within each string in a list.
127 | /// @param {list} $strings List of strings.
128 | /// @param {string} $search Substring.
129 | /// @param {string} $replace Replacement.
130 | /// @return {list} Updated list of strings.
131 | @function str-replace-all($strings, $search, $replace: '') {
132 |
133 | @each $string in $strings {
134 | $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
135 | }
136 |
137 | @return $strings;
138 |
139 | }
140 |
141 | /// Gets a value from a map.
142 | /// @author Hugo Giraudel
143 | /// @param {map} $map Map.
144 | /// @param {string} $keys Key(s).
145 | /// @return {string} Value.
146 | @function val($map, $keys...) {
147 |
148 | @if nth($keys, 1) == null {
149 | $keys: remove-nth($keys, 1);
150 | }
151 |
152 | @each $key in $keys {
153 | $map: map-get($map, $key);
154 | }
155 |
156 | @return $map;
157 |
158 | }
159 |
160 | // Mixins.
161 |
162 | /// Sets the global box model.
163 | /// @param {string} $model Model (default is content).
164 | @mixin boxModel($model: 'content') {
165 |
166 | $x: $model + '-box';
167 |
168 | *, *:before, *:after {
169 | -moz-box-sizing: #{$x};
170 | -webkit-box-sizing: #{$x};
171 | box-sizing: #{$x};
172 | }
173 |
174 | }
175 |
176 | /// Wraps @content in a @media block using a given breakpoint.
177 | /// @param {string} $breakpoint Breakpoint.
178 | /// @param {map} $queries Additional queries.
179 | @mixin breakpoint($breakpoint: null, $queries: null) {
180 |
181 | $query: 'screen';
182 |
183 | // Breakpoint.
184 | @if $breakpoint and map-has-key($breakpoints, $breakpoint) {
185 | $query: $query + ' and ' + map-get($breakpoints, $breakpoint);
186 | }
187 |
188 | // Queries.
189 | @if $queries {
190 | @each $k, $v in $queries {
191 | $query: $query + ' and (' + $k + ':' + $v + ')';
192 | }
193 | }
194 |
195 | @media #{$query} {
196 | @content;
197 | }
198 |
199 | }
200 |
201 | /// Wraps @content in a @media block targeting a specific orientation.
202 | /// @param {string} $orientation Orientation.
203 | @mixin orientation($orientation) {
204 | @media screen and (orientation: #{$orientation}) {
205 | @content;
206 | }
207 | }
208 |
209 | /// Utility mixin for containers.
210 | /// @param {mixed} $width Width.
211 | @mixin containers($width) {
212 |
213 | // Locked?
214 | $lock: false;
215 |
216 | @if length($width) == 2 {
217 | $width: nth($width, 1);
218 | $lock: true;
219 | }
220 |
221 | // Modifiers.
222 | .container.\31 25\25 { width: 100%; max-width: $width * 1.25; min-width: $width; }
223 | .container.\37 5\25 { width: $width * 0.75; }
224 | .container.\35 0\25 { width: $width * 0.5; }
225 | .container.\32 5\25 { width: $width * 0.25; }
226 |
227 | // Main class.
228 | .container {
229 | @if $lock {
230 | width: $width !important;
231 | }
232 | @else {
233 | width: $width;
234 | }
235 | }
236 |
237 | }
238 |
239 | /// Utility mixin for grid.
240 | /// @param {list} $gutters Column and row gutters (default is 40px).
241 | /// @param {string} $breakpointName Optional breakpoint name.
242 | @mixin grid($gutters: 40px, $breakpointName: null) {
243 |
244 | // Gutters.
245 | @include grid-gutters($gutters);
246 | @include grid-gutters($gutters, \32 00\25, 2);
247 | @include grid-gutters($gutters, \31 50\25, 1.5);
248 | @include grid-gutters($gutters, \35 0\25, 0.5);
249 | @include grid-gutters($gutters, \32 5\25, 0.25);
250 |
251 | // Cells.
252 | $x: '';
253 |
254 | @if $breakpointName {
255 | $x: '\\28' + $breakpointName + '\\29';
256 | }
257 |
258 | .\31 2u#{$x}, .\31 2u\24#{$x} { width: 100%; clear: none; margin-left: 0; }
259 | .\31 1u#{$x}, .\31 1u\24#{$x} { width: 91.6666666667%; clear: none; margin-left: 0; }
260 | .\31 0u#{$x}, .\31 0u\24#{$x} { width: 83.3333333333%; clear: none; margin-left: 0; }
261 | .\39 u#{$x}, .\39 u\24#{$x} { width: 75%; clear: none; margin-left: 0; }
262 | .\38 u#{$x}, .\38 u\24#{$x} { width: 66.6666666667%; clear: none; margin-left: 0; }
263 | .\37 u#{$x}, .\37 u\24#{$x} { width: 58.3333333333%; clear: none; margin-left: 0; }
264 | .\36 u#{$x}, .\36 u\24#{$x} { width: 50%; clear: none; margin-left: 0; }
265 | .\35 u#{$x}, .\35 u\24#{$x} { width: 41.6666666667%; clear: none; margin-left: 0; }
266 | .\34 u#{$x}, .\34 u\24#{$x} { width: 33.3333333333%; clear: none; margin-left: 0; }
267 | .\33 u#{$x}, .\33 u\24#{$x} { width: 25%; clear: none; margin-left: 0; }
268 | .\32 u#{$x}, .\32 u\24#{$x} { width: 16.6666666667%; clear: none; margin-left: 0; }
269 | .\31 u#{$x}, .\31 u\24#{$x} { width: 8.3333333333%; clear: none; margin-left: 0; }
270 |
271 | .\31 2u\24#{$x} + *,
272 | .\31 1u\24#{$x} + *,
273 | .\31 0u\24#{$x} + *,
274 | .\39 u\24#{$x} + *,
275 | .\38 u\24#{$x} + *,
276 | .\37 u\24#{$x} + *,
277 | .\36 u\24#{$x} + *,
278 | .\35 u\24#{$x} + *,
279 | .\34 u\24#{$x} + *,
280 | .\33 u\24#{$x} + *,
281 | .\32 u\24#{$x} + *,
282 | .\31 u\24#{$x} + * {
283 | clear: left;
284 | }
285 |
286 | .\-11u#{$x} { margin-left: 91.6666666667% }
287 | .\-10u#{$x} { margin-left: 83.3333333333% }
288 | .\-9u#{$x} { margin-left: 75% }
289 | .\-8u#{$x} { margin-left: 66.6666666667% }
290 | .\-7u#{$x} { margin-left: 58.3333333333% }
291 | .\-6u#{$x} { margin-left: 50% }
292 | .\-5u#{$x} { margin-left: 41.6666666667% }
293 | .\-4u#{$x} { margin-left: 33.3333333333% }
294 | .\-3u#{$x} { margin-left: 25% }
295 | .\-2u#{$x} { margin-left: 16.6666666667% }
296 | .\-1u#{$x} { margin-left: 8.3333333333% }
297 |
298 | }
299 |
300 | /// Utility mixin for grid.
301 | /// @param {list} $gutters Gutters.
302 | /// @param {string} $class Optional class name.
303 | /// @param {integer} $multiplier Multiplier (default is 1).
304 | @mixin grid-gutters($gutters, $class: null, $multiplier: 1) {
305 |
306 | // Expand gutters if it's not a list.
307 | @if length($gutters) == 1 {
308 | $gutters: ($gutters, 0);
309 | }
310 |
311 | // Get column and row gutter values.
312 | $c: nth($gutters, 1);
313 | $r: nth($gutters, 2);
314 |
315 | // Get class (if provided).
316 | $x: '';
317 |
318 | @if $class {
319 | $x: '.' + $class;
320 | }
321 |
322 | // Default.
323 | .row#{$x} > * { padding: ($r * $multiplier) 0 0 ($c * $multiplier); }
324 | .row#{$x} { margin: ($r * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
325 |
326 | // Uniform.
327 | .row.uniform#{$x} > * { padding: ($c * $multiplier) 0 0 ($c * $multiplier); }
328 | .row.uniform#{$x} { margin: ($c * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
329 |
330 | }
331 |
332 | /// Wraps @content in vendorized keyframe blocks.
333 | /// @param {string} $name Name.
334 | @mixin keyframes($name) {
335 |
336 | @-moz-keyframes #{$name} { @content; }
337 | @-webkit-keyframes #{$name} { @content; }
338 | @-ms-keyframes #{$name} { @content; }
339 | @keyframes #{$name} { @content; }
340 |
341 | }
342 |
343 | ///
344 | /// Sets breakpoints.
345 | /// @param {map} $x Breakpoints.
346 | ///
347 | @mixin skel-breakpoints($x: ()) {
348 | $breakpoints: $x !global;
349 | }
350 |
351 | ///
352 | /// Initializes layout module.
353 | /// @param {map} config Config.
354 | ///
355 | @mixin skel-layout($config: ()) {
356 |
357 | // Config.
358 | $configPerBreakpoint: ();
359 |
360 | $z: map-get($config, 'breakpoints');
361 |
362 | @if $z {
363 | $configPerBreakpoint: $z;
364 | }
365 |
366 | // Reset.
367 | $x: map-get($config, 'reset');
368 |
369 | @if $x {
370 |
371 | /* Reset */
372 |
373 | @include reset($x);
374 |
375 | }
376 |
377 | // Box model.
378 | $x: map-get($config, 'boxModel');
379 |
380 | @if $x {
381 |
382 | /* Box Model */
383 |
384 | @include boxModel($x);
385 |
386 | }
387 |
388 | // Containers.
389 | $containers: map-get($config, 'containers');
390 |
391 | @if $containers {
392 |
393 | /* Containers */
394 |
395 | .container {
396 | margin-left: auto;
397 | margin-right: auto;
398 | }
399 |
400 | // Use default is $containers is just "true".
401 | @if $containers == true {
402 | $containers: 960px;
403 | }
404 |
405 | // Apply base.
406 | @include containers($containers);
407 |
408 | // Apply per-breakpoint.
409 | @each $name in map-keys($breakpoints) {
410 |
411 | // Get/use breakpoint setting if it exists.
412 | $x: map-get($configPerBreakpoint, $name);
413 |
414 | // Per-breakpoint config exists?
415 | @if $x {
416 | $y: map-get($x, 'containers');
417 |
418 | // Setting exists? Use it.
419 | @if $y {
420 | $containers: $y;
421 | }
422 |
423 | }
424 |
425 | // Create @media block.
426 | @media screen and #{map-get($breakpoints, $name)} {
427 | @include containers($containers);
428 | }
429 |
430 | }
431 |
432 | }
433 |
434 | // Grid.
435 | $grid: map-get($config, 'grid');
436 |
437 | @if $grid {
438 |
439 | /* Grid */
440 |
441 | // Use defaults if $grid is just "true".
442 | @if $grid == true {
443 | $grid: ();
444 | }
445 |
446 | // Sub-setting: Gutters.
447 | $grid-gutters: 40px;
448 | $x: map-get($grid, 'gutters');
449 |
450 | @if $x {
451 | $grid-gutters: $x;
452 | }
453 |
454 | // Rows.
455 | .row {
456 | border-bottom: solid 1px transparent;
457 | -moz-box-sizing: border-box;
458 | -webkit-box-sizing: border-box;
459 | box-sizing: border-box;
460 | }
461 |
462 | .row > * {
463 | float: left;
464 | -moz-box-sizing: border-box;
465 | -webkit-box-sizing: border-box;
466 | box-sizing: border-box;
467 | }
468 |
469 | .row:after, .row:before {
470 | content: '';
471 | display: block;
472 | clear: both;
473 | height: 0;
474 | }
475 |
476 | .row.uniform > * > :first-child {
477 | margin-top: 0;
478 | }
479 |
480 | .row.uniform > * > :last-child {
481 | margin-bottom: 0;
482 | }
483 |
484 | // Gutters (0%).
485 | @include grid-gutters($grid-gutters, \30 \25, 0);
486 |
487 | // Apply base.
488 | @include grid($grid-gutters);
489 |
490 | // Apply per-breakpoint.
491 | @each $name in map-keys($breakpoints) {
492 |
493 | // Get/use breakpoint setting if it exists.
494 | $x: map-get($configPerBreakpoint, $name);
495 |
496 | // Per-breakpoint config exists?
497 | @if $x {
498 | $y: map-get($x, 'grid');
499 |
500 | // Setting exists?
501 | @if $y {
502 |
503 | // Sub-setting: Gutters.
504 | $x: map-get($y, 'gutters');
505 |
506 | @if $x {
507 | $grid-gutters: $x;
508 | }
509 |
510 | }
511 |
512 | }
513 |
514 | // Create @media block.
515 | @media screen and #{map-get($breakpoints, $name)} {
516 | @include grid($grid-gutters, $name);
517 | }
518 |
519 | }
520 |
521 | }
522 |
523 | }
524 |
525 | /// Resets browser styles.
526 | /// @param {string} $mode Mode (default is 'normalize').
527 | @mixin reset($mode: 'normalize') {
528 |
529 | @if $mode == 'normalize' {
530 |
531 | // normalize.css v3.0.2 | MIT License | git.io/normalize
532 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
533 |
534 | }
535 | @else if $mode == 'full' {
536 |
537 | // meyerweb.com/eric/tools/css/reset v2.0 | 20110126 | License: none (public domain)
538 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}
539 |
540 | }
541 |
542 | }
543 |
544 | /// Vendorizes a declaration's property and/or value(s).
545 | /// @param {string} $property Property.
546 | /// @param {mixed} $value String/list of value(s).
547 | @mixin vendor($property, $value) {
548 |
549 | // Determine if property should expand.
550 | $expandProperty: index($vendor-properties, $property);
551 |
552 | // Determine if value should expand (and if so, add '-prefix-' placeholder).
553 | $expandValue: false;
554 |
555 | @each $x in $value {
556 | @each $y in $vendor-values {
557 | @if $y == str-slice($x, 1, str-length($y)) {
558 |
559 | $value: set-nth($value, index($value, $x), '-prefix-' + $x);
560 | $expandValue: true;
561 |
562 | }
563 | }
564 | }
565 |
566 | // Expand property?
567 | @if $expandProperty {
568 | @each $vendor in $vendor-prefixes {
569 | #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
570 | }
571 | }
572 |
573 | // Expand just the value?
574 | @elseif $expandValue {
575 | @each $vendor in $vendor-prefixes {
576 | #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
577 | }
578 | }
579 |
580 | // Neither? Treat them as a normal declaration.
581 | @else {
582 | #{$property}: #{$value};
583 | }
584 |
585 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_vars.scss:
--------------------------------------------------------------------------------
1 | // Misc.
2 | $misc: (
3 | z-index-base: 10000,
4 | main-layout: (
5 | default: (
6 | rows: 2,
7 | columns: 4,
8 | pad: 0.5,
9 | minHeight: 20em
10 | ),
11 | xlarge: (
12 | rows: 2,
13 | columns: 3,
14 | pad: 0.5,
15 | minHeight: 20em
16 | ),
17 | large: (
18 | rows: 2,
19 | columns: 2,
20 | pad: 0.5,
21 | minHeight: 20em
22 | ),
23 | medium: (
24 | rows: 3,
25 | columns: 2,
26 | pad: 0.5,
27 | minHeight: 18em
28 | ),
29 | xsmall: (
30 | rows: 2,
31 | columns: 1,
32 | pad: 0.5,
33 | minHeight: 18em
34 | )
35 | )
36 | );
37 |
38 | // Duration.
39 | $duration: (
40 | transition: 0.2s,
41 | header: 1s,
42 | panel: 0.5s,
43 | modal: 0.5s,
44 | thumb: 0.15s
45 | );
46 |
47 | // Size.
48 | $size: (
49 | element-height: 2.75em,
50 | element-margin: 2em,
51 | header: 4em
52 | );
53 |
54 | // Font.
55 | $font: (
56 | family: ('Source Sans Pro', Helvetica, sans-serif),
57 | family-fixed: ('Courier New', monospace),
58 | weight: 300,
59 | weight-bold: 300,
60 | weight-extrabold: 400,
61 | kerning: 0.025em,
62 | kerning-alt: 0.1em
63 | );
64 |
65 | // Palette.
66 | $palette: (
67 | bg: #242629,
68 | bg-alt: #1f2224,
69 | bg-overlay: transparentize(#242629, 0.75),
70 | bg-overlay-alt: transparentize(#242629, 0.5),
71 | bg-ie-overlay: transparentize(#242629, 0.45),
72 | bg-ie-overlay-alt: transparentize(#242629, 0.2),
73 | fg: #a0a0a1,
74 | fg-bold: #ffffff,
75 | fg-medium: #707071,
76 | fg-light: #505051,
77 | border: #36383c,
78 | border-bg: #34363b,
79 | border-bg-alt: #44464b,
80 | accent1: #34a58e
81 | );
--------------------------------------------------------------------------------
/assets/sass/main.scss:
--------------------------------------------------------------------------------
1 | @import 'libs/vars';
2 | @import 'libs/functions';
3 | @import 'libs/mixins';
4 | @import 'libs/skel';
5 | @import 'font-awesome.min.css';
6 | @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic');
7 |
8 | /*
9 | Multiverse by HTML5 UP
10 | html5up.net | @ajlkn
11 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
12 | */
13 |
14 | @include skel-breakpoints((
15 | xlarge: '(max-width: 1680px)',
16 | large: '(max-width: 1280px)',
17 | medium: '(max-width: 980px)',
18 | small: '(max-width: 736px)',
19 | xsmall: '(max-width: 480px)'
20 | ));
21 |
22 | @include skel-layout((
23 | reset: 'full',
24 | boxModel: 'border'
25 | ));
26 |
27 | @include keyframes(spinner) {
28 | 0% {
29 | @include vendor('transform', 'rotate(0deg)');
30 | }
31 |
32 | 100% {
33 | @include vendor('transform', 'rotate(359deg)');
34 | }
35 | }
36 |
37 | // Base.
38 |
39 | @import 'base/page';
40 | @import 'base/typography';
41 |
42 | // Component.
43 |
44 | @import 'components/button';
45 | @import 'components/form';
46 | @import 'components/icon';
47 | @import 'components/list';
48 | @import 'components/table';
49 | @import 'components/panel';
50 | @import 'components/poptrox-popup';
51 |
52 | // Layout.
53 |
54 | @import 'layout/wrapper';
55 | @import 'layout/header';
56 | @import 'layout/main';
57 | @import 'layout/footer';
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var gulp = require('gulp');
4 | var imageResize = require('gulp-image-resize');
5 | var sass = require('gulp-sass');
6 | var uglify = require('gulp-uglify');
7 | var rename = require('gulp-rename');
8 | var del = require('del');
9 |
10 | gulp.task('resize', function () {
11 | return gulp.src('images/*.*')
12 | .pipe(imageResize({
13 | width: 1024,
14 | imageMagick: false
15 | }))
16 | .pipe(gulp.dest('images/fulls'))
17 | .pipe(imageResize({
18 | width: 512,
19 | imageMagick: false
20 | }))
21 | .pipe(gulp.dest('images/thumbs'));
22 | });
23 |
24 | gulp.task('del', gulp.series('resize', function () {
25 | return del(['images/*.*']);
26 | }));
27 |
28 | // compile scss to css
29 | gulp.task('sass', function () {
30 | return gulp.src('./assets/sass/main.scss')
31 | .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
32 | .pipe(rename({basename: 'main.min'}))
33 | .pipe(gulp.dest('./assets/css'));
34 | });
35 |
36 | // watch changes in scss files and run sass task
37 | gulp.task('sass:watch', function () {
38 | gulp.watch('./assets/sass/**/*.scss', ['sass']);
39 | });
40 |
41 | // minify js
42 | gulp.task('minify-js', function () {
43 | return gulp.src('./assets/js/main.js')
44 | .pipe(uglify())
45 | .pipe(rename({basename: 'main.min'}))
46 | .pipe(gulp.dest('./assets/js'));
47 | });
48 |
49 | // default task
50 | gulp.task('default', gulp.series('del'));
51 |
52 | // scss compile task
53 | gulp.task('compile-sass', gulp.series('sass', 'minify-js'));
--------------------------------------------------------------------------------
/images/0209074922.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0209074922.jpeg
--------------------------------------------------------------------------------
/images/0211175622.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0211175622.jpeg
--------------------------------------------------------------------------------
/images/0215175822.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0215175822.jpeg
--------------------------------------------------------------------------------
/images/0406182522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0406182522.jpeg
--------------------------------------------------------------------------------
/images/0406183122.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0406183122.jpeg
--------------------------------------------------------------------------------
/images/0411175522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0411175522.jpeg
--------------------------------------------------------------------------------
/images/0523201422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/0523201422.jpeg
--------------------------------------------------------------------------------
/images/1102160422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/1102160422.jpeg
--------------------------------------------------------------------------------
/images/1113142522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/1113142522.jpeg
--------------------------------------------------------------------------------
/images/fulls/0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0.jpg
--------------------------------------------------------------------------------
/images/fulls/0124134322.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0124134322.jpeg
--------------------------------------------------------------------------------
/images/fulls/0124135022.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0124135022.jpeg
--------------------------------------------------------------------------------
/images/fulls/0209074922.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0209074922.jpeg
--------------------------------------------------------------------------------
/images/fulls/0211175622.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0211175622.jpeg
--------------------------------------------------------------------------------
/images/fulls/0215175822.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0215175822.jpeg
--------------------------------------------------------------------------------
/images/fulls/0406182522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0406182522.jpeg
--------------------------------------------------------------------------------
/images/fulls/0406183122.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0406183122.jpeg
--------------------------------------------------------------------------------
/images/fulls/0411175522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0411175522.jpeg
--------------------------------------------------------------------------------
/images/fulls/0523201422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/0523201422.jpeg
--------------------------------------------------------------------------------
/images/fulls/1102160422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1102160422.jpeg
--------------------------------------------------------------------------------
/images/fulls/1113142522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1113142522.jpeg
--------------------------------------------------------------------------------
/images/fulls/1201301220-flower.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1201301220-flower.jpg
--------------------------------------------------------------------------------
/images/fulls/1223110221-IMG_0680.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1223110221-IMG_0680.jpg
--------------------------------------------------------------------------------
/images/fulls/1600120221-building.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1600120221-building.jpg
--------------------------------------------------------------------------------
/images/fulls/1716200221-Untitled.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/1716200221-Untitled.jpg
--------------------------------------------------------------------------------
/images/fulls/2218190221-IMG_0484.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/2218190221-IMG_0484.jpg
--------------------------------------------------------------------------------
/images/fulls/2400030321-Atlantis.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/2400030321-Atlantis.jpg
--------------------------------------------------------------------------------
/images/fulls/2600210221-IMG_0454.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/2600210221-IMG_0454.jpg
--------------------------------------------------------------------------------
/images/fulls/4500301220-meenaBazaar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/4500301220-meenaBazaar.jpg
--------------------------------------------------------------------------------
/images/fulls/4916090321-IMG_0490.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/4916090321-IMG_0490.jpg
--------------------------------------------------------------------------------
/images/fulls/aamage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/aamage.jpg
--------------------------------------------------------------------------------
/images/fulls/amage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/amage.jpg
--------------------------------------------------------------------------------
/images/fulls/hmage2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/hmage2.jpg
--------------------------------------------------------------------------------
/images/fulls/hmage3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/hmage3.jpg
--------------------------------------------------------------------------------
/images/fulls/hmage5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/hmage5.jpg
--------------------------------------------------------------------------------
/images/fulls/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/image.jpg
--------------------------------------------------------------------------------
/images/fulls/image5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/image5.jpg
--------------------------------------------------------------------------------
/images/fulls/image6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/image6.jpg
--------------------------------------------------------------------------------
/images/fulls/image7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/image7.jpg
--------------------------------------------------------------------------------
/images/fulls/image8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/fulls/image8.jpg
--------------------------------------------------------------------------------
/images/thumbs/0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0.jpg
--------------------------------------------------------------------------------
/images/thumbs/0124134322.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0124134322.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0124135022.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0124135022.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0209074922.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0209074922.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0211175622.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0211175622.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0215175822.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0215175822.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0406182522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0406182522.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0406183122.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0406183122.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0411175522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0411175522.jpeg
--------------------------------------------------------------------------------
/images/thumbs/0523201422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/0523201422.jpeg
--------------------------------------------------------------------------------
/images/thumbs/1102160422.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1102160422.jpeg
--------------------------------------------------------------------------------
/images/thumbs/1113142522.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1113142522.jpeg
--------------------------------------------------------------------------------
/images/thumbs/1201301220-flower.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1201301220-flower.jpg
--------------------------------------------------------------------------------
/images/thumbs/1223110221-IMG_0680.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1223110221-IMG_0680.jpg
--------------------------------------------------------------------------------
/images/thumbs/1600120221-building.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1600120221-building.jpg
--------------------------------------------------------------------------------
/images/thumbs/1716200221-Untitled.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/1716200221-Untitled.jpg
--------------------------------------------------------------------------------
/images/thumbs/2218190221-IMG_0484.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/2218190221-IMG_0484.jpg
--------------------------------------------------------------------------------
/images/thumbs/2400030321-Atlantis.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/2400030321-Atlantis.jpg
--------------------------------------------------------------------------------
/images/thumbs/2600210221-IMG_0454.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/2600210221-IMG_0454.jpg
--------------------------------------------------------------------------------
/images/thumbs/4500301220-meenaBazaar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/4500301220-meenaBazaar.jpg
--------------------------------------------------------------------------------
/images/thumbs/4916090321-IMG_0490.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/4916090321-IMG_0490.jpg
--------------------------------------------------------------------------------
/images/thumbs/aamage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/aamage.jpg
--------------------------------------------------------------------------------
/images/thumbs/amage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/amage.jpg
--------------------------------------------------------------------------------
/images/thumbs/hmage2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/hmage2.jpg
--------------------------------------------------------------------------------
/images/thumbs/hmage3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/hmage3.jpg
--------------------------------------------------------------------------------
/images/thumbs/hmage5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/hmage5.jpg
--------------------------------------------------------------------------------
/images/thumbs/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/image.jpg
--------------------------------------------------------------------------------
/images/thumbs/image5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/image5.jpg
--------------------------------------------------------------------------------
/images/thumbs/image6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/image6.jpg
--------------------------------------------------------------------------------
/images/thumbs/image7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/image7.jpg
--------------------------------------------------------------------------------
/images/thumbs/image8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/swiftlysingh/Shots/c88fa979eb20d14ca37adbf961a301f444ecea23/images/thumbs/image8.jpg
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
7 |
8 |
9 |
18 |
19 |
20 |
21 | {% for image in site.static_files %}
22 | {% if image.path contains 'fulls' %}
23 |
24 |
25 |
27 |
29 |
30 | {% endif %}
31 | {% endfor %}
32 |
33 |
34 |
35 |
82 |
83 |
--------------------------------------------------------------------------------
/npmfile.js:
--------------------------------------------------------------------------------
1 | exports.printMsg = function() {
2 | console.log("Visit http://photography.ramswaroop.me for a treat!");
3 | };
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "shots",
3 | "version": "3.0.0",
4 | "description": "A jekyll website for photography",
5 | "main": "npmfile.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/swiftlysingh/shots.git"
12 | },
13 | "keywords": [
14 | "photography",
15 | "jekyll",
16 | "website",
17 | "template",
18 | "website template",
19 | "portfolio",
20 | "portfolio website"
21 | ],
22 | "author": "Pushpinder Pal Singh",
23 | "license": "GPL-3.0",
24 | "bugs": {
25 | "url": "https://github.com/swiftlysingh/shots/issues"
26 | },
27 | "homepage": "https://github.com/swiftlysingh/shots#readme",
28 | "devDependencies": {
29 | "del": "^2.2.2",
30 | "gulp": "^4.0.2",
31 | "gulp-image-resize": "^0.13.1",
32 | "gulp-rename": "^1.2.2",
33 | "gulp-sass": "^5.1.0",
34 | "gulp-uglify": "^3.0.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------