sparrow-theme 0.1.1 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +48 -0
  4. data/_includes/footer.html +12 -0
  5. data/_includes/head.html +16 -0
  6. data/_includes/header.html +21 -0
  7. data/_includes/modules/card.html +8 -0
  8. data/_includes/modules/heroBanner.html +29 -0
  9. data/_includes/modules/heroSearch.html +11 -0
  10. data/_includes/modules/modal.html +13 -0
  11. data/_includes/modules/navSearch.html +12 -0
  12. data/_includes/modules/spinner.html +5 -0
  13. data/_includes/svg/icon-back.svg +3 -0
  14. data/_includes/svg/icon-chevron-left.svg +3 -0
  15. data/_includes/svg/icon-chevron-right.svg +3 -0
  16. data/_includes/svg/icon-close.svg +3 -0
  17. data/_includes/svg/icon-search.svg +3 -0
  18. data/_includes/svg/logo-smartsparrow.svg +7 -0
  19. data/_includes/typekit.html +13 -0
  20. data/_layouts/404.html +14 -0
  21. data/_layouts/compress.html +9 -0
  22. data/_layouts/default.html +18 -0
  23. data/_layouts/page.html +18 -0
  24. data/_layouts/post.html +5 -0
  25. data/_sass/sparrow-theme/base/_base.scss +226 -0
  26. data/_sass/sparrow-theme/base/_mixins.scss +25 -0
  27. data/_sass/sparrow-theme/base/_variables.scss +62 -0
  28. data/_sass/sparrow-theme/layout/_404.scss +49 -0
  29. data/_sass/sparrow-theme/layout/_catalog.scss +79 -0
  30. data/_sass/sparrow-theme/layout/_component.scss +289 -0
  31. data/_sass/sparrow-theme/layout/_footer.scss +81 -0
  32. data/_sass/sparrow-theme/layout/_header.scss +418 -0
  33. data/_sass/sparrow-theme/layout/_layout.scss +15 -0
  34. data/_sass/sparrow-theme/layout/_page.scss +70 -0
  35. data/_sass/sparrow-theme/modules/_actionPrompt.scss +33 -0
  36. data/_sass/sparrow-theme/modules/_button.scss +107 -0
  37. data/_sass/sparrow-theme/modules/_card.scss +93 -0
  38. data/_sass/sparrow-theme/modules/_carousel.scss +182 -0
  39. data/_sass/sparrow-theme/modules/_componentCard.scss +92 -0
  40. data/_sass/sparrow-theme/modules/_heroBanner.scss +230 -0
  41. data/_sass/sparrow-theme/modules/_modal.scss +122 -0
  42. data/_sass/sparrow-theme/modules/_navSearch.scss +161 -0
  43. data/_sass/sparrow-theme/modules/_preview.scss +99 -0
  44. data/_sass/sparrow-theme/modules/_sideNav.scss +41 -0
  45. data/_sass/sparrow-theme/modules/_spinner.scss +68 -0
  46. data/_sass/sparrow-theme/modules/_stepsList.scss +43 -0
  47. data/_sass/sparrow-theme/modules/_video.scss +13 -0
  48. data/_sass/sparrow-theme/vendor/_normalize.scss +429 -0
  49. data/_sass/sparrow-theme/vendor/_vendor.scss +3 -0
  50. data/assets/css/main.scss +7 -0
  51. data/assets/css/sparrow-theme.scss +38 -0
  52. data/assets/img/404.gif +0 -0
  53. data/assets/img/favicon.png +0 -0
  54. data/assets/img/touch.png +0 -0
  55. data/assets/js/scripts.js +5 -0
  56. data/assets/js/sparrow-theme/_partials/carousel.js +24 -0
  57. data/assets/js/sparrow-theme/_partials/catalog.js +226 -0
  58. data/assets/js/sparrow-theme/_partials/copyInput.js +107 -0
  59. data/assets/js/sparrow-theme/_partials/getData.js +23 -0
  60. data/assets/js/sparrow-theme/_partials/modal.js +51 -0
  61. data/assets/js/sparrow-theme/_partials/navigation.js +29 -0
  62. data/assets/js/sparrow-theme/_partials/scroll.js +102 -0
  63. data/assets/js/sparrow-theme/_partials/search.js +134 -0
  64. data/assets/js/sparrow-theme/_vendor/jquery-3.1.1.min.js +4 -0
  65. data/assets/js/sparrow-theme/_vendor/lunr.min.js +6 -0
  66. data/assets/js/sparrow-theme/_vendor/slick.min.js +18 -0
  67. data/assets/js/sparrow-theme/_vendor/uri.js +56 -0
  68. data/assets/js/sparrow-theme/sparrow-theme.js +23 -0
  69. metadata +71 -3
@@ -0,0 +1,92 @@
1
+ .componentCard {
2
+ $card-padding: 20px;
3
+ flex: 1 0 auto;
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ perspective: 1000px;
7
+
8
+ &__item {
9
+ opacity: 1;
10
+ background: $white;
11
+ margin-bottom: $gutter;
12
+ transition: opacity 0.4s $CurveFastOutSlowIn 0s, transform 0.4s $CurveFastOutSlowIn 0s, box-shadow 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
13
+ display: flex;
14
+ flex-direction: column;
15
+ border: 0;
16
+ border-radius: $base-border-radius;
17
+ transform: translateZ(0);
18
+ will-change: transform, opacity, box-shadow;
19
+
20
+ &:focus,
21
+ &:hover,
22
+ &:active {
23
+ border: 0;
24
+ box-shadow: 0 9px 12px -6px rgba($black, 0.15), 0 18px 32px 3px rgba($black, 0.1), 0 8px 49px 7px rgba($black, 0.08);
25
+ }
26
+
27
+ @include media($desktop) {
28
+ @include span-columns(4);
29
+ @include omega(3n);
30
+ display: flex;
31
+ }
32
+
33
+ @include media($tablet) {
34
+ @include span-columns(6);
35
+ @include omega(2n);
36
+ display: flex;
37
+ }
38
+
39
+ @include media($mobile) {
40
+ @include span-columns(12);
41
+ @include omega(1n);
42
+ display: flex;
43
+ }
44
+
45
+ &--faded {
46
+ opacity: 0;
47
+ transform: translateZ(20px);
48
+ }
49
+ }
50
+
51
+ &__content {
52
+ border-radius: $base-border-radius;
53
+ padding: $card-padding;
54
+ border: $base-border;
55
+ display: flex;
56
+ flex: 1 0 auto;
57
+ flex-direction: column;
58
+ }
59
+
60
+ &__thumbnail {
61
+ $thumbnail-height: 130px;
62
+ @include border-top-radius($base-border-radius);
63
+ background-size: cover;
64
+ background-position: center;
65
+ background-repeat: no-repeat;
66
+ display: flex;
67
+ width: 100%;
68
+ height: $thumbnail-height;
69
+ overflow: hidden;
70
+ border: $base-border;
71
+ }
72
+
73
+ &__thumbnail + &__content {
74
+ @include border-top-radius(0);
75
+ border-top: 0;
76
+ }
77
+
78
+ &__title {
79
+ margin-bottom: 10px;
80
+ font-size: 16px;
81
+ color: $heading-color;
82
+ letter-spacing: normal;
83
+ font-weight: 600;
84
+ }
85
+
86
+ &__description {
87
+ margin: 0;
88
+ line-height: 1.5;
89
+ font-size: 14px;
90
+ color: $text-color;
91
+ }
92
+ }
@@ -0,0 +1,230 @@
1
+ .heroBanner {
2
+ $offset: $header-height - 30px;
3
+ $hero-background: $charcoal-grey;
4
+ $gradient-start: #3760A7;
5
+ $gradient-stop: #39BBD1;
6
+ $section-pad: 80px;
7
+ $search-width: 450px;
8
+
9
+ background: linear-gradient(45deg, rgba($gradient-start, 1), rgba($gradient-stop, 1));
10
+ background-size: cover;
11
+ background-position: center;
12
+ position: relative;
13
+ background-repeat: no-repeat;
14
+
15
+ &__wrapper {
16
+ @include outer-container;
17
+ @include pad($section-pad + $header-height $outer-pad $section-pad);
18
+ position: relative;
19
+
20
+ @include media($mobile) {
21
+ @include pad(80px + $header-height $outer-pad 80px);
22
+ }
23
+ }
24
+
25
+ &--transparentHeader &__wrapper {
26
+ @include pad($section-pad + $offset $outer-pad $section-pad);
27
+
28
+ @include media($mobile) {
29
+ @include pad(80px + $offset $outer-pad 80px);
30
+ }
31
+ }
32
+
33
+ &--imageBackground:before {
34
+ @include position(absolute, 0 0 0 0);
35
+ content: '';
36
+ background: linear-gradient(0deg, rgba($black, 0.2), rgba($black, 0.5));
37
+ }
38
+
39
+ &--noBackground {
40
+ background: transparent;
41
+ }
42
+
43
+ &--noBackground &__title {
44
+ color: $heading-color;
45
+ }
46
+
47
+ &--noBackground &__description {
48
+ color: $text-color;
49
+ }
50
+
51
+ &__content {
52
+ @include span-columns(9);
53
+ @include shift(1.5);
54
+ text-align: center;
55
+
56
+ @include media($tablet) {
57
+ @include span-columns(12);
58
+ @include shift(0);
59
+ }
60
+ }
61
+
62
+ &__title {
63
+ color: $white;
64
+ margin-bottom: 10px;
65
+ }
66
+
67
+ &__description {
68
+ margin-bottom: 0;
69
+ color: $white;
70
+ font-size: 18px;
71
+
72
+ @include media($mobile) {
73
+ font-size: 16px;
74
+ }
75
+ }
76
+
77
+ &__descriptionLink {
78
+ color: rgba($white, 1);
79
+ border-color: rgba($white, 0.4);
80
+
81
+ &:hover {
82
+ color: rgba($white, 1);
83
+ border-color: rgba($white, 0.7);
84
+ }
85
+
86
+ @include media($mobile) {
87
+ font-size: 16px;
88
+ }
89
+ }
90
+
91
+ &__search {
92
+ @include span-columns(9);
93
+ @include shift(1.5);
94
+ text-align: center;
95
+ margin-top: 30px;
96
+
97
+ @include media($tablet) {
98
+ @include span-columns(12);
99
+ @include shift(0);
100
+ }
101
+ }
102
+
103
+ &__searchForm {
104
+ max-width: $search-width;
105
+ height: 50px;
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: center;
109
+ margin: 0 auto;
110
+ position: relative;
111
+ }
112
+
113
+ &__searchInput[type="search"] {
114
+ @include placeholder(rgba($black, 0.4));
115
+ width: 100%;
116
+ height: 100%;
117
+ border: 0;
118
+ padding: 0 0 2px 60px;
119
+ border-radius: $base-border-radius;
120
+ margin: 0;
121
+ box-shadow: 0 2px 4px 0 rgba($black, 0.17);
122
+ appearance: none;
123
+
124
+ &:focus {
125
+ outline: none;
126
+ }
127
+ }
128
+
129
+ &__searchIcon {
130
+ position: absolute;
131
+ left: 20px;
132
+ top: 50%;
133
+ transform: translateY(-50%);
134
+ fill: rgba($black, 0.4);
135
+ }
136
+
137
+ &__searchResults {
138
+ @keyframes searchResults {
139
+ from {
140
+ opacity: 0;
141
+ transform: translate3d(0, -10px, 0);
142
+ }
143
+ to {
144
+ opacity: 1;
145
+ transform: translate3d(0, 0, 0);
146
+ }
147
+ }
148
+
149
+ animation: searchResults 0.3s $CurveFastOutSlowIn both;
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ position: absolute;
154
+ left: 0;
155
+ right: 0;
156
+ z-index: 99;
157
+ padding: 0 20px;
158
+ }
159
+
160
+ &__searchResultsContainer {
161
+ margin-top: 10px;
162
+ overflow: hidden;
163
+ border-radius: $base-border-radius;
164
+ background: $white;
165
+ max-width: $search-width;
166
+ width: 100%;
167
+ box-shadow:
168
+ 0 8px 10px 1px rgba($black, 0.14),
169
+ 0 3px 14px 2px rgba($black, 0.12),
170
+ 0 5px 5px -3px rgba($black, 0.4);
171
+ }
172
+
173
+ &__searchEntries {
174
+ padding: 10px 0;
175
+ max-height: 500px;
176
+ overflow: auto;
177
+ }
178
+
179
+ &__searchResult {
180
+ text-align: left;
181
+ display: flex;
182
+ flex-direction: row;
183
+ align-items: center;
184
+ border: 0;
185
+ color: $text-color;
186
+ padding: 10px 20px;
187
+ font-size: 16px;
188
+ flex: 1;
189
+
190
+ &:hover,
191
+ &:focus,
192
+ &:active {
193
+ outline: none;
194
+ border: 0;
195
+ color: $text-color;
196
+ background: rgba($black, 0.06);
197
+ }
198
+
199
+ &--notFound {
200
+ padding-left: 20px;
201
+ }
202
+ }
203
+
204
+ &__author {
205
+ display: flex;
206
+ align-items: center;
207
+ justify-content: center;
208
+
209
+ @include media($mobile) {
210
+ display: none;
211
+ }
212
+ }
213
+
214
+ &__authorImage {
215
+ @include size(25px);
216
+ border-radius: 50%;
217
+ margin-right: 8px;
218
+ }
219
+
220
+ &__authorName {
221
+ font-size: 14px;
222
+ color: $white;
223
+ font-weight: 600;
224
+ }
225
+
226
+ &__logo {
227
+ height: 64px;
228
+ margin: 15px 0 10px;
229
+ }
230
+ }
@@ -0,0 +1,122 @@
1
+ .modal {
2
+ $modal-width: 400px;
3
+ $modal-padding: 30px;
4
+
5
+ &__container {
6
+ @include position(fixed, 0 0 0 0);
7
+ background-color: rgba($black, 0.7);
8
+ opacity: 0;
9
+ transition: all 0.25s $CurveFastOutSlowIn;
10
+ visibility: hidden;
11
+ z-index: 99999;
12
+ padding: 10px;
13
+
14
+ @include media($desktop) {
15
+ padding-top: 160px;
16
+ }
17
+ }
18
+
19
+ &__inner {
20
+ transform: scale(0.5);
21
+ background-color: $white;
22
+ margin: auto;
23
+ max-height: 95%;
24
+ overflow-y: auto;
25
+ position: relative;
26
+ border-radius: $base-border-radius;
27
+ transition: all 0.25s $CurveFastOutSlowIn;
28
+ max-width: $modal-width;
29
+ width: 100%;
30
+ box-shadow:
31
+ 0 7px 8px -4px rgba($black, 0.1),
32
+ 0 10px 20px 2px rgba($black, 0.1),
33
+ 0 5px 47px 10px rgba($black, 0.12);
34
+ }
35
+
36
+ &--open &__container {
37
+ opacity: 1;
38
+ visibility: visible;
39
+ }
40
+
41
+ &--open &__inner {
42
+ transform: scale(1);
43
+ }
44
+
45
+ &__header {
46
+ display: flex;
47
+ padding: $modal-padding;
48
+ }
49
+
50
+ &__close {
51
+ cursor: pointer;
52
+ margin: 0;
53
+ border: 0;
54
+ margin-left: auto;
55
+ background: none;
56
+ padding: 10px;
57
+ position: absolute;
58
+ top: 20px;
59
+ right: 20px;
60
+ border-radius: $base-border-radius;
61
+ transition: background 0.3s ease;
62
+
63
+ &:hover,
64
+ &:active,
65
+ &:focus {
66
+ outline: none;
67
+ background: rgba($black, 0.1);
68
+ }
69
+ }
70
+
71
+ &__closeIcon {
72
+ fill: rgba($black, 0.4);
73
+ display: flex;
74
+ }
75
+
76
+ &__title {
77
+ color: $heading-color;
78
+ margin: 0;
79
+ font-size: 20px;
80
+ }
81
+
82
+ &__content {
83
+ padding: 0 $modal-padding $modal-padding;
84
+ }
85
+
86
+ &__centerMessage {
87
+ text-align: center;
88
+ font-size: 18px;
89
+ margin-bottom: 20px;
90
+ }
91
+
92
+ &__iconContainer {
93
+ @include size(100px);
94
+ border-radius: 50%;
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ background: rgba($primary-color, 0.2);
99
+ margin: 0 auto 10px;
100
+ }
101
+
102
+ &__icon {
103
+ @include size(64px);
104
+ fill: $primary-color;
105
+ }
106
+
107
+ &__footer {
108
+ display: flex;
109
+ flex-direction: column;
110
+ padding: 0 $modal-padding $modal-padding;
111
+ }
112
+
113
+ &__finePrint {
114
+ font-size: 14px;
115
+ margin-top: 20px;
116
+ line-height: normal;
117
+ }
118
+
119
+ &__finePrintLink {
120
+ font-size: 14px;
121
+ }
122
+ }
@@ -0,0 +1,161 @@
1
+ .navSearch {
2
+ $search-width: 530px;
3
+
4
+ display: flex;
5
+ justify-content: center;
6
+ flex: 1;
7
+ padding: 0 40px;
8
+ position: absolute;
9
+ top: 50%;
10
+ right: 0;
11
+ left: 0;
12
+ transform: translateY(-50%);
13
+
14
+ @include media(max-width 1315px) {
15
+ position: relative;
16
+ transform: none;
17
+ top: 0;
18
+ }
19
+
20
+ @include media(max-width 1000px) {
21
+ padding: 0 30px 0 40px;
22
+ }
23
+
24
+ @include media($mobile) {
25
+ display: none;
26
+ }
27
+
28
+ &--hidden {
29
+ display: none;
30
+ }
31
+
32
+ &__icon {
33
+ fill: rgba($black, 0.4);
34
+ position: absolute;
35
+ left: 20px;
36
+ top: 50%;
37
+ transform: translateY(-50%);
38
+ }
39
+
40
+ &--light &__icon {
41
+ fill: $white;
42
+ }
43
+
44
+ &__form {
45
+ border: 0;
46
+ margin: 0;
47
+ position: relative;
48
+ max-width: $search-width;
49
+ width: 100%;
50
+ }
51
+
52
+ &__input[type="search"] {
53
+ @include placeholder(rgba($black, 0.4));
54
+ transition: all 0.3s ease;
55
+ color: $text-color;
56
+ border: 0;
57
+ margin: 0;
58
+ background-color: rgba($black, 0.06);
59
+ flex: 1;
60
+ width: 100%;
61
+ display: flex;
62
+ padding-left: 60px;
63
+ height: 40px;
64
+ border-radius: 4px;
65
+ appearance: none;
66
+
67
+ &:focus {
68
+ outline: none;
69
+ }
70
+ }
71
+
72
+ &--light &__input {
73
+ @include placeholder(rgba($white, 0.6));
74
+ background-color: rgba($white, 0.10);
75
+ color: rgba($white, 0.8);
76
+
77
+ &:focus {
78
+ @include placeholder(rgba($black, 0.6));
79
+ color: rgba($black, 0.7);
80
+ border: 0;
81
+ background-color: rgba($white, 1);
82
+ box-shadow: 0 2px 10px rgba($black, 0.2);
83
+ }
84
+ }
85
+
86
+ &--light &__input:focus + &__icon {
87
+ fill: rgba($black, 0.7);
88
+ }
89
+
90
+ &__results {
91
+ @keyframes searchResults {
92
+ from {
93
+ opacity: 0;
94
+ transform: translate3d(0, -10px, 0);
95
+ }
96
+ to {
97
+ opacity: 1;
98
+ transform: translate3d(0, 0, 0);
99
+ }
100
+ }
101
+
102
+ animation: searchResults 0.3s $CurveFastOutSlowIn both;
103
+ padding: 0 40px;
104
+ position: absolute;
105
+ top: 50px;
106
+ left: 0;
107
+ right: 0;
108
+ width: 100%;
109
+ opacity: 0;
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+
114
+ @include media(max-width 1000px) {
115
+ padding: 0 30px 0 40px;
116
+ }
117
+ }
118
+
119
+ &__resultsContainer {
120
+ overflow: hidden;
121
+ border-radius: $base-border-radius;
122
+ background: $white;
123
+ max-width: $search-width;
124
+ width: 100%;
125
+ box-shadow:
126
+ 0 8px 10px 1px rgba($black, 0.14),
127
+ 0 3px 14px 2px rgba($black, 0.12),
128
+ 0 5px 5px -3px rgba($black, 0.4);
129
+ }
130
+
131
+ &__entries {
132
+ padding: 10px 0;
133
+ max-height: 500px;
134
+ overflow: auto;
135
+ }
136
+
137
+ &__searchResult {
138
+ text-align: left;
139
+ display: flex;
140
+ flex: 1;
141
+ flex-direction: row;
142
+ align-items: center;
143
+ border: 0;
144
+ color: $text-color;
145
+ padding: 10px 20px;
146
+ font-size: 16px;
147
+
148
+ &:hover,
149
+ &:focus,
150
+ &:active {
151
+ outline: none;
152
+ border: 0;
153
+ color: $text-color;
154
+ background: rgba($black, 0.06);
155
+ }
156
+
157
+ &--notFound {
158
+ padding-left: 20px;
159
+ }
160
+ }
161
+ }