purecss-sass 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d6992b0a75b623f66a873d29fc963355239f7c60
4
+ data.tar.gz: b2703e017f5d0f335ab2613730106325f864ab28
5
+ SHA512:
6
+ metadata.gz: ea79877260dca1fbb2684acb1feb032f3823a6fa2743514f84b492c430bf85013032136ec6d2d1277f964df7ebf99399e594087429945ae581f1d3ec6b4ae944
7
+ data.tar.gz: 348a8cec36d55c3b140a8711aa94768651f24c07a1f5f125f11452e00947a28cbdb669a62fa85acafc6e6d2fadea85d7d2d460c1c6c849a34c18fb7d035bbde0
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.sass-cache/
3
+ /.yardoc
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.6
7
+ - 2.2.2
8
+
9
+ before_install: gem install bundler
10
+
11
+ sudo: false
@@ -0,0 +1,5 @@
1
+ ## 0.6.0 (2015-07-22)
2
+
3
+ - Initial release
4
+
5
+ Framework version: Pure v0.6.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in purecss-sass.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Dmitriy Tarasov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,90 @@
1
+ # Pure CSS for Sass
2
+
3
+ `purecss-sass` is a Sass-powered version of [Pure](https://github.com/yahoo/pure/) CSS framework by Yahoo for your Ruby projects. It works with Ruby on Rails, Compass, Sprockets etc.
4
+
5
+ Original CSS files are converted using `sass-convert` and otherwise untouched and unmodified.
6
+
7
+ This project is heavily inspired from [bootstrap-sass](https://github.com/twbs/bootstrap-sass) by Twitter Bootstrap team.
8
+
9
+ ## Installation
10
+
11
+ ### Ruby on Rails
12
+
13
+ Add this line to your Rails application's Gemfile:
14
+
15
+ ```ruby
16
+ gem 'purecss-sass'
17
+ ```
18
+
19
+ And then execute `bundle` command to install.
20
+
21
+ Import `purecss` in `application.scss` (or `application.css.scss`) file located in `app/assets/stylesheets/`:
22
+
23
+ ```scss
24
+ @import 'purecss';
25
+ ```
26
+
27
+ Default Rails installation comes with `.css` file extension for stylesheet assests files, make sure you change it to `.scss` and remove all the `//= require` and `//= require_tree` statements from file.
28
+
29
+ Alternatively, to keep original `application.css` file, you can create `custom.scss` file in same folder and import `purecss` there.
30
+
31
+ ### Compass
32
+
33
+ To use Compass extension you'll need to install `purecss-sass` gem:
34
+
35
+ ```
36
+ gem install purecss-sass
37
+ ```
38
+
39
+ #### Existing Compass project
40
+
41
+ If you have an existing Compass project, open `config.rb` file and require `purecss-sass` there:
42
+
43
+ ```ruby
44
+ require 'purecss-sass'
45
+ ```
46
+
47
+ Navigate to your project's folder and run command:
48
+
49
+ ```
50
+ compass install purecss -r purecss-sass
51
+ ```
52
+
53
+ This will create new file `styles.scss`, that imports Pure components.
54
+
55
+ Instead of the install command provided above, you can manually import `purecss`:
56
+
57
+ ```
58
+ @import 'purecss';
59
+ ```
60
+
61
+ #### New Compass project
62
+
63
+ If you are creating a new Compass project and wish to include `purecss-sass` run command:
64
+
65
+ ```
66
+ compass create project-name -r purecss-sass --using purecss
67
+ ```
68
+
69
+ This command will create a new Compass project with `styles.scss` file, which imports Pure components.
70
+
71
+ ## Usage
72
+
73
+ By default, using `@import 'purecss';`, all of Pure CSS components are imported.
74
+
75
+ You can import individual components like this:
76
+
77
+ ```scss
78
+ @import 'purecss/base';
79
+ @import 'purecss/buttons';
80
+ @import 'purecss/forms';
81
+ @import 'purecss/forms-nr';
82
+ @import 'purecss/grids';
83
+ @import 'purecss/grids-responsive';
84
+ @import 'purecss/menus';
85
+ @import 'purecss/tables';
86
+ ```
87
+
88
+ ## Contributing
89
+
90
+ Fork the project and submit a pull request.
@@ -0,0 +1,4 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ task default: :spec
4
+ RSpec::Core::RakeTask.new
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "purecss/sass"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,55 @@
1
+ module Purecss
2
+ module Sass
3
+ class << self
4
+ def load!
5
+ if defined?(::Compass::Frameworks)
6
+ register_compass_extension
7
+ elsif defined?(::Rails)
8
+ register_rails_engine
9
+ elsif defined?(::Sprockets)
10
+ register_sprockets
11
+ end
12
+
13
+ configure_sass
14
+ end
15
+
16
+ def gem_path
17
+ @gem_path ||= File.expand_path('..', File.dirname(__FILE__))
18
+ end
19
+
20
+ def stylesheets_path
21
+ File.join(gem_path, 'vendor/assets/stylesheets')
22
+ end
23
+
24
+ private
25
+
26
+ def configure_sass
27
+ require 'sass'
28
+
29
+ ::Sass.load_paths << stylesheets_path
30
+ end
31
+
32
+ def register_compass_extension
33
+ require 'purecss/sass/version'
34
+
35
+ ::Compass::Frameworks.register(
36
+ 'purecss',
37
+ version: Purecss::Sass::VERSION,
38
+ path: gem_path,
39
+ stylesheets_directory: stylesheets_path,
40
+ templates_directory: File.join(gem_path, 'templates')
41
+ )
42
+ end
43
+
44
+ def register_rails_engine
45
+ require 'purecss/sass/engine'
46
+ end
47
+
48
+ def register_sprockets
49
+ Sprockets.append_path(stylesheets_path)
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ Purecss::Sass.load!
@@ -0,0 +1,11 @@
1
+ module Purecss
2
+ module Sass
3
+ module Rails
4
+ class Engine < ::Rails::Engine
5
+ initializer 'purecss-sass.assets.precompile' do |app|
6
+ app.config.assets.paths << root.join('vendor/assets/stylesheets').to_s
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ module Purecss
2
+ module Sass
3
+ VERSION = '0.6.0'
4
+ end
5
+ end
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'purecss/sass/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'purecss-sass'
8
+ spec.version = Purecss::Sass::VERSION
9
+ spec.authors = ['Dmitriy Tarasov']
10
+ spec.email = ['info@rubysamurai.com']
11
+
12
+ spec.summary = 'Pure CSS framework by Yahoo, converted to Sass and ready to use in Ruby projects'
13
+ spec.description = 'Pure CSS framework by Yahoo, converted to Sass and ready to use in Ruby projects'
14
+ spec.homepage = 'https://github.com/rubysamurai/purecss-sass'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = 'exe'
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_runtime_dependency 'sass', '~> 3.3'
23
+
24
+ spec.add_development_dependency 'rspec', '~> 3.3'
25
+ spec.add_development_dependency 'compass', '~> 1.0.3'
26
+ spec.add_development_dependency 'rails', '~> 4.0'
27
+ end
@@ -0,0 +1,2 @@
1
+ description 'Pure CSS for Sass'
2
+ stylesheet 'styles.sass'
@@ -0,0 +1 @@
1
+ @import 'purecss'
@@ -0,0 +1,15 @@
1
+ /*!
2
+ Pure v0.6.0
3
+ Copyright 2014 Yahoo! Inc. All rights reserved.
4
+ Licensed under the BSD License.
5
+ https://github.com/yahoo/pure/blob/master/LICENSE.md
6
+ */
7
+
8
+ @import 'purecss/base';
9
+ @import 'purecss/buttons';
10
+ @import 'purecss/forms';
11
+ @import 'purecss/forms-nr';
12
+ @import 'purecss/grids';
13
+ @import 'purecss/grids-responsive';
14
+ @import 'purecss/menus';
15
+ @import 'purecss/tables';
@@ -0,0 +1,485 @@
1
+ /*!
2
+ Pure v0.6.0
3
+ Copyright 2014 Yahoo! Inc. All rights reserved.
4
+ Licensed under the BSD License.
5
+ https://github.com/yahoo/pure/blob/master/LICENSE.md
6
+ */
7
+ /*!
8
+ normalize.css v^3.0 | MIT License | git.io/normalize
9
+ Copyright (c) Nicolas Gallagher and Jonathan Neal
10
+ */
11
+ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
12
+
13
+ /**
14
+ * 1. Set default font family to sans-serif.
15
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
16
+ * user zoom.
17
+ */
18
+
19
+ html {
20
+ font-family: sans-serif;
21
+
22
+ /* 1 */
23
+ -ms-text-size-adjust: 100%;
24
+
25
+ /* 2 */
26
+ -webkit-text-size-adjust: 100%;
27
+
28
+ /* 2 */
29
+ }
30
+
31
+ /**
32
+ * Remove default margin.
33
+ */
34
+
35
+ body {
36
+ margin: 0;
37
+ }
38
+
39
+ /* HTML5 display definitions
40
+ ========================================================================== */
41
+
42
+ /**
43
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
44
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
45
+ * and Firefox.
46
+ * Correct `block` display not defined for `main` in IE 11.
47
+ */
48
+
49
+ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
50
+ display: block;
51
+ }
52
+
53
+ /**
54
+ * 1. Correct `inline-block` display not defined in IE 8/9.
55
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
56
+ */
57
+
58
+ audio, canvas, progress, video {
59
+ display: inline-block;
60
+
61
+ /* 1 */
62
+ vertical-align: baseline;
63
+
64
+ /* 2 */
65
+ }
66
+
67
+ /**
68
+ * Prevent modern browsers from displaying `audio` without controls.
69
+ * Remove excess height in iOS 5 devices.
70
+ */
71
+
72
+ audio:not([controls]) {
73
+ display: none;
74
+ height: 0;
75
+ }
76
+
77
+ /**
78
+ * Address `[hidden]` styling not present in IE 8/9/10.
79
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
80
+ */
81
+
82
+ [hidden], template {
83
+ display: none;
84
+ }
85
+
86
+ /* Links
87
+ ========================================================================== */
88
+
89
+ /**
90
+ * Remove the gray background color from active links in IE 10.
91
+ */
92
+
93
+ a {
94
+ background-color: transparent;
95
+
96
+ &:active, &:hover {
97
+ outline: 0;
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Improve readability when focused and also mouse hovered in all browsers.
103
+ */
104
+
105
+ /* Text-level semantics
106
+ ========================================================================== */
107
+
108
+ /**
109
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
110
+ */
111
+
112
+ abbr[title] {
113
+ border-bottom: 1px dotted;
114
+ }
115
+
116
+ /**
117
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
118
+ */
119
+
120
+ b, strong {
121
+ font-weight: bold;
122
+ }
123
+
124
+ /**
125
+ * Address styling not present in Safari and Chrome.
126
+ */
127
+
128
+ dfn {
129
+ font-style: italic;
130
+ }
131
+
132
+ /**
133
+ * Address variable `h1` font-size and margin within `section` and `article`
134
+ * contexts in Firefox 4+, Safari, and Chrome.
135
+ */
136
+
137
+ h1 {
138
+ font-size: 2em;
139
+ margin: 0.67em 0;
140
+ }
141
+
142
+ /**
143
+ * Address styling not present in IE 8/9.
144
+ */
145
+
146
+ mark {
147
+ background: #ff0;
148
+ color: #000;
149
+ }
150
+
151
+ /**
152
+ * Address inconsistent and variable font size in all browsers.
153
+ */
154
+
155
+ small {
156
+ font-size: 80%;
157
+ }
158
+
159
+ /**
160
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
161
+ */
162
+
163
+ sub {
164
+ font-size: 75%;
165
+ line-height: 0;
166
+ position: relative;
167
+ vertical-align: baseline;
168
+ }
169
+
170
+ sup {
171
+ font-size: 75%;
172
+ line-height: 0;
173
+ position: relative;
174
+ vertical-align: baseline;
175
+ top: -0.5em;
176
+ }
177
+
178
+ sub {
179
+ bottom: -0.25em;
180
+ }
181
+
182
+ /* Embedded content
183
+ ========================================================================== */
184
+
185
+ /**
186
+ * Remove border when inside `a` element in IE 8/9/10.
187
+ */
188
+
189
+ img {
190
+ border: 0;
191
+ }
192
+
193
+ /**
194
+ * Correct overflow not hidden in IE 9/10/11.
195
+ */
196
+
197
+ svg:not(:root) {
198
+ overflow: hidden;
199
+ }
200
+
201
+ /* Grouping content
202
+ ========================================================================== */
203
+
204
+ /**
205
+ * Address margin not present in IE 8/9 and Safari.
206
+ */
207
+
208
+ figure {
209
+ margin: 1em 40px;
210
+ }
211
+
212
+ /**
213
+ * Address differences between Firefox and other browsers.
214
+ */
215
+
216
+ hr {
217
+ -moz-box-sizing: content-box;
218
+ box-sizing: content-box;
219
+ height: 0;
220
+ }
221
+
222
+ /**
223
+ * Contain overflow in all browsers.
224
+ */
225
+
226
+ pre {
227
+ overflow: auto;
228
+ }
229
+
230
+ /**
231
+ * Address odd `em`-unit font size rendering in all browsers.
232
+ */
233
+
234
+ code, kbd, pre, samp {
235
+ font-family: monospace, monospace;
236
+ font-size: 1em;
237
+ }
238
+
239
+ /* Forms
240
+ ========================================================================== */
241
+
242
+ /**
243
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
244
+ * styling of `select`, unless a `border` property is set.
245
+ */
246
+
247
+ /**
248
+ * 1. Correct color not being inherited.
249
+ * Known issue: affects color of disabled elements.
250
+ * 2. Correct font properties not being inherited.
251
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
252
+ */
253
+
254
+ button, input, optgroup, select, textarea {
255
+ color: inherit;
256
+
257
+ /* 1 */
258
+ font: inherit;
259
+
260
+ /* 2 */
261
+ margin: 0;
262
+
263
+ /* 3 */
264
+ }
265
+
266
+ /**
267
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
268
+ */
269
+
270
+ button {
271
+ overflow: visible;
272
+ text-transform: none;
273
+ }
274
+
275
+ /**
276
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
277
+ * All other form control elements do not inherit `text-transform` values.
278
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
279
+ * Correct `select` style inheritance in Firefox.
280
+ */
281
+
282
+ select {
283
+ text-transform: none;
284
+ }
285
+
286
+ /**
287
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
288
+ * and `video` controls.
289
+ * 2. Correct inability to style clickable `input` types in iOS.
290
+ * 3. Improve usability and consistency of cursor style between image-type
291
+ * `input` and others.
292
+ */
293
+
294
+ button, html input[type="button"] {
295
+ -webkit-appearance: button;
296
+
297
+ /* 2 */
298
+ cursor: pointer;
299
+
300
+ /* 3 */
301
+ }
302
+
303
+ input {
304
+ &[type="reset"], &[type="submit"] {
305
+ -webkit-appearance: button;
306
+
307
+ /* 2 */
308
+ cursor: pointer;
309
+
310
+ /* 3 */
311
+ }
312
+ }
313
+
314
+ /**
315
+ * Re-set default cursor for disabled elements.
316
+ */
317
+
318
+ button[disabled], html input[disabled] {
319
+ cursor: default;
320
+ }
321
+
322
+ /**
323
+ * Remove inner padding and border in Firefox 4+.
324
+ */
325
+
326
+ button::-moz-focus-inner {
327
+ border: 0;
328
+ padding: 0;
329
+ }
330
+
331
+ input {
332
+ &::-moz-focus-inner {
333
+ border: 0;
334
+ padding: 0;
335
+ }
336
+
337
+ line-height: normal;
338
+
339
+ &[type="checkbox"], &[type="radio"] {
340
+ box-sizing: border-box;
341
+
342
+ /* 1 */
343
+ padding: 0;
344
+
345
+ /* 2 */
346
+ }
347
+
348
+ &[type="number"] {
349
+ &::-webkit-inner-spin-button, &::-webkit-outer-spin-button {
350
+ height: auto;
351
+ }
352
+ }
353
+
354
+ &[type="search"] {
355
+ -webkit-appearance: textfield;
356
+
357
+ /* 1 */
358
+ -moz-box-sizing: content-box;
359
+ -webkit-box-sizing: content-box;
360
+
361
+ /* 2 */
362
+ box-sizing: content-box;
363
+
364
+ &::-webkit-search-cancel-button, &::-webkit-search-decoration {
365
+ -webkit-appearance: none;
366
+ }
367
+ }
368
+ }
369
+
370
+ /**
371
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
372
+ * the UA stylesheet.
373
+ */
374
+
375
+ /**
376
+ * It's recommended that you don't attempt to style these elements.
377
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
378
+ *
379
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
380
+ * 2. Remove excess padding in IE 8/9/10.
381
+ */
382
+
383
+ /**
384
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
385
+ * `font-size` values of the `input`, it causes the cursor style of the
386
+ * decrement button to change from `default` to `text`.
387
+ */
388
+
389
+ /**
390
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
391
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
392
+ * (include `-moz` to future-proof).
393
+ */
394
+
395
+ /**
396
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
397
+ * Safari (but not Chrome) clips the cancel button when the search input has
398
+ * padding (and `textfield` appearance).
399
+ */
400
+
401
+ /**
402
+ * Define consistent border, margin, and padding.
403
+ */
404
+
405
+ fieldset {
406
+ border: 1px solid #c0c0c0;
407
+ margin: 0 2px;
408
+ padding: 0.35em 0.625em 0.75em;
409
+ }
410
+
411
+ /**
412
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
413
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
414
+ */
415
+
416
+ legend {
417
+ border: 0;
418
+
419
+ /* 1 */
420
+ padding: 0;
421
+
422
+ /* 2 */
423
+ }
424
+
425
+ /**
426
+ * Remove default vertical scrollbar in IE 8/9/10/11.
427
+ */
428
+
429
+ textarea {
430
+ overflow: auto;
431
+ }
432
+
433
+ /**
434
+ * Don't inherit the `font-weight` (applied by a rule above).
435
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
436
+ */
437
+
438
+ optgroup {
439
+ font-weight: bold;
440
+ }
441
+
442
+ /* Tables
443
+ ========================================================================== */
444
+
445
+ /**
446
+ * Remove most spacing between table cells.
447
+ */
448
+
449
+ table {
450
+ border-collapse: collapse;
451
+ border-spacing: 0;
452
+ }
453
+
454
+ td, th {
455
+ padding: 0;
456
+ }
457
+
458
+ /*csslint important:false*/
459
+
460
+ /* ==========================================================================
461
+ Pure Base Extras
462
+ ========================================================================== */
463
+
464
+ /**
465
+ * Extra rules that Pure adds on top of Normalize.css
466
+ */
467
+
468
+ /**
469
+ * Always hide an element when it has the `hidden` HTML attribute.
470
+ */
471
+
472
+ .hidden, [hidden] {
473
+ display: none !important;
474
+ }
475
+
476
+ /**
477
+ * Add this class to an image to make it fit within it's fluid parent wrapper while maintaining
478
+ * aspect ratio.
479
+ */
480
+
481
+ .pure-img {
482
+ max-width: 100%;
483
+ height: auto;
484
+ display: block;
485
+ }