fortitude-sass 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.npmignore +9 -0
  4. data/.scss-lint.yml +13 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +48 -0
  7. data/README.md +19 -0
  8. data/app/assets/javascripts/fortitude/jquery/blocks/flashbar.js +13 -0
  9. data/app/assets/javascripts/fortitude/jquery/blocks/select-input.js +26 -0
  10. data/app/assets/javascripts/fortitude/jquery/blocks/shade.js +48 -0
  11. data/app/assets/javascripts/fortitude/jquery/generic/transition-end.js +50 -0
  12. data/app/assets/javascripts/fortitude/jquery/generic/viewport.js +7 -0
  13. data/app/assets/javascripts/fortitude/jquery/index.js +3 -0
  14. data/app/assets/javascripts/fortitude.jquery.js +45 -0
  15. data/app/assets/stylesheets/fortitude/base/_hr.scss +10 -0
  16. data/app/assets/stylesheets/fortitude/base/_images.scss +32 -0
  17. data/app/assets/stylesheets/fortitude/base/_lists.scss +15 -0
  18. data/app/assets/stylesheets/fortitude/base/_page.scss +28 -0
  19. data/app/assets/stylesheets/fortitude/blocks/_badge.scss +141 -0
  20. data/app/assets/stylesheets/fortitude/blocks/_bare-list.scss +17 -0
  21. data/app/assets/stylesheets/fortitude/blocks/_block-list.scss +83 -0
  22. data/app/assets/stylesheets/fortitude/blocks/_box.scss +23 -0
  23. data/app/assets/stylesheets/fortitude/blocks/_button.scss +229 -0
  24. data/app/assets/stylesheets/fortitude/blocks/_container.scss +67 -0
  25. data/app/assets/stylesheets/fortitude/blocks/_flag.scss +426 -0
  26. data/app/assets/stylesheets/fortitude/blocks/_flashbar.scss +22 -0
  27. data/app/assets/stylesheets/fortitude/blocks/_fluid-container.scss +12 -0
  28. data/app/assets/stylesheets/fortitude/blocks/_inline-list.scss +19 -0
  29. data/app/assets/stylesheets/fortitude/blocks/_input.scss +377 -0
  30. data/app/assets/stylesheets/fortitude/blocks/_layout.scss +288 -0
  31. data/app/assets/stylesheets/fortitude/blocks/_list-navigation.scss +34 -0
  32. data/app/assets/stylesheets/fortitude/blocks/_media.scss +289 -0
  33. data/app/assets/stylesheets/fortitude/blocks/_shade.scss +51 -0
  34. data/app/assets/stylesheets/fortitude/blocks/_table.scss +31 -0
  35. data/app/assets/stylesheets/fortitude/blocks/_tabs-navigation.scss +58 -0
  36. data/app/assets/stylesheets/fortitude/blocks/_tabs.scss +19 -0
  37. data/app/assets/stylesheets/fortitude/blocks/_text.scss +67 -0
  38. data/app/assets/stylesheets/fortitude/blocks/_ui-list.scss +97 -0
  39. data/app/assets/stylesheets/fortitude/generic/_box-sizing.scss +23 -0
  40. data/app/assets/stylesheets/fortitude/generic/_clearfix.scss +3 -0
  41. data/app/assets/stylesheets/fortitude/generic/_normalize.scss +200 -0
  42. data/app/assets/stylesheets/fortitude/generic/_reset.scss +53 -0
  43. data/app/assets/stylesheets/fortitude/settings/_defaults.scss +58 -0
  44. data/app/assets/stylesheets/fortitude/tools/_functions.scss +115 -0
  45. data/app/assets/stylesheets/fortitude/tools/_mixins.scss +58 -0
  46. data/app/assets/stylesheets/fortitude/trumps/_responsive-border.scss +35 -0
  47. data/app/assets/stylesheets/fortitude/trumps/_responsive-column.scss +37 -0
  48. data/app/assets/stylesheets/fortitude/trumps/_responsive-display.scss +35 -0
  49. data/app/assets/stylesheets/fortitude/trumps/_responsive-float.scss +13 -0
  50. data/app/assets/stylesheets/fortitude/trumps/_responsive-font.scss +13 -0
  51. data/app/assets/stylesheets/fortitude/trumps/_responsive-height.scss +13 -0
  52. data/app/assets/stylesheets/fortitude/trumps/_responsive-line-height.scss +13 -0
  53. data/app/assets/stylesheets/fortitude/trumps/_responsive-margin.scss +129 -0
  54. data/app/assets/stylesheets/fortitude/trumps/_responsive-padding.scss +65 -0
  55. data/app/assets/stylesheets/fortitude/trumps/_responsive-text.scss +17 -0
  56. data/app/assets/stylesheets/fortitude.scss +40 -0
  57. data/bin/fortitude +6 -0
  58. data/bower.json +43 -0
  59. data/config.rb +36 -0
  60. data/dist/fortitude.css +5242 -0
  61. data/dist/fortitude.css.map +7 -0
  62. data/dist/fortitude.jquery.js +45 -0
  63. data/fortitude-black.png +0 -0
  64. data/fortitude.gemspec +32 -0
  65. data/fortitude.png +0 -0
  66. data/lib/fortitude-sass/engine.rb +5 -0
  67. data/lib/fortitude-sass/generator.rb +80 -0
  68. data/lib/fortitude-sass/version.rb +3 -0
  69. data/lib/fortitude-sass.rb +27 -0
  70. data/lib/tasks/install.rake +20 -0
  71. data/package.json +24 -0
  72. metadata +187 -0
@@ -0,0 +1,17 @@
1
+ /*------------------------------------*\
2
+ #BARE-LIST
3
+ \*------------------------------------*/
4
+
5
+ /**
6
+ * The bare-list object simply removes any indents and bullet points from lists.
7
+ */
8
+
9
+ @mixin fortitude-bare-list {
10
+ margin: 0;
11
+ padding: 0;
12
+ list-style: none;
13
+ }
14
+
15
+ .#{$fortitude-namespace}bare-list {
16
+ @include fortitude-bare-list;
17
+ }
@@ -0,0 +1,83 @@
1
+ /*------------------------------------*\
2
+ #BLOCK-LIST
3
+ \*------------------------------------*/
4
+
5
+ /**
6
+ * The block list object creates blocky list items out of a `ul` or `ol`.
7
+ */
8
+
9
+ // Predefine the variables below in order to alter and enable specific features.
10
+ $fortitude-block-list-padding: $fortitude-base-spacing-unit !default;
11
+ $fortitude-block-list-padding--small: halve($fortitude-block-list-padding) !default;
12
+ $fortitude-block-list-padding--large: double($fortitude-block-list-padding) !default;
13
+
14
+ $fortitude-enable-block-list--small: false !default;
15
+ $fortitude-enable-block-list--large: false !default;
16
+
17
+ @mixin fortitude-block-list {
18
+ margin: 0;
19
+ padding: 0;
20
+ list-style: none;
21
+ }
22
+
23
+ @mixin fortitude-block-list__item($extension: null) {
24
+ @if ($extension == small) {
25
+ @include fortitude-block-list--small__item;
26
+ } @else if ($extension == large) {
27
+ @include fortitude-block-list--large__item;
28
+ } @else {
29
+ padding: $fortitude-block-list-padding;
30
+ }
31
+ }
32
+
33
+ @mixin fortitude-block-list--small__item {
34
+ padding: $fortitude-block-list-padding--small;
35
+ }
36
+
37
+ @mixin fortitude-block-list--large__item {
38
+ padding: $fortitude-block-list-padding--large;
39
+ }
40
+
41
+ .#{$fortitude-namespace}block-list {
42
+ @include fortitude-block-list;
43
+ }
44
+
45
+ .#{$fortitude-namespace}block-list__item {
46
+ @include fortitude-block-list__item;
47
+ }
48
+
49
+
50
+
51
+
52
+
53
+ @if ($fortitude-enable-block-list--small == true) {
54
+
55
+ /**
56
+ * Small block-lists.
57
+ */
58
+
59
+ .#{$fortitude-namespace}block-list--small {
60
+ > .#{$fortitude-namespace}block-list__item {
61
+ @include fortitude-block-list--small__item;
62
+ }
63
+ }
64
+
65
+ }
66
+
67
+
68
+
69
+
70
+
71
+ @if ($fortitude-enable-block-list--large == true) {
72
+
73
+ /**
74
+ * Large block-lists.
75
+ */
76
+
77
+ .#{$fortitude-namespace}block-list--large {
78
+ > .#{$fortitude-namespace}block-list__item {
79
+ @include fortitude-block-list--large__item;
80
+ }
81
+ }
82
+
83
+ }
@@ -0,0 +1,23 @@
1
+ /*------------------------------------*\
2
+ #BOX
3
+ \*------------------------------------*/
4
+
5
+ /**
6
+ * The box object simply boxes off content.
7
+ */
8
+
9
+
10
+
11
+
12
+
13
+ @mixin fortitude-box {
14
+ /**
15
+ * 1. So we can apply the `.box` class to naturally-inline elements.
16
+ */
17
+ @include fortitude-clearfix;
18
+ display: block; /* [1] */
19
+ }
20
+
21
+ .#{$fortitude-namespace}box {
22
+ @include fortitude-box;
23
+ }
@@ -0,0 +1,229 @@
1
+ /*------------------------------------*\
2
+ #BUTTON
3
+ \*------------------------------------*/
4
+
5
+ /**
6
+ * A simple button object.
7
+ */
8
+
9
+ // Predefine the variables below in order to alter and enable specific features.
10
+ $fortitude-button-border-width: 0.1rem !default;
11
+ $fortitude-button-border-style: solid !default;
12
+ $fortitude-button-border-radius: 0.2rem !default;
13
+
14
+ $fortitude-button-height: $fortitude-base-spacing-unit + 1.6rem !default;
15
+ $fortitude-button-horizontal-padding: fortitude-block-padding($fortitude-button-height, $fortitude-button-border-width) * 2 !default;
16
+ $fortitude-button-height--small: $fortitude-base-spacing-unit + 1.0rem !default;
17
+ $fortitude-button-horizontal-padding--small: fortitude-block-padding($fortitude-button-height--small, $fortitude-button-border-width) * 2 !default;
18
+ $fortitude-button-height--large: double($fortitude-base-spacing-unit) + 2.0rem !default;
19
+ $fortitude-button-horizontal-padding--large: fortitude-block-padding($fortitude-button-height--large, $fortitude-button-border-width) * 2 !default;
20
+
21
+ $fortitude-enable-button--small: false !default;
22
+ $fortitude-enable-button--large: false !default;
23
+ $fortitude-enable-button--full: false !default;
24
+ $fortitude-enable-button--pill: false !default;
25
+
26
+
27
+
28
+
29
+
30
+ // Here we set a variable assuming that `box-sizing: border-box;` is not set
31
+ // globally. If it has been previously been defined, the following variable will
32
+ // be overriden and will be set to `true`.
33
+ $fortitude-global-border-box: false !default;
34
+
35
+
36
+
37
+
38
+ @mixin fortitude-button($extension: null) {
39
+ /**
40
+ * 1. Allow us to style box model properties.
41
+ * 2. Line different sized buttons up a little nicer.
42
+ * 3. Make buttons inherit font styles (often necessary when styling `input`s as
43
+ * buttons).
44
+ * 4. Reset/normalize some styles.
45
+ * 5. Force all button-styled elements to appear clickable.
46
+ * 6. Fixes odd inner spacing in IE7.
47
+ * 7. Subtract the border size from the padding value so that buttons do not
48
+ * grow larger as we add borders.
49
+ * 8. Set badge text to nowrap.
50
+ * 9. set position: relative in case if button has a `button__target`
51
+ * the position of the target will be inside of the button.
52
+ * 10. Required to combine fluid widths and fixed gutters.
53
+ */
54
+ display: inline-block; /* [1] */
55
+ vertical-align: middle; /* [2] */
56
+ font: inherit; /* [3] */
57
+ font-size: $fortitude-base-font-size;
58
+ text-align: center; /* [4] */
59
+ cursor: pointer; /* [5] */
60
+ overflow: visible; /* [6] */
61
+ white-space: nowrap; /* [8] */
62
+ position: relative; /* [9] */
63
+
64
+ @if ($extension == small) {
65
+ @include fortitude-button--small;
66
+ } @else if ($extension == large) {
67
+ @include fortitude-button--large;
68
+ } @else {
69
+ margin: fortitude-block-margin($fortitude-button-height, $fortitude-button-border-width) 0; /* [4] */
70
+ padding: fortitude-block-padding($fortitude-button-height, $fortitude-button-border-width) $fortitude-button-horizontal-padding; /* [7] */
71
+ }
72
+
73
+ @if($fortitude-button-border-width != 0) {
74
+ border: $fortitude-button-border-width $fortitude-button-border-style transparent;
75
+ } @else {
76
+ border: 0; /* [4] */
77
+ }
78
+
79
+ @if ($extension == pill) {
80
+ @include fortitude-button--pill;
81
+ } @else if($fortitude-button-border-radius != 0) {
82
+ border-radius: $fortitude-button-border-radius;
83
+ }
84
+
85
+ @if ($extension == full) {
86
+ @include fortitude-button--full;
87
+ }
88
+
89
+ @if $fortitude-global-border-box == false {
90
+ box-sizing: border-box; /* [10] */
91
+ }
92
+
93
+ &,
94
+ &:hover,
95
+ &:active,
96
+ &:focus,
97
+ &:visited {
98
+ text-decoration: none; /* [4] */
99
+ }
100
+
101
+ &::-moz-focus-inner {
102
+ /**
103
+ * Fix a Firefox bug whereby `input type="submit"` gains 0.2rem extra padding.
104
+ */
105
+ border: 0;
106
+ padding: 0;
107
+ }
108
+ }
109
+
110
+ @mixin fortitude-button--small {
111
+ /**
112
+ * 1. Reset/normalize some styles.
113
+ * 2. Subtract the border size from the padding value so that buttons do not
114
+ * grow larger as we add borders.
115
+ */
116
+ margin: fortitude-block-margin($fortitude-button-height--small, $fortitude-button-border-width) 0; /* [1] */
117
+ padding: fortitude-block-padding($fortitude-button-height--small, $fortitude-button-border-width) $fortitude-button-horizontal-padding--small; /* [2] */
118
+ }
119
+
120
+ @mixin fortitude-button--large {
121
+ /**
122
+ * 1. Reset/normalize some styles.
123
+ * 2. Subtract the border size from the padding value so that buttons do not
124
+ * grow larger as we add borders.
125
+ */
126
+ margin: fortitude-block-margin($fortitude-button-height--large, $fortitude-button-border-width) 0; /* [1] */
127
+ padding: fortitude-block-padding($fortitude-button-height--large, $fortitude-button-border-width) $fortitude-button-horizontal-padding--large; /* [2] */
128
+ }
129
+
130
+ @mixin fortitude-button--full {
131
+ width: 100%;
132
+
133
+ @if $fortitude-global-border-box == false {
134
+ /**
135
+ * Remove paddings so that widths and paddings don’t conflict.
136
+ */
137
+ padding-right: 0;
138
+ padding-left: 0;
139
+ }
140
+ }
141
+
142
+ @mixin fortitude-button--pill {
143
+ /**
144
+ * 1. Overly-large value to ensure the radius rounds the whole end of the
145
+ * button.
146
+ */
147
+ border-radius: 10rem; /* [1] */
148
+ }
149
+
150
+ @mixin fortitude-button__target {
151
+ position: absolute;
152
+ opacity: 0;
153
+ border: 0;
154
+ margin: 0;
155
+ padding: 0;
156
+ width: 100%;
157
+ height: 100%;
158
+ top: 0;
159
+ left: 0;
160
+ cursor: pointer;
161
+ }
162
+
163
+ .#{$fortitude-namespace}button {
164
+ @include fortitude-button;
165
+ }
166
+
167
+ .#{$fortitude-namespace}button__target {
168
+ @include fortitude-button__target;
169
+ }
170
+
171
+
172
+
173
+
174
+
175
+ @if ($fortitude-enable-button--small == true) {
176
+
177
+ /**
178
+ * Small buttons.
179
+ */
180
+
181
+ .#{$fortitude-namespace}button--small {
182
+ @include fortitude-button--small;
183
+ }
184
+
185
+ }
186
+
187
+ @if ($fortitude-enable-button--large == true) {
188
+
189
+ /**
190
+ * Large buttons.
191
+ */
192
+
193
+ .#{$fortitude-namespace}button--large {
194
+ @include fortitude-button--large;
195
+ }
196
+
197
+ }
198
+
199
+
200
+
201
+
202
+
203
+ @if ($fortitude-enable-button--full == true) {
204
+
205
+ /**
206
+ * Full-width buttons.
207
+ */
208
+
209
+ .#{$fortitude-namespace}button--full {
210
+ @include fortitude-button--full;
211
+ }
212
+
213
+ }
214
+
215
+
216
+
217
+
218
+
219
+ @if ($fortitude-enable-button--pill == true) {
220
+
221
+ /**
222
+ * Round-ended buttons.
223
+ */
224
+
225
+ .#{$fortitude-namespace}button--pill {
226
+ @include fortitude-button--pill;
227
+ }
228
+
229
+ }
@@ -0,0 +1,67 @@
1
+ /*------------------------------------*\
2
+ #CONTAINER
3
+ \*------------------------------------*/
4
+
5
+ $fortitude-container-breakpoints: (xs: 100%,
6
+ sm: 72rem + $fortitude-base-spacing-unit,
7
+ md: 94rem + $fortitude-base-spacing-unit,
8
+ lg: 114rem + $fortitude-base-spacing-unit) !default;
9
+ $fortitude-container-z-index: 2 !default;
10
+
11
+
12
+
13
+
14
+
15
+ // Here we set a variable assuming that `box-sizing: border-box;` is not set
16
+ // globally. If it has been previously been defined, the following variable will
17
+ // be overriden and will be set to `true`.
18
+ $fortitude-global-border-box: false !default;
19
+
20
+ @mixin fortitude-container {
21
+ @include fortitude-clearfix;
22
+
23
+ margin-right: auto;
24
+ margin-left: auto;
25
+ @each $alias, $breakpoint in $fortitude-breakpoints {
26
+ $query: fortitude-query($breakpoint);
27
+ // if there is no media query.
28
+ @if not $query {
29
+ width: map-get($fortitude-container-breakpoints, $alias);
30
+ }
31
+ // if there is a media query.
32
+ @else {
33
+ @media #{$query} {
34
+ width: map-get($fortitude-container-breakpoints, $alias);
35
+ }
36
+ }
37
+ }
38
+
39
+ @if $fortitude-global-border-box == false {
40
+ box-sizing: border-box; /* [10] */
41
+ }
42
+ }
43
+
44
+ @mixin fortitude-container--fixed-top {
45
+ position: fixed;
46
+ z-index: $fortitude-container-z-index;
47
+ top: 0;
48
+ }
49
+
50
+ @mixin fortitude-container--absolute-top {
51
+ position: absolute;
52
+ z-index: $fortitude-container-z-index;
53
+ top: 0;
54
+ }
55
+
56
+ .#{$fortitude-namespace}container {
57
+ @include fortitude-container;
58
+ }
59
+
60
+
61
+ .#{$fortitude-namespace}container--fixed-top {
62
+ @include fortitude-container--fixed-top;
63
+ }
64
+
65
+ .#{$fortitude-namespace}container--absolute-top {
66
+ @include fortitude-container--absolute-top;
67
+ }
@@ -0,0 +1,426 @@
1
+ /*------------------------------------*\
2
+ #FLAG
3
+ \*------------------------------------*/
4
+
5
+ /**
6
+ * The flag object is a design pattern similar to the media object, however it
7
+ * utilises `display: table[-cell];` to give us control over the vertical
8
+ * alignments of the text and image. csswizardry.com/2013/05/the-flag-object
9
+ */
10
+
11
+ // Predefine the variables below in order to alter and enable specific features.
12
+ $fortitude-flag-gutter: $fortitude-base-spacing-unit !default;
13
+ $fortitude-flag-gutter--small: halve($fortitude-flag-gutter) !default;
14
+ $fortitude-flag-gutter--large: double($fortitude-flag-gutter) !default;
15
+
16
+ $fortitude-enable-flag--small: false !default;
17
+ $fortitude-enable-flag--large: false !default;
18
+ $fortitude-enable-flag--rev: false !default;
19
+ $fortitude-enable-flag--flush: false !default;
20
+ $fortitude-enable-flag--top: false !default;
21
+ $fortitude-enable-flag--bottom: false !default;
22
+ $fortitude-enable-flag--responsive: false !default;
23
+ $fortitude-flag-collapse-at: 720px !default;
24
+
25
+
26
+
27
+
28
+
29
+ @mixin fortitude-flag {
30
+ /**
31
+ * 1. Allows us to control vertical alignments
32
+ * 2. Force the object to be the full width of its parent. Combined with [1],
33
+ * this makes the object behave in a quasi-`display: block;` manner.
34
+ */
35
+ display: table; /* [1] */
36
+ width: 100%; /* [2] */
37
+ }
38
+
39
+ @mixin fortitude-flag__object {
40
+ /**
41
+ * 1. Default to aligning content to their middles.
42
+ */
43
+ display: table-cell;
44
+ vertical-align: middle; /* [1] */
45
+ padding-right: $fortitude-flag-gutter;
46
+
47
+ > img {
48
+ display: block;
49
+ margin-left: auto;
50
+ margin-right: auto;
51
+ max-width: none;
52
+ }
53
+
54
+ }
55
+
56
+ @mixin fortitude-flag__body {
57
+ /**
58
+ * The container for the main content of the flag object.
59
+ *
60
+ * 1. Forces the `.flag__body` to take up all remaining space.
61
+ * 2. Default to aligning content to their middles.
62
+ */
63
+
64
+ display: table-cell;
65
+ width: 100%; /* [1] */
66
+ vertical-align: middle; /* [2] */
67
+ }
68
+
69
+ @mixin fortitude-flag--small__object {
70
+ padding-right: $fortitude-flag-gutter--small;
71
+ }
72
+
73
+ @mixin fortitude-flag--small--rev__object {
74
+ padding-right: 0;
75
+ padding-left: $fortitude-flag-gutter--small;
76
+ }
77
+
78
+ @mixin fortitude-flag--large__object {
79
+ padding-right: $fortitude-flag-gutter--large;
80
+ }
81
+
82
+ @mixin fortitude-flag--large--rev__object {
83
+ padding-right: 0;
84
+ padding-left: $fortitude-flag-gutter--large;
85
+ }
86
+
87
+ @mixin fortitude-flag--rev {
88
+ /**
89
+ * 1. Swap the rendered direction of the object…
90
+ */
91
+
92
+ direction: rtl; /* [1] */
93
+ }
94
+
95
+ @mixin fortitude-flag--rev__object {
96
+ /**
97
+ * 1. Swap the rendered direction of the object…
98
+ * 2. …and reset it.
99
+ * 3. Reassign margins to the correct sides.
100
+ */
101
+
102
+ direction: ltr; /* [2] */
103
+ padding-right: 0; /* [3] */
104
+ padding-left: $fortitude-flag-gutter; /* [3] */
105
+ }
106
+
107
+ @mixin fortitude-flag--rev__body {
108
+ /**
109
+ * 2. …and reset it.
110
+ */
111
+ direction: ltr; /* [2] */
112
+ }
113
+
114
+ @mixin fortitude-flag--flush__object {
115
+ padding-right: 0;
116
+ padding-left: 0;
117
+ }
118
+
119
+ @mixin fortitude-flag--top__object {
120
+ vertical-align: top;
121
+ }
122
+
123
+ @mixin fortitude-flag--top__body {
124
+ vertical-align: top;
125
+ }
126
+
127
+ @mixin fortitude-flag--bottom__object {
128
+ vertical-align: bottom;
129
+ }
130
+
131
+ @mixin fortitude-flag--bottom__body {
132
+ vertical-align: bottom;
133
+ }
134
+
135
+ @mixin fortitude-flag--responsive {
136
+ /**
137
+ * Responsive flag objects.
138
+ *
139
+ * There is a very pragmatic, simple implementation of a responsive flag
140
+ * object, which simply places the text-content beneath the image-content.
141
+ *
142
+ * We use a `max-width` media query because:
143
+ *
144
+ * a) it is the least verbose method in terms of amount of code required.
145
+ * b) the flag object’s default state is image-next-to-text, so its stacked
146
+ * state is the exception, rather than the rule.
147
+ */
148
+
149
+ @media screen and (max-width: $fortitude-flag-collapse-at) {
150
+ @if ($fortitude-enable-flag--rev == true) {
151
+ /**
152
+ * Disable reversal of content because there is no concept of
153
+ * ‘reversed’ in a stacked layout.
154
+ */
155
+ direction: ltr;
156
+ }
157
+
158
+ display: block;
159
+ @content;
160
+ }
161
+ }
162
+
163
+ @mixin fortitude-flag--responsive__object {
164
+ /**
165
+ * Rework the spacings on regular flag objects.
166
+ */
167
+ display: block;
168
+ padding-right: 0;
169
+ padding-left: 0;
170
+ margin-bottom: $fortitude-flag-gutter;
171
+ }
172
+
173
+ @mixin fortitude-flag--responsive__body {
174
+ display: block;
175
+ }
176
+
177
+ @mixin fortitude-flag--responsive--small__object {
178
+ /**
179
+ * Small responsive flags.
180
+ *
181
+ * Take a little more heavy-handed approach to reworking
182
+ * spacings on flags that are also small flags in their regular
183
+ * state.
184
+ */
185
+
186
+ padding-right: 0;
187
+ padding-left: 0;
188
+ }
189
+
190
+ @mixin fortitude-flag--responsive--large__object {
191
+ /**
192
+ * Large responsive flags.
193
+ *
194
+ * Take a little more heavy-handed approach to reworking
195
+ * spacings on flags that are also large flags in their regular
196
+ * state.
197
+ */
198
+
199
+ padding-right: 0;
200
+ padding-left: 0;
201
+ }
202
+
203
+ .#{$fortitude-namespace}flag {
204
+ @include fortitude-flag;
205
+ }
206
+
207
+ /**
208
+ * Items within a flag object. There should only ever be one of each.
209
+ */
210
+
211
+
212
+ /**
213
+ * Flag images have a space between them and the body of the object.
214
+ */
215
+ .#{$fortitude-namespace}flag__object {
216
+ @include fortitude-flag__object;
217
+ }
218
+
219
+ .#{$fortitude-namespace}flag__body {
220
+ @include fortitude-flag__body;
221
+ }
222
+
223
+
224
+
225
+
226
+
227
+ @if ($fortitude-enable-flag--small == true) {
228
+
229
+ /**
230
+ * Small flags.
231
+ */
232
+
233
+ .#{$fortitude-namespace}flag--small {
234
+
235
+ > .#{$fortitude-namespace}flag__object {
236
+ @include fortitude-flag--small__object;
237
+ }
238
+
239
+ @if ($fortitude-enable-flag--rev == true) {
240
+
241
+ /**
242
+ * Small reversed flags.
243
+ */
244
+
245
+ &.#{$fortitude-namespace}flag--rev {
246
+
247
+ > .#{$fortitude-namespace}flag__object {
248
+ @include fortitude-flag--small--rev__object;
249
+ }
250
+
251
+ }
252
+
253
+ }
254
+
255
+ }
256
+
257
+ }
258
+
259
+ @if ($fortitude-enable-flag--large == true) {
260
+
261
+ /**
262
+ * Large flags.
263
+ */
264
+
265
+ .#{$fortitude-namespace}flag--large {
266
+
267
+ > .#{$fortitude-namespace}flag__object {
268
+ @include fortitude-flag--large__object;
269
+ }
270
+
271
+ @if ($fortitude-enable-flag--rev == true) {
272
+
273
+ /**
274
+ * Large reversed flags.
275
+ */
276
+
277
+ &.#{$fortitude-namespace}flag--rev {
278
+
279
+ > .#{$fortitude-namespace}flag__object {
280
+ @include fortitude-flag--large--rev__object;
281
+ }
282
+
283
+ }
284
+
285
+ }
286
+
287
+ }
288
+
289
+ }
290
+
291
+
292
+
293
+
294
+
295
+ @if ($fortitude-enable-flag--rev == true) {
296
+
297
+ /**
298
+ * Reversed flag objects have their image-content to the right, and text-content
299
+ * to the left.
300
+ */
301
+
302
+ .#{$fortitude-namespace}flag--rev {
303
+ @include fortitude-flag--rev;
304
+
305
+ > .#{$fortitude-namespace}flag__object {
306
+ @include fortitude-flag--rev__object;
307
+ }
308
+
309
+ > .#{$fortitude-namespace}flag__body {
310
+ @include fortitude-flag--rev__body;
311
+ }
312
+
313
+ }
314
+
315
+ }
316
+
317
+
318
+
319
+
320
+
321
+ @if ($fortitude-enable-flag--flush == true) {
322
+
323
+ /**
324
+ * Flush flag objects have no space between the image- and text-content.
325
+ */
326
+
327
+ .#{$fortitude-namespace}flag--flush {
328
+
329
+ > .#{$fortitude-namespace}flag__object {
330
+ @include fortitude-flag--flush__object;
331
+ }
332
+
333
+ }
334
+
335
+ }
336
+
337
+
338
+
339
+
340
+
341
+ @if ($fortitude-enable-flag--top == true) {
342
+
343
+ /**
344
+ * Vertically top aligned flag objects.
345
+ */
346
+
347
+ .#{$fortitude-namespace}flag--top {
348
+
349
+ .#{$fortitude-namespace}flag__object {
350
+ @include fortitude-flag--top__object;
351
+ }
352
+
353
+ .#{$fortitude-namespace}flag__body {
354
+ @include fortitude-flag--top__body;
355
+ }
356
+
357
+ }
358
+
359
+ }
360
+
361
+ @if ($fortitude-enable-flag--bottom == true) {
362
+
363
+ /**
364
+ * Vertically bottom aligned flag objects.
365
+ */
366
+
367
+ .#{$fortitude-namespace}flag--bottom {
368
+
369
+ .#{$fortitude-namespace}flag__object {
370
+ @include fortitude-flag--bottom__object;
371
+ }
372
+
373
+ .#{$fortitude-namespace}flag__body {
374
+ @include fortitude-flag--bottom__body;
375
+ }
376
+
377
+ }
378
+
379
+ }
380
+
381
+
382
+
383
+
384
+ @if ($fortitude-enable-flag--responsive == true) {
385
+
386
+ .#{$fortitude-namespace}flag--responsive {
387
+
388
+ @include fortitude-flag--responsive {
389
+
390
+ > .#{$fortitude-namespace}flag__object {
391
+ @include fortitude-flag--responsive__object;
392
+ }
393
+
394
+ > .#{$fortitude-namespace}flag__body {
395
+ @include fortitude-flag--responsive__body;
396
+ }
397
+
398
+ @if ($fortitude-enable-flag--small == true) {
399
+
400
+ &.#{$fortitude-namespace}flag--small {
401
+
402
+ > .#{$fortitude-namespace}flag__object {
403
+ @include fortitude-flag--responsive--small__object;
404
+ }
405
+
406
+ }
407
+
408
+ }
409
+
410
+ @if ($fortitude-enable-flag--large == true) {
411
+
412
+ &.#{$fortitude-namespace}flag--large {
413
+
414
+ > .#{$fortitude-namespace}flag__object {
415
+ @include fortitude-flag--responsive--large__object;
416
+ }
417
+
418
+ }
419
+
420
+ }
421
+
422
+ }
423
+
424
+ }
425
+
426
+ }