uswds-rails 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +17 -0
  3. data/.editorconfig +14 -0
  4. data/.gitignore +28 -0
  5. data/.rspec +3 -0
  6. data/.rubocop +3 -0
  7. data/.rubocop.yml +16 -0
  8. data/.ruby-version +1 -0
  9. data/.simplecov +13 -0
  10. data/.travis.yml +18 -0
  11. data/CONTRIBUTING.md +50 -0
  12. data/Gemfile +4 -0
  13. data/LICENSE.md +27 -0
  14. data/README.md +64 -0
  15. data/Rakefile +8 -0
  16. data/app/assets/stylesheets/uswds/components/_accordions.scss +150 -0
  17. data/app/assets/stylesheets/uswds/components/_alerts.scss +85 -0
  18. data/app/assets/stylesheets/uswds/components/_footer.scss +382 -0
  19. data/app/assets/stylesheets/uswds/components/_forms.scss +164 -0
  20. data/app/assets/stylesheets/uswds/components/_hero.scss +43 -0
  21. data/app/assets/stylesheets/uswds/components/_navigation.scss +446 -0
  22. data/app/assets/stylesheets/uswds/components/_search.scss +106 -0
  23. data/app/assets/stylesheets/uswds/core/_utilities.scss +232 -0
  24. data/app/assets/stylesheets/uswds/core/_variables.scss +112 -0
  25. data/app/assets/stylesheets/uswds/elements/_inputs.scss +346 -0
  26. data/app/assets/stylesheets/uswds/elements/_typography.scss +257 -0
  27. data/app/assets/stylesheets/uswds/uswds.scss +44 -0
  28. data/lib/uswds-rails.rb +1 -0
  29. data/lib/uswds/rails.rb +7 -0
  30. data/lib/uswds/rails/engine.rb +17 -0
  31. data/lib/uswds/rails/version.rb +6 -0
  32. data/uswds-rails.gemspec +36 -0
  33. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.eot +0 -0
  34. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.ttf +0 -0
  35. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.woff +0 -0
  36. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.woff2 +0 -0
  37. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.eot +0 -0
  38. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.ttf +0 -0
  39. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.woff +0 -0
  40. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.woff2 +0 -0
  41. data/vendor/assets/fonts/uswds/merriweather-light-webfont.eot +0 -0
  42. data/vendor/assets/fonts/uswds/merriweather-light-webfont.ttf +0 -0
  43. data/vendor/assets/fonts/uswds/merriweather-light-webfont.woff +0 -0
  44. data/vendor/assets/fonts/uswds/merriweather-light-webfont.woff2 +0 -0
  45. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.eot +0 -0
  46. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.ttf +0 -0
  47. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.woff +0 -0
  48. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.woff2 +0 -0
  49. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.eot +0 -0
  50. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.ttf +0 -0
  51. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.woff +0 -0
  52. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.woff2 +0 -0
  53. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.eot +0 -0
  54. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.ttf +0 -0
  55. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.woff +0 -0
  56. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.woff2 +0 -0
  57. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.eot +0 -0
  58. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.ttf +0 -0
  59. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.woff +0 -0
  60. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.woff2 +0 -0
  61. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.eot +0 -0
  62. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.ttf +0 -0
  63. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.woff +0 -0
  64. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.woff2 +0 -0
  65. data/vendor/assets/images/uswds/alerts/error.png +0 -0
  66. data/vendor/assets/images/uswds/alerts/error.svg +17 -0
  67. data/vendor/assets/images/uswds/alerts/info.png +0 -0
  68. data/vendor/assets/images/uswds/alerts/info.svg +18 -0
  69. data/vendor/assets/images/uswds/alerts/success.png +0 -0
  70. data/vendor/assets/images/uswds/alerts/success.svg +12 -0
  71. data/vendor/assets/images/uswds/alerts/warning.png +0 -0
  72. data/vendor/assets/images/uswds/alerts/warning.svg +16 -0
  73. data/vendor/assets/images/uswds/angle-arrow-down-hover.png +0 -0
  74. data/vendor/assets/images/uswds/angle-arrow-down-hover.svg +1 -0
  75. data/vendor/assets/images/uswds/angle-arrow-down-primary-hover.png +0 -0
  76. data/vendor/assets/images/uswds/angle-arrow-down-primary-hover.svg +1 -0
  77. data/vendor/assets/images/uswds/angle-arrow-down-primary.png +0 -0
  78. data/vendor/assets/images/uswds/angle-arrow-down-primary.svg +1 -0
  79. data/vendor/assets/images/uswds/angle-arrow-down.png +0 -0
  80. data/vendor/assets/images/uswds/angle-arrow-down.svg +1 -0
  81. data/vendor/assets/images/uswds/angle-arrow-up-primary-hover.png +0 -0
  82. data/vendor/assets/images/uswds/angle-arrow-up-primary-hover.svg +1 -0
  83. data/vendor/assets/images/uswds/angle-arrow-up-primary.png +0 -0
  84. data/vendor/assets/images/uswds/angle-arrow-up-primary.svg +1 -0
  85. data/vendor/assets/images/uswds/arrow-down.png +0 -0
  86. data/vendor/assets/images/uswds/arrow-down.svg +1 -0
  87. data/vendor/assets/images/uswds/arrow-right.png +0 -0
  88. data/vendor/assets/images/uswds/arrow-right.svg +1 -0
  89. data/vendor/assets/images/uswds/circle-124.png +0 -0
  90. data/vendor/assets/images/uswds/close.png +0 -0
  91. data/vendor/assets/images/uswds/close.svg +1 -0
  92. data/vendor/assets/images/uswds/correct8.png +0 -0
  93. data/vendor/assets/images/uswds/correct8.svg +1 -0
  94. data/vendor/assets/images/uswds/correct9.png +0 -0
  95. data/vendor/assets/images/uswds/correct9.svg +1 -0
  96. data/vendor/assets/images/uswds/external-link-alt-hover.png +0 -0
  97. data/vendor/assets/images/uswds/external-link-alt-hover.svg +1 -0
  98. data/vendor/assets/images/uswds/external-link-alt.png +0 -0
  99. data/vendor/assets/images/uswds/external-link-alt.svg +1 -0
  100. data/vendor/assets/images/uswds/external-link-hover.png +0 -0
  101. data/vendor/assets/images/uswds/external-link-hover.svg +1 -0
  102. data/vendor/assets/images/uswds/external-link.png +0 -0
  103. data/vendor/assets/images/uswds/external-link.svg +1 -0
  104. data/vendor/assets/images/uswds/favicons/favicon-114.png +0 -0
  105. data/vendor/assets/images/uswds/favicons/favicon-144.png +0 -0
  106. data/vendor/assets/images/uswds/favicons/favicon-16.png +0 -0
  107. data/vendor/assets/images/uswds/favicons/favicon-192.png +0 -0
  108. data/vendor/assets/images/uswds/favicons/favicon-40.png +0 -0
  109. data/vendor/assets/images/uswds/favicons/favicon-57.png +0 -0
  110. data/vendor/assets/images/uswds/favicons/favicon-72.png +0 -0
  111. data/vendor/assets/images/uswds/favicons/favicon.ico +0 -0
  112. data/vendor/assets/images/uswds/favicons/favicon.png +0 -0
  113. data/vendor/assets/images/uswds/hero.png +0 -0
  114. data/vendor/assets/images/uswds/icon-dot-gov.svg +1 -0
  115. data/vendor/assets/images/uswds/icon-https.svg +1 -0
  116. data/vendor/assets/images/uswds/logo-img.png +0 -0
  117. data/vendor/assets/images/uswds/minus-alt.png +0 -0
  118. data/vendor/assets/images/uswds/minus-alt.svg +1 -0
  119. data/vendor/assets/images/uswds/minus.png +0 -0
  120. data/vendor/assets/images/uswds/minus.svg +1 -0
  121. data/vendor/assets/images/uswds/plus-alt.png +0 -0
  122. data/vendor/assets/images/uswds/plus-alt.svg +1 -0
  123. data/vendor/assets/images/uswds/plus.png +0 -0
  124. data/vendor/assets/images/uswds/plus.svg +1 -0
  125. data/vendor/assets/images/uswds/search-alt.png +0 -0
  126. data/vendor/assets/images/uswds/search-alt.svg +1 -0
  127. data/vendor/assets/images/uswds/search.png +0 -0
  128. data/vendor/assets/images/uswds/search.svg +1 -0
  129. data/vendor/assets/images/uswds/social-icons/png/facebook25.png +0 -0
  130. data/vendor/assets/images/uswds/social-icons/png/rss25.png +0 -0
  131. data/vendor/assets/images/uswds/social-icons/png/twitter16.png +0 -0
  132. data/vendor/assets/images/uswds/social-icons/png/youtube15.png +0 -0
  133. data/vendor/assets/images/uswds/social-icons/svg/facebook25.svg +1 -0
  134. data/vendor/assets/images/uswds/social-icons/svg/rss25.svg +1 -0
  135. data/vendor/assets/images/uswds/social-icons/svg/twitter16.svg +1 -0
  136. data/vendor/assets/images/uswds/social-icons/svg/youtube15.svg +1 -0
  137. data/vendor/assets/images/uswds/us_flag_small.png +0 -0
  138. data/vendor/assets/javascripts/uswds/uswds.js +1739 -0
  139. data/vendor/assets/stylesheets/uswds/components/_accordions.scss +150 -0
  140. data/vendor/assets/stylesheets/uswds/components/_alerts.scss +85 -0
  141. data/vendor/assets/stylesheets/uswds/components/_banner.scss +204 -0
  142. data/vendor/assets/stylesheets/uswds/components/_footer.scss +382 -0
  143. data/vendor/assets/stylesheets/uswds/components/_forms.scss +164 -0
  144. data/vendor/assets/stylesheets/uswds/components/_graphic-list.scss +35 -0
  145. data/vendor/assets/stylesheets/uswds/components/_header.scss +221 -0
  146. data/vendor/assets/stylesheets/uswds/components/_hero.scss +43 -0
  147. data/vendor/assets/stylesheets/uswds/components/_layout.scss +36 -0
  148. data/vendor/assets/stylesheets/uswds/components/_media-block.scss +12 -0
  149. data/vendor/assets/stylesheets/uswds/components/_navigation.scss +446 -0
  150. data/vendor/assets/stylesheets/uswds/components/_search.scss +106 -0
  151. data/vendor/assets/stylesheets/uswds/components/_section.scss +37 -0
  152. data/vendor/assets/stylesheets/uswds/components/_sidenav.scss +8 -0
  153. data/vendor/assets/stylesheets/uswds/components/_skipnav.scss +19 -0
  154. data/vendor/assets/stylesheets/uswds/core/_base.scss +30 -0
  155. data/vendor/assets/stylesheets/uswds/core/_fonts.scss +65 -0
  156. data/vendor/assets/stylesheets/uswds/core/_grid.scss +154 -0
  157. data/vendor/assets/stylesheets/uswds/core/_utilities.scss +232 -0
  158. data/vendor/assets/stylesheets/uswds/core/_variables.scss +123 -0
  159. data/vendor/assets/stylesheets/uswds/elements/_buttons.scss +191 -0
  160. data/vendor/assets/stylesheets/uswds/elements/_embed.scss +26 -0
  161. data/vendor/assets/stylesheets/uswds/elements/_figure.scss +13 -0
  162. data/vendor/assets/stylesheets/uswds/elements/_inputs.scss +346 -0
  163. data/vendor/assets/stylesheets/uswds/elements/_labels.scss +20 -0
  164. data/vendor/assets/stylesheets/uswds/elements/_list.scss +32 -0
  165. data/vendor/assets/stylesheets/uswds/elements/_table.scss +47 -0
  166. data/vendor/assets/stylesheets/uswds/elements/_typography.scss +257 -0
  167. data/vendor/assets/stylesheets/uswds/uswds.scss +41 -0
  168. metadata +394 -0
@@ -0,0 +1,36 @@
1
+ // Flexbox positioning to move sidenav below main content on small screens
2
+ .usa-layout-docs {
3
+ display: flex;
4
+ flex-direction: column;
5
+
6
+ @include media($large-screen) {
7
+ display: inherit;
8
+ }
9
+
10
+ .usa-grid {
11
+ > :first-child:not(.usa-width-*) {
12
+ margin-top: 0;
13
+ }
14
+
15
+ > :last-child:not(.usa-width-*) {
16
+ margin-bottom: 0;
17
+ }
18
+ }
19
+ }
20
+
21
+ .usa-layout-docs-sidenav {
22
+ order: 2;
23
+ }
24
+
25
+ .usa-layout-docs-main_content {
26
+ margin-bottom: $site-margins;
27
+ order: 1;
28
+
29
+ @include media($large-screen) {
30
+ margin-bottom: 0;
31
+ }
32
+
33
+ > :first-child {
34
+ margin-top: 0;
35
+ }
36
+ }
@@ -0,0 +1,12 @@
1
+ @mixin media-block-img($margin-right: 1rem) {
2
+ float: left;
3
+ margin-right: $margin-right;
4
+ }
5
+
6
+ .usa-media_block-img {
7
+ @include media-block-img;
8
+ }
9
+
10
+ .usa-media_block-body {
11
+ overflow: hidden;
12
+ }
@@ -0,0 +1,446 @@
1
+ // Header navigation ------------- //
2
+
3
+ @mixin nav-border {
4
+ border-bottom: 0.7rem solid $color-primary;
5
+ padding-bottom: 1rem;
6
+ }
7
+
8
+ .usa-navbar {
9
+ border-bottom: 1px solid $color-gray-light;
10
+ height: 4rem;
11
+
12
+ @include media($nav-width) {
13
+ border-bottom: none;
14
+ display: inline-block;
15
+ height: 10.3rem;
16
+ }
17
+ }
18
+
19
+ .usa-nav-link {
20
+ @include font-smoothing;
21
+
22
+ &:hover {
23
+ span {
24
+ @include media($nav-width) {
25
+ @include nav-border;
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ .usa-nav-container {
32
+ @include media($nav-width) {
33
+ @include outer-container();
34
+ @include padding(null $site-margins);
35
+ max-width: $site-max-width;
36
+ }
37
+ }
38
+
39
+ .usa-nav {
40
+ $sliding-panel-width: 26rem;
41
+
42
+ @include position(fixed, 0 0 0 auto);
43
+ @include transform(translateX($sliding-panel-width));
44
+
45
+ background: $color-white;
46
+ border-left: 1px solid $color-gray-light;
47
+ border-right: 0;
48
+ display: flex;
49
+ flex-direction: column;
50
+ overflow-y: auto;
51
+ padding: 2rem;
52
+ width: $sliding-panel-width;
53
+ z-index: $z-index-nav;
54
+
55
+ @include media($nav-width) {
56
+ @include padding(5rem 0 0 null);
57
+ @include transform(translateX(0));
58
+
59
+ border-left: none;
60
+ display: block;
61
+ float: right;
62
+ overflow-y: visible;
63
+ position: relative;
64
+ width: auto;
65
+ }
66
+
67
+ &.is-visible {
68
+ @include transform(translateX(0));
69
+ @include transition(all 0.3s ease-in-out);
70
+ }
71
+
72
+ nav {
73
+ margin-top: 6rem;
74
+ min-height: 100%;
75
+
76
+ @include media($nav-width) {
77
+ margin-top: 0;
78
+ }
79
+ }
80
+
81
+ .usa-current {
82
+ border-left: 4px solid $color-primary;
83
+ color: $color-primary;
84
+ font-weight: $font-bold;
85
+ padding-left: 1.4rem;
86
+ }
87
+
88
+ .usa-button {
89
+ width: 100%;
90
+ }
91
+
92
+ .usa-search {
93
+ @include media($nav-width) {
94
+ margin-left: 1.5rem;
95
+ }
96
+ }
97
+ }
98
+
99
+ // Primary navigation ------------- //
100
+
101
+ .usa-nav-primary {
102
+ @include usa-sidenav-list;
103
+ order: 2;
104
+
105
+ @include media($nav-width) {
106
+ display: inline;
107
+ }
108
+
109
+ li {
110
+ @include media($nav-width) {
111
+ border-top: none;
112
+ }
113
+ }
114
+
115
+ > li {
116
+ width: auto;
117
+
118
+ @include media($nav-width) {
119
+ display: inline-block;
120
+ margin-left: -4px;
121
+ }
122
+
123
+ > a {
124
+ @include media($nav-width) {
125
+ @include padding(1.3rem 1.5rem 1.7rem 1.5rem);
126
+ color: $color-gray;
127
+ font-size: $h5-font-size;
128
+ font-weight: $font-bold;
129
+ line-height: 1.2;
130
+ }
131
+
132
+ &:hover {
133
+ @include media($nav-width) {
134
+ background-color: transparent;
135
+ }
136
+ }
137
+ }
138
+ }
139
+
140
+ button {
141
+ @include button-unstyled;
142
+ @include font-smoothing;
143
+ font-weight: $font-normal;
144
+ padding: 1.4rem 1.5rem 1rem 1.8rem;
145
+
146
+ @include media($nav-width) {
147
+ @include padding(null 3rem 1.9rem 1.5rem);
148
+ color: $color-gray;
149
+ font-size: $h5-font-size;
150
+ font-weight: $font-bold;
151
+ width: initial;
152
+ }
153
+
154
+ &:focus,
155
+ &:active {
156
+ box-shadow: $focus-shadow;
157
+ }
158
+
159
+ &:hover {
160
+ background-color: $color-gray-lightest;
161
+ color: $color-primary;
162
+
163
+ @include media($nav-width) {
164
+ background-color: transparent;
165
+ }
166
+ }
167
+
168
+ &[aria-expanded=false] { /* stylelint-disable-line selector-no-qualifying-type */
169
+ background-image: url('#{$image-path}/plus-alt.png');
170
+ background-image: url('#{$image-path}/plus-alt.svg');
171
+ background-repeat: no-repeat;
172
+ background-position: right 0 center;
173
+ background-size: 1rem;
174
+
175
+ @include media($nav-width) {
176
+ background-image: url('#{$image-path}/angle-arrow-down.png');
177
+ background-image: url('#{$image-path}/angle-arrow-down.svg');
178
+ background-position: right 1.5rem top 44%;
179
+ }
180
+ }
181
+
182
+ &[aria-expanded=true] { /* stylelint-disable-line selector-no-qualifying-type */
183
+ background-image: url('#{$image-path}/minus-alt.png');
184
+ background-image: url('#{$image-path}/minus-alt.svg');
185
+ background-repeat: no-repeat;
186
+ background-position: right 0 center;
187
+ background-size: 1rem;
188
+
189
+ @include media($nav-width) {
190
+ background-color: $color-primary-darkest;
191
+ color: $color-white;
192
+ background-image: url('#{$image-path}/angle-arrow-down-hover.png');
193
+ background-image: url('#{$image-path}/angle-arrow-down-hover.svg');
194
+ background-position: right 1.5rem top 44%;
195
+
196
+ &:hover {
197
+ background-color: $color-primary-darkest;
198
+ }
199
+
200
+ span {
201
+ @include nav-border;
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ @include media($nav-width) {
208
+ a.usa-current { // stylelint-disable-line selector-no-qualifying-type
209
+ // undo the sidenav style
210
+ border-left: 0;
211
+ padding-left: 1rem;
212
+
213
+ span {
214
+ @include nav-border;
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+ // Secondary navigation ----------- //
221
+
222
+ .usa-nav-secondary {
223
+ @include media($nav-width) {
224
+ position: absolute;
225
+ right: $site-margins;
226
+ top: -5.7rem;
227
+ }
228
+
229
+ .usa-search {
230
+ @include margin(3rem null);
231
+
232
+ @include media($nav-width) {
233
+ @include margin(-0.2rem null 0 0);
234
+ float: left;
235
+ }
236
+ }
237
+ }
238
+
239
+ .usa-nav-secondary-links {
240
+ @include media($nav-width) {
241
+ float: left;
242
+ }
243
+
244
+ li {
245
+ @include media($nav-width) {
246
+ display: inline;
247
+ padding-left: 1rem;
248
+ }
249
+
250
+ &:not(:last-child)::after {
251
+ @include media($nav-width) {
252
+ content: '|';
253
+ padding-left: 1rem;
254
+ }
255
+ }
256
+ }
257
+
258
+ a,
259
+ .usa-header-search-button {
260
+ color: $color-gray;
261
+ display: inline-block;
262
+ font-size: $h5-font-size;
263
+ text-decoration: none;
264
+
265
+ &:hover {
266
+ color: $color-primary;
267
+ }
268
+ }
269
+
270
+ .usa-header-search-button {
271
+ @include button-unstyled;
272
+ display: none;
273
+
274
+ @include media($nav-width) {
275
+ background-image: url('#{$image-path}/search-alt.png');
276
+ background-image: url('#{$image-path}/search-alt.svg');
277
+ background-repeat: no-repeat;
278
+ background-position: left center;
279
+ background-size: 2.2rem;
280
+ display: inline-block;
281
+ padding-left: 2.3rem;
282
+ }
283
+
284
+ &.is-hidden {
285
+ @include media($nav-width) {
286
+ display: none;
287
+ }
288
+ }
289
+ }
290
+
291
+ @include media($nav-width) {
292
+ a.usa-current { // stylelint-disable-line selector-no-qualifying-type
293
+ // undo the sidenav style
294
+ border-left: 0;
295
+ padding-left: 0;
296
+ }
297
+ }
298
+ }
299
+
300
+ // Navigation submenu (dropdown and mega menu) ----- //
301
+
302
+ .usa-nav-submenu {
303
+ @include usa-sidenav-sublist;
304
+
305
+ @include media($nav-width) {
306
+ @include unstyled-list;
307
+ @include padding(1.15rem null);
308
+ background-color: $color-primary-darkest;
309
+ min-width: 21.5rem;
310
+ width: auto;
311
+ position: absolute;
312
+ }
313
+
314
+ &[aria-hidden=true] {
315
+ display: none;
316
+ }
317
+
318
+ a {
319
+ @include media($nav-width) {
320
+ color: $color-white;
321
+ padding-left: 1.8rem;
322
+ }
323
+
324
+ &:hover {
325
+ @include media($nav-width) {
326
+ background-color: $color-primary-darkest;
327
+ color: $color-white;
328
+ text-decoration: underline;
329
+ }
330
+ }
331
+
332
+ &:hover,
333
+ &.usa-current { /* stylelint-disable-line selector-no-qualifying-type */
334
+ @include media($nav-width) {
335
+ padding-left: 1.8rem;
336
+ }
337
+ }
338
+ }
339
+
340
+ li {
341
+ margin-bottom: 0;
342
+ }
343
+ }
344
+
345
+ // Navigation close button -------- //
346
+
347
+ .usa-nav-close {
348
+ @include button-unstyled;
349
+ @include margin(-1.2rem -1.5rem 2.4rem auto);
350
+ float: right;
351
+ height: $hit-area;
352
+ text-align: center;
353
+ width: $hit-area;
354
+
355
+ @include media($nav-width) {
356
+ display: none;
357
+ }
358
+
359
+ img {
360
+ width: 1.3rem;
361
+ }
362
+ }
363
+
364
+ .usa-mobile_nav-active {
365
+ overflow: hidden;
366
+ }
367
+
368
+ // Navigation mega menu -------- //
369
+
370
+ @mixin outer-megamenu {
371
+ background-color: $color-primary-darkest;
372
+ content: '';
373
+ display: block;
374
+ height: 100%;
375
+ position: absolute;
376
+ top: 0;
377
+ width: 1000%;
378
+ }
379
+
380
+ .usa-megamenu {
381
+ @include media($nav-width) {
382
+ @include padding(3.15rem null);
383
+ left: -1.8rem;
384
+ width: 100%;
385
+ }
386
+
387
+ &::before {
388
+ @include media($nav-width) {
389
+ @include outer-megamenu;
390
+ right: 100%;
391
+ }
392
+ }
393
+
394
+ &::after {
395
+ @include media($nav-width) {
396
+ @include outer-megamenu;
397
+ left: 100%;
398
+ }
399
+ }
400
+ }
401
+
402
+ .usa-header-basic-megamenu {
403
+ .usa-nav {
404
+ @include media($nav-width) {
405
+ padding-top: 0;
406
+ width: 100%;
407
+ }
408
+ }
409
+
410
+ .usa-nav-inner {
411
+ display: flex;
412
+ flex-direction: column;
413
+
414
+ @include media($nav-width) {
415
+ display: initial;
416
+ float: right;
417
+ margin-top: -4.8rem;
418
+ }
419
+ }
420
+
421
+ .usa-nav-submenu {
422
+ .usa-grid-full {
423
+ @include media($nav-width) {
424
+ margin-left: -1.8rem;
425
+ }
426
+ }
427
+ }
428
+ }
429
+
430
+ .usa-megamenu-col {
431
+ @include media($nav-width) {
432
+ @include span-columns(3);
433
+
434
+ &:nth-child(2n) {
435
+ @include span-columns(3);
436
+ }
437
+
438
+ &:nth-child(4n) {
439
+ margin-right: 0;
440
+ }
441
+ }
442
+
443
+ > ul {
444
+ @include unstyled-list;
445
+ }
446
+ }