inuit_rails 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/inuit_rails.gemspec +23 -0
  8. data/lib/generators/inuit_rails/install_generator.rb +23 -0
  9. data/lib/generators/inuit_rails/templates/inuit_override.css.scss +209 -0
  10. data/lib/inuit_rails.rb +6 -0
  11. data/lib/inuit_rails/version.rb +3 -0
  12. data/vendor/assets/stylesheets/_defaults.scss +226 -0
  13. data/vendor/assets/stylesheets/_inuit.scss +215 -0
  14. data/vendor/assets/stylesheets/base/_code.scss +63 -0
  15. data/vendor/assets/stylesheets/base/_forms.scss +174 -0
  16. data/vendor/assets/stylesheets/base/_headings.scss +45 -0
  17. data/vendor/assets/stylesheets/base/_images.scss +73 -0
  18. data/vendor/assets/stylesheets/base/_lists.scss +19 -0
  19. data/vendor/assets/stylesheets/base/_main.scss +13 -0
  20. data/vendor/assets/stylesheets/base/_massive_print.scss +16 -0
  21. data/vendor/assets/stylesheets/base/_quotes.scss +98 -0
  22. data/vendor/assets/stylesheets/base/_small_print.scss +13 -0
  23. data/vendor/assets/stylesheets/base/_tables.scss +163 -0
  24. data/vendor/assets/stylesheets/generic/_brand.scss +18 -0
  25. data/vendor/assets/stylesheets/generic/_clearfix.scss +15 -0
  26. data/vendor/assets/stylesheets/generic/_debug.scss +168 -0
  27. data/vendor/assets/stylesheets/generic/_helper.scss +184 -0
  28. data/vendor/assets/stylesheets/generic/_inline_block_fix.scss +14 -0
  29. data/vendor/assets/stylesheets/generic/_inline_block_whitespace_fix.scss +13 -0
  30. data/vendor/assets/stylesheets/generic/_mixins.scss +341 -0
  31. data/vendor/assets/stylesheets/generic/_normalize.scss +396 -0
  32. data/vendor/assets/stylesheets/generic/_pull.scss +147 -0
  33. data/vendor/assets/stylesheets/generic/_push.scss +147 -0
  34. data/vendor/assets/stylesheets/generic/_reset.scss +85 -0
  35. data/vendor/assets/stylesheets/generic/_shared.scss +61 -0
  36. data/vendor/assets/stylesheets/generic/_widths.scss +158 -0
  37. data/vendor/assets/stylesheets/objects/_arrows.scss +147 -0
  38. data/vendor/assets/stylesheets/objects/_beautons.scss +218 -0
  39. data/vendor/assets/stylesheets/objects/_block-list.scss +45 -0
  40. data/vendor/assets/stylesheets/objects/_columns.scss +22 -0
  41. data/vendor/assets/stylesheets/objects/_flexbox.scss +55 -0
  42. data/vendor/assets/stylesheets/objects/_flyout.scss +80 -0
  43. data/vendor/assets/stylesheets/objects/_greybox.scss +58 -0
  44. data/vendor/assets/stylesheets/objects/_grids.scss +76 -0
  45. data/vendor/assets/stylesheets/objects/_icon-text.scss +40 -0
  46. data/vendor/assets/stylesheets/objects/_island.scss +38 -0
  47. data/vendor/assets/stylesheets/objects/_link-complex.scss +32 -0
  48. data/vendor/assets/stylesheets/objects/_lozenges.scss +46 -0
  49. data/vendor/assets/stylesheets/objects/_marginalia.scss +52 -0
  50. data/vendor/assets/stylesheets/objects/_matrix.scss +89 -0
  51. data/vendor/assets/stylesheets/objects/_media.scss +60 -0
  52. data/vendor/assets/stylesheets/objects/_nav.scss +155 -0
  53. data/vendor/assets/stylesheets/objects/_nav__breadcrumb.scss +67 -0
  54. data/vendor/assets/stylesheets/objects/_nav__options.scss +45 -0
  55. data/vendor/assets/stylesheets/objects/_nav__pagination.scss +53 -0
  56. data/vendor/assets/stylesheets/objects/_rules.scss +63 -0
  57. data/vendor/assets/stylesheets/objects/_split.scss +39 -0
  58. data/vendor/assets/stylesheets/objects/_sprite.scss +98 -0
  59. data/vendor/assets/stylesheets/objects/_stats.scss +52 -0
  60. data/vendor/assets/stylesheets/objects/_this-or-this.scss +38 -0
  61. metadata +131 -0
@@ -0,0 +1,18 @@
1
+ /*------------------------------------*\
2
+ $BRAND
3
+ \*------------------------------------*/
4
+ /**
5
+ * `.brand` is a quick and simple way to apply your brand face and/or color to
6
+ * any element using a handy helper class.
7
+ */
8
+ .brand{
9
+ font-family:$brand-face +!important;
10
+ color:$brand-color +!important;
11
+ }
12
+ .brand-face{
13
+ font-family:$brand-face +!important;
14
+ }
15
+ .brand-color,
16
+ .brand-colour{
17
+ color:$brand-color +!important;
18
+ }
@@ -0,0 +1,15 @@
1
+ /*------------------------------------*\
2
+ $CLEARFIX
3
+ \*------------------------------------*/
4
+ /**
5
+ * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
6
+ * Extend the clearfix class with Sass to avoid the `.cf` class appearing over
7
+ * and over in your markup.
8
+ */
9
+ .cf{
10
+ &:after{
11
+ content:"";
12
+ display:table;
13
+ clear:both;
14
+ }
15
+ }
@@ -0,0 +1,168 @@
1
+ @if $debug-mode == true{
2
+ /*------------------------------------*\
3
+ $DEBUG
4
+ \*------------------------------------*/
5
+ /**
6
+ * Enable this stylesheet to visually detect any improperly nested or
7
+ * potentially invalid markup, or any potentially inaccessible code.
8
+ *
9
+ * Red == definite error
10
+ * Yellow == double-check
11
+ * None == should be fine
12
+ *
13
+ * Please note that this method of checking markup quality should not be relied
14
+ * upon entirely. Validate your markup!
15
+ */
16
+
17
+
18
+ /**
19
+ * Are there any empty elements in your page?
20
+ */
21
+ :empty{
22
+ outline:5px solid yellow;
23
+ }
24
+
25
+
26
+ /**
27
+ * Images require `alt` attributes, empty `alt`s are fine but should be
28
+ * double-checked, no `alt` is bad and is flagged red.
29
+ */
30
+ img{
31
+ outline:5px solid red;
32
+ }
33
+ img[alt]{
34
+ outline:none;
35
+ }
36
+ img[alt=""]{
37
+ outline:5px solid yellow;
38
+ }
39
+
40
+
41
+ /**
42
+ * Links sometimes, though not always, benefit from `title` attributes. Links
43
+ * without are never invalid but it’s a good idea to check.
44
+ */
45
+ a{
46
+ outline:5px solid yellow;
47
+ }
48
+ a[title]{
49
+ outline:none;
50
+ }
51
+
52
+
53
+ /**
54
+ * Double-check any links whose `href` is something questionable.
55
+ */
56
+ a[href="#"],
57
+ a[href*="javascript"]{
58
+ outline:5px solid yellow;
59
+ }
60
+
61
+
62
+ /**
63
+ * The `target` attribute ain’t too nice...
64
+ */
65
+ a[target]{
66
+ outline:5px solid yellow;
67
+ }
68
+
69
+
70
+ /**
71
+ * Ensure any lists only contain `li`s as children.
72
+ */
73
+ ul,
74
+ ol{
75
+ > *:not(li){
76
+ outline:5px solid red;
77
+ }
78
+ }
79
+
80
+
81
+ /**
82
+ * It’s always nice to give `th`s `scope` attributes.
83
+ */
84
+ th{
85
+ outline:5px solid yellow;
86
+ }
87
+ th[scope]{
88
+ outline:none;
89
+ }
90
+
91
+
92
+ /**
93
+ * `tr`s as children of `table`s ain’t great, did you need a `thead`/`tbody`?
94
+ */
95
+ table > tr{
96
+ outline:5px solid yellow;
97
+ }
98
+
99
+
100
+ /**
101
+ * `tfoot` needs to come *before* `tbody`.
102
+ */
103
+ tbody + tfoot{
104
+ outline:5px solid yellow;
105
+ }
106
+
107
+
108
+ /**
109
+ * Forms require `action` attributes
110
+ */
111
+ form{
112
+ outline:5px solid red;
113
+ }
114
+ form[action]{
115
+ outline:none;
116
+ }
117
+
118
+
119
+ /**
120
+ * Various form-field types have required attributes. `input`s need `type`
121
+ * attributes, `textarea`s need `rows` and `cols` attributes and submit buttons
122
+ * need a `value` attribute.
123
+ */
124
+ textarea,
125
+ input{
126
+ outline:5px solid red;
127
+ }
128
+ input[type]{
129
+ outline:none;
130
+ }
131
+ textarea[rows][cols]{
132
+ outline:none;
133
+ }
134
+ input[type=submit]{
135
+ outline:5px solid red;
136
+ }
137
+ input[type=submit][value]{
138
+ outline:none;
139
+ }
140
+
141
+
142
+ /**
143
+ * Avoid inline styles where possible.
144
+ */
145
+ [style]{
146
+ outline:5px solid yellow;
147
+ }
148
+
149
+
150
+ /**
151
+ * You should avoid using IDs for CSS, is this doing any styling?
152
+ */
153
+ [id]{
154
+ outline:5px solid yellow;
155
+ }
156
+
157
+
158
+ /**
159
+ * Are you using the grid system correctly?
160
+ */
161
+ .gw > :not(.g),
162
+ .grid-wrapper > :not(.grid),
163
+ .gw--rev > :not(.g),
164
+ .grid-wrapper--rev > :not(.grid){
165
+ outline:5px solid red;
166
+ }
167
+
168
+ }/* endif */
@@ -0,0 +1,184 @@
1
+ /*------------------------------------*\
2
+ $HELPER
3
+ \*------------------------------------*/
4
+ /**
5
+ * A series of helper classes to use arbitrarily. Only use a helper class if an
6
+ * element/component doesn’t already have a class to which you could apply this
7
+ * styling, e.g. if you need to float `.main-nav` left then add `float:left;` to
8
+ * that ruleset as opposed to adding the `.float--left` class to the markup.
9
+ *
10
+ * A lot of these classes carry `!important` as you will always want them to win
11
+ * out over other selectors.
12
+ */
13
+
14
+
15
+ /**
16
+ * Add/remove floats
17
+ */
18
+ .float--right { float:right!important; }
19
+ .float--left { float:left !important; }
20
+ .float--none { float:none !important; }
21
+
22
+
23
+ /**
24
+ * Text alignment
25
+ */
26
+ .text--left { text-align:left !important; }
27
+ .text--center { text-align:center!important; }
28
+ .text--right { text-align:right !important; }
29
+
30
+
31
+ /**
32
+ * Font weights
33
+ */
34
+ .weight--light { font-weight:300!important; }
35
+ .weight--normal { font-weight:400!important; }
36
+ .weight--semibold { font-weight:600!important; }
37
+
38
+
39
+ /**
40
+ * Add/remove margins
41
+ */
42
+ .push { margin: $base-spacing-unit!important; }
43
+ .push--top { margin-top: $base-spacing-unit!important; }
44
+ .push--right { margin-right: $base-spacing-unit!important; }
45
+ .push--bottom { margin-bottom:$base-spacing-unit!important; }
46
+ .push--left { margin-left: $base-spacing-unit!important; }
47
+ .push--ends { margin-top: $base-spacing-unit!important; margin-bottom:$base-spacing-unit!important; }
48
+ .push--sides { margin-right: $base-spacing-unit!important; margin-left: $base-spacing-unit!important; }
49
+
50
+ .push-half { margin: $half-spacing-unit!important; }
51
+ .push-half--top { margin-top: $half-spacing-unit!important; }
52
+ .push-half--right { margin-right: $half-spacing-unit!important; }
53
+ .push-half--bottom { margin-bottom:$half-spacing-unit!important; }
54
+ .push-half--left { margin-left: $half-spacing-unit!important; }
55
+ .push-half--ends { margin-top: $half-spacing-unit!important; margin-bottom:$half-spacing-unit!important; }
56
+ .push-half--sides { margin-right: $half-spacing-unit!important; margin-left: $half-spacing-unit!important; }
57
+
58
+ .flush { margin: 0!important; }
59
+ .flush--top { margin-top: 0!important; }
60
+ .flush--right { margin-right: 0!important; }
61
+ .flush--bottom { margin-bottom:0!important; }
62
+ .flush--left { margin-left: 0!important; }
63
+ .flush--ends { margin-top: 0!important; margin-bottom:0!important; }
64
+ .flush--sides { margin-right: 0!important; margin-left: 0!important; }
65
+
66
+
67
+ /**
68
+ * Add/remove paddings
69
+ */
70
+ .soft { padding: $base-spacing-unit!important; }
71
+ .soft--top { padding-top: $base-spacing-unit!important; }
72
+ .soft--right { padding-right: $base-spacing-unit!important; }
73
+ .soft--bottom { padding-bottom:$base-spacing-unit!important; }
74
+ .soft--left { padding-left: $base-spacing-unit!important; }
75
+ .soft--ends { padding-top: $base-spacing-unit!important; padding-bottom:$base-spacing-unit!important; }
76
+ .soft--sides { padding-right: $base-spacing-unit!important; padding-left: $base-spacing-unit!important; }
77
+
78
+ .soft-half { padding: $half-spacing-unit!important; }
79
+ .soft-half--top { padding-top: $half-spacing-unit!important; }
80
+ .soft-half--right { padding-right: $half-spacing-unit!important; }
81
+ .soft-half--bottom { padding-bottom:$half-spacing-unit!important; }
82
+ .soft-half--left { padding-left: $half-spacing-unit!important; }
83
+ .soft-half--ends { padding-top: $half-spacing-unit!important; padding-bottom:$half-spacing-unit!important; }
84
+ .soft-half--sides { padding-right: $half-spacing-unit!important; padding-left: $half-spacing-unit!important; }
85
+
86
+ .hard { padding: 0!important; }
87
+ .hard--top { padding-top: 0!important; }
88
+ .hard--right { padding-right: 0!important; }
89
+ .hard--bottom { padding-bottom:0!important; }
90
+ .hard--left { padding-left: 0!important; }
91
+ .hard--ends { padding-top: 0!important; padding-bottom:0!important; }
92
+ .hard--sides { padding-right: 0!important; padding-left: 0!important; }
93
+
94
+
95
+ /**
96
+ * Pull items full width of `.island` parents.
97
+ */
98
+ .full-bleed{
99
+ margin-right:-$base-spacing-unit!important;
100
+ margin-left: -$base-spacing-unit!important;
101
+
102
+ .islet &{
103
+ margin-right:-($half-spacing-unit)!important;
104
+ margin-left: -($half-spacing-unit)!important;
105
+ }
106
+ }
107
+
108
+
109
+ /**
110
+ * Add a help cursor to any element that gives the user extra information on
111
+ * `:hover`.
112
+ */
113
+ .informative{
114
+ cursor:help!important;
115
+ }
116
+
117
+
118
+ /**
119
+ * Mute an object by reducing its opacity.
120
+ */
121
+ .muted{
122
+ opacity:0.5!important;
123
+ filter:alpha(opacity = 50)!important;
124
+ }
125
+
126
+
127
+ /**
128
+ * Align items to the right where they imply progression/movement forward, e.g.:
129
+ *
130
+ <p class=proceed><a href=#>Read more...</a></p>
131
+ *
132
+ */
133
+ .proceed{
134
+ text-align:right!important;
135
+ }
136
+
137
+
138
+ /**
139
+ * Add a right-angled quote to links that imply movement, e.g.:
140
+ *
141
+ <a href=# class=go>Read more</a>
142
+ *
143
+ */
144
+ .go:after{
145
+ content:"\00A0" "\00BB"!important;
146
+ }
147
+
148
+
149
+ /**
150
+ * Apply capital case to an element (usually a `strong`).
151
+ */
152
+ .caps{
153
+ text-transform:uppercase!important;
154
+ }
155
+
156
+
157
+ /**
158
+ * Hide content off-screen without resorting to `display:none;`, also provide
159
+ * breakpoint specific hidden elements.
160
+ */
161
+ @mixin accessibility{
162
+ border:0!important;
163
+ clip:rect(0 0 0 0)!important;
164
+ height:1px!important;
165
+ margin:-1px!important;
166
+ overflow:hidden!important;
167
+ padding:0!important;
168
+ position: absolute!important;
169
+ width:1px!important;
170
+ }
171
+ .accessibility,
172
+ .visuallyhidden{
173
+ @include accessibility;
174
+ }
175
+ @if $responsive{
176
+ @each $state in palm, lap, lap-and-up, portable, desk, desk-wide{
177
+ @include media-query(#{$state}){
178
+ .accessibility--#{$state},
179
+ .visuallyhidden--#{$state}{
180
+ @include accessibility;
181
+ }
182
+ }
183
+ }
184
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Make elements into inline-block with IE7 fix. Use it only when you need to make a
3
+ * block level element inline-block. Elements that are inline by default won't need the
4
+ * IE7 fix.
5
+ *
6
+ * Usage @extend %nlineBlockFix;
7
+ *
8
+ */
9
+
10
+ %inline_block_fix {
11
+ display: inline-block;
12
+ *display: inline;
13
+ *zoom: 1;
14
+ }
@@ -0,0 +1,13 @@
1
+ /*------------------------------------*\
2
+ $inline_block_whitespace_fix
3
+ \*------------------------------------*/
4
+
5
+ %remove_inline_block_whitespace{
6
+ letter-spacing: -0.31em;
7
+ word-spacing: -0.43em;
8
+ }
9
+
10
+ %recover_whitespace{
11
+ letter-spacing:normal;
12
+ word-spacing:normal;
13
+ }
@@ -0,0 +1,341 @@
1
+ /*------------------------------------*\
2
+ $MIXINS
3
+ \*------------------------------------*/
4
+ /**
5
+ * Create a fully formed type style (sizing and vertical rhythm) by passing in a
6
+ * single value, e.g.:
7
+ *
8
+ `@include font-size(10px);`
9
+ *
10
+ * Thanks to @redclov3r for the `line-height` Sass:
11
+ * twitter.com/redclov3r/status/250301539321798657
12
+ */
13
+ @mixin font-size($font-size, $line-height:true){
14
+ font-size:$font-size;
15
+ font-size:($font-size / $base-font-size)*1rem;
16
+ @if $line-height == true{
17
+ line-height:ceil($font-size / $base-line-height) * ($base-line-height / $font-size);
18
+ }
19
+ }
20
+
21
+ /**
22
+ * Create a fully formed button style (line height and padding) by passing in a
23
+ * single value, e.g.:
24
+ *
25
+ `@include line-height(3);`
26
+ */
27
+
28
+ @mixin line-height($line-height){
29
+ line-height:$line-height;
30
+ padding-right:(($line-height - 1) / 2 )*1em;
31
+ padding-left:(($line-height - 1) / 2 )*1em;
32
+ }
33
+
34
+
35
+ /**
36
+ * Style any number of headings in one fell swoop, e.g.:
37
+ *
38
+ .foo{
39
+ @include headings(1, 3){
40
+ color:#BADA55;
41
+ }
42
+ }
43
+ *
44
+ * With thanks to @lar_zzz, @paranoida, @rowanmanning and ultimately
45
+ * @thierrylemoulec for refining and improving my initial mixin.
46
+ */
47
+ @mixin headings($from: 1, $to: 6){
48
+ %base-heading {
49
+ @content
50
+ }
51
+
52
+ @if $from >= 1 and $to <= 6{
53
+ @for $i from $from through $to{
54
+ h#{$i}{
55
+ @extend %base-heading;
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+
62
+ /**
63
+ * Create vendor-prefixed CSS in one go, e.g.
64
+ *
65
+ `@include vendor(border-radius, 4px);`
66
+ *
67
+ */
68
+ @mixin vendor($property, $value...){
69
+ -webkit-#{$property}:$value;
70
+ -moz-#{$property}:$value;
71
+ -ms-#{$property}:$value;
72
+ -o-#{$property}:$value;
73
+ #{$property}:$value;
74
+ }
75
+
76
+
77
+ /**
78
+ * Create CSS keyframe animations for all vendors in one go, e.g.:
79
+ *
80
+ .foo{
81
+ @include vendor(animation, shrink 3s);
82
+ }
83
+
84
+ @include keyframe(shrink){
85
+ from{
86
+ font-size:5em;
87
+ }
88
+ }
89
+ *
90
+ * Courtesy of @integralist: twitter.com/integralist/status/260484115315437569
91
+ */
92
+ @mixin keyframe ($animation-name){
93
+ @-webkit-keyframes $animation-name{
94
+ @content;
95
+ }
96
+
97
+ @-moz-keyframes $animation-name{
98
+ @content;
99
+ }
100
+
101
+ @-ms-keyframes $animation-name{
102
+ @content;
103
+ }
104
+
105
+ @-o-keyframes $animation-name{
106
+ @content;
107
+ }
108
+
109
+ @keyframes $animation-name{
110
+ @content;
111
+ }
112
+ }
113
+
114
+
115
+ /**
116
+ * Force overly long spans of text to truncate, e.g.:
117
+ *
118
+ `@include truncate(100%);`
119
+ *
120
+ * Where `$truncation-boundary` is a united measurement.
121
+ */
122
+ @mixin truncate($truncation-boundary){
123
+ max-width:$truncation-boundary;
124
+ white-space:nowrap;
125
+ overflow:hidden;
126
+ text-overflow:ellipsis;
127
+ }
128
+
129
+
130
+ /**
131
+ * CSS arrows!!! But... before you read on, you might want to grab a coffee...
132
+ *
133
+ * This mixin creates a CSS arrow on a given element. We can have the arrow
134
+ * appear in one of 12 locations, thus:
135
+ *
136
+ * 01 02 03
137
+ * +------------------+
138
+ * 12 | | 04
139
+ * | |
140
+ * 11 | | 05
141
+ * | |
142
+ * 10 | | 06
143
+ * +------------------+
144
+ * 09 08 07
145
+ *
146
+ * You pass this position in along with a desired arrow color and optional
147
+ * border color, for example:
148
+ *
149
+ * `@include arrow(top, left, red)`
150
+ *
151
+ * for just a single, red arrow, or:
152
+ *
153
+ * `@include arrow(bottom, center, red, black)`
154
+ *
155
+ * which will create a red triangle with a black border which sits at the bottom
156
+ * center of the element. Call the mixin thus:
157
+ *
158
+ .foo{
159
+ background-color:#BADA55;
160
+ border:1px solid #ACE;
161
+ @include arrow(top, left, #BADA55, #ACE);
162
+ }
163
+ *
164
+ */
165
+ @mixin arrow($arrow-edge, $arrow-location, $arrow-color, $border-color: $arrow-color){
166
+
167
+ @if $arrow-edge == top{
168
+
169
+ @extend %arrow--top;
170
+
171
+ &:before{
172
+ border-bottom-color:$border-color!important;
173
+ }
174
+
175
+ &:after{
176
+ border-bottom-color:$arrow-color!important;
177
+ }
178
+
179
+ @if $arrow-location == left{
180
+ @extend %arrow--left;
181
+ }
182
+
183
+ @if $arrow-location == center{
184
+ @extend %arrow--center;
185
+ }
186
+
187
+ @if $arrow-location == right{
188
+ @extend %arrow--right;
189
+ }
190
+
191
+ }
192
+
193
+ @if $arrow-edge == right{
194
+
195
+ @extend %arrow--far;
196
+
197
+ &:before{
198
+ border-left-color:$border-color!important;
199
+ }
200
+
201
+ &:after{
202
+ border-left-color:$arrow-color!important;
203
+ }
204
+
205
+ @if $arrow-location == top{
206
+ @extend %arrow--upper;
207
+ }
208
+
209
+ @if $arrow-location == center{
210
+ @extend %arrow--middle;
211
+ }
212
+
213
+ @if $arrow-location == bottom{
214
+ @extend %arrow--lower;
215
+ }
216
+
217
+ }
218
+
219
+ @if $arrow-edge == bottom{
220
+
221
+ @extend %arrow--bottom;
222
+
223
+ &:before{
224
+ border-top-color:$border-color!important;
225
+ }
226
+
227
+ &:after{
228
+ border-top-color:$arrow-color!important;
229
+ }
230
+
231
+ @if $arrow-location == left{
232
+ @extend %arrow--left;
233
+ }
234
+
235
+ @if $arrow-location == center{
236
+ @extend %arrow--center;
237
+ }
238
+
239
+ @if $arrow-location == right{
240
+ @extend %arrow--right;
241
+ }
242
+
243
+ }
244
+
245
+ @if $arrow-edge == left{
246
+
247
+ @extend %arrow--near;
248
+
249
+ &:before{
250
+ border-right-color:$border-color!important;
251
+ }
252
+
253
+ &:after{
254
+ border-right-color:$arrow-color!important;
255
+ }
256
+
257
+ @if $arrow-location == top{
258
+ @extend %arrow--upper;
259
+ }
260
+
261
+ @if $arrow-location == center{
262
+ @extend %arrow--middle;
263
+ }
264
+
265
+ @if $arrow-location == bottom{
266
+ @extend %arrow--lower;
267
+ }
268
+
269
+ }
270
+
271
+ }
272
+
273
+
274
+ /**
275
+ * Media query mixin.
276
+ *
277
+ * It’s not great practice to define solid breakpoints up-front, preferring to
278
+ * modify your design when it needs it, rather than assuming you’ll want a
279
+ * change at ‘mobile’. However, as inuit.css is required to take a hands off
280
+ * approach to design decisions, this is the closest we can get to baked-in
281
+ * responsiveness. It’s flexible enough to allow you to set your own breakpoints
282
+ * but solid enough to be frameworkified.
283
+ *
284
+ * We define some broad breakpoints in our vars file that are picked up here
285
+ * for use in a simple media query mixin. Our options are:
286
+ *
287
+ * palm
288
+ * lap
289
+ * lap-and-up
290
+ * portable
291
+ * desk
292
+ * desk-wide
293
+ *
294
+ * Not using a media query will, naturally, serve styles to all devices.
295
+ *
296
+ * `@include media-query(palm){ [styles here] }`
297
+ *
298
+ * We work out your end points for you:
299
+ */
300
+ $palm-end: $lap-start - 1px;
301
+ $lap-end: $desk-start - 1px;
302
+
303
+ @mixin media-query($media-query){
304
+
305
+ @if $media-query == palm{
306
+
307
+ @media only screen and (max-width:$palm-end) { @content; }
308
+
309
+ }
310
+
311
+ @if $media-query == lap{
312
+
313
+ @media only screen and (min-width:$lap-start) and (max-width:$lap-end) { @content; }
314
+
315
+ }
316
+
317
+ @if $media-query == lap-and-up{
318
+
319
+ @media only screen and (min-width:$lap-start) { @content; }
320
+
321
+ }
322
+
323
+ @if $media-query == portable{
324
+
325
+ @media only screen and (max-width:$lap-end) { @content; }
326
+
327
+ }
328
+
329
+ @if $media-query == desk{
330
+
331
+ @media only screen and (min-width:$desk-start) { @content; }
332
+
333
+ }
334
+
335
+ @if $media-query == desk-wide{
336
+
337
+ @media only screen and (min-width: $desk-wide-start) { @content; }
338
+
339
+ }
340
+
341
+ }