brevis 0.1.1 → 0.1.2

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/brevis.rb +2 -2
  3. data/stylesheets/_brevis.scss +35 -0
  4. data/stylesheets/brevis_components/chrome/header/_branding.scss +34 -0
  5. data/stylesheets/brevis_components/chrome/header/_mobile_toggle.scss +27 -0
  6. data/stylesheets/brevis_components/chrome/header/_primary_menu.scss +79 -0
  7. data/stylesheets/brevis_components/chrome/header/_search.scss +56 -0
  8. data/stylesheets/brevis_components/chrome/header/_social.scss +44 -0
  9. data/stylesheets/brevis_components/content_lists/_content_stream.scss +417 -0
  10. data/stylesheets/brevis_components/content_lists/_featured.scss +105 -0
  11. data/stylesheets/brevis_components/content_lists/_headlines.scss +7 -0
  12. data/stylesheets/brevis_components/content_lists/_topic_lists.scss +19 -0
  13. data/stylesheets/brevis_components/content_modules/_carousel.scss +23 -0
  14. data/stylesheets/brevis_components/content_modules/_chosen.scss +332 -0
  15. data/stylesheets/brevis_components/content_modules/_colorbox.scss +198 -0
  16. data/stylesheets/brevis_components/content_modules/_flexslider.scss +103 -0
  17. data/stylesheets/brevis_components/content_modules/_sticky_menu.scss +50 -0
  18. data/stylesheets/brevis_utilities/_admin.scss +13 -0
  19. data/stylesheets/brevis_utilities/_animations.scss +39 -0
  20. data/stylesheets/brevis_utilities/_breakpoints.scss +60 -0
  21. data/stylesheets/brevis_utilities/_colors.scss +24 -0
  22. data/stylesheets/brevis_utilities/_eq.scss +364 -0
  23. data/stylesheets/brevis_utilities/_forms.scss +34 -0
  24. data/stylesheets/brevis_utilities/_header.scss +19 -0
  25. data/stylesheets/brevis_utilities/_images.scss +147 -0
  26. data/stylesheets/brevis_utilities/_layout.scss +190 -0
  27. data/stylesheets/brevis_utilities/_mediablock.scss +99 -0
  28. data/stylesheets/brevis_utilities/_page.scss +59 -0
  29. data/stylesheets/brevis_utilities/_tooltip.scss +49 -0
  30. data/stylesheets/brevis_utilities/_typography.scss +149 -0
  31. metadata +30 -30
  32. data/stylesheets/_brevis.sass +0 -35
  33. data/stylesheets/brevis_components/chrome/header/_branding.sass +0 -32
  34. data/stylesheets/brevis_components/chrome/header/_mobile_toggle.sass +0 -24
  35. data/stylesheets/brevis_components/chrome/header/_primary_menu.sass +0 -66
  36. data/stylesheets/brevis_components/chrome/header/_search.sass +0 -46
  37. data/stylesheets/brevis_components/chrome/header/_social.sass +0 -30
  38. data/stylesheets/brevis_components/content_lists/_content_carousel.sass +0 -0
  39. data/stylesheets/brevis_components/content_lists/_content_stream.sass +0 -319
  40. data/stylesheets/brevis_components/content_lists/_featured.sass +0 -80
  41. data/stylesheets/brevis_components/content_lists/_headlines.sass +0 -5
  42. data/stylesheets/brevis_components/content_lists/_topic_lists.sass +0 -15
  43. data/stylesheets/brevis_components/content_modules/_carousel.sass +0 -19
  44. data/stylesheets/brevis_components/content_modules/_chosen.sass +0 -294
  45. data/stylesheets/brevis_components/content_modules/_colorbox.sass +0 -208
  46. data/stylesheets/brevis_components/content_modules/_flexslider.sass +0 -92
  47. data/stylesheets/brevis_components/content_modules/_sticky_menu.sass +0 -40
  48. data/stylesheets/brevis_utilities/_admin.sass +0 -9
  49. data/stylesheets/brevis_utilities/_animations.sass +0 -38
  50. data/stylesheets/brevis_utilities/_breakpoints.sass +0 -59
  51. data/stylesheets/brevis_utilities/_colors.sass +0 -23
  52. data/stylesheets/brevis_utilities/_eq.sass +0 -260
  53. data/stylesheets/brevis_utilities/_forms.sass +0 -27
  54. data/stylesheets/brevis_utilities/_header.sass +0 -19
  55. data/stylesheets/brevis_utilities/_images.sass +0 -120
  56. data/stylesheets/brevis_utilities/_layout.sass +0 -119
  57. data/stylesheets/brevis_utilities/_page.sass +0 -48
  58. data/stylesheets/brevis_utilities/_tooltip.sass +0 -48
  59. data/stylesheets/brevis_utilities/_typography.sass +0 -121
@@ -0,0 +1,147 @@
1
+ //////////////////////////////
2
+ // Blueprint theme paths - for use with interpolation syntax:
3
+ // background: url("#{$base-images}/image-name.png")
4
+ $base: "../../blueprint";
5
+ $base-images: "../../blueprint/blueprint_images";
6
+
7
+ $content-stream-img-sm: 50%;
8
+ $content-stream-img-md: 47.5%;
9
+
10
+ @mixin img-types {
11
+ .pane-node-field-cover-photo,
12
+ .field--name-field-image {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ @mixin img-left {
18
+ float: left;
19
+ padding: 0 10px 5px 0;
20
+ }
21
+
22
+ @mixin img-right {
23
+ float: right;
24
+ padding: 0 0 5px 10px;
25
+ }
26
+
27
+ @mixin img-no-float {
28
+ float: none;
29
+ padding: 0;
30
+ }
31
+
32
+ %img-left {
33
+ @include img-left;
34
+ }
35
+
36
+ %img-right {
37
+ @include img-right;
38
+ }
39
+
40
+ @mixin img2x($file, $type, $width, $height, $inline: "false") {
41
+ @if $inline == true {
42
+ background-image: inline-image($file + "." + $type);
43
+ @media (-webkit-min-device-pixel-ratio: 2), (-moz-min-device-pixel-ratio: 2) {
44
+ & {
45
+ background-image: inline-image($file + "@2x." + $type);
46
+ -webkit-background-size: $width $height;
47
+ }
48
+ }
49
+ }
50
+ @else {
51
+ background-image: image-url("#{$file}.#{$type}");
52
+ @media (-webkit-min-device-pixel-ratio: 2), (-moz-min-device-pixel-ratio: 2) {
53
+ & {
54
+ background-image: image-url("#{$file}@2x.#{$type}");
55
+ -webkit-background-size: $width $height;
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ // EXAMPLE:
62
+ // +img2x('puppies', 'png', 100px, 75px)
63
+
64
+ @mixin svg-bg($filename, $position: 0, $height: 20px, $width: 20px, $spacing: 10px, $bg-color: transparent, $repeat: no-repeat, $attachment: scroll, $source: #{$base-images}, $no-svg-class: ".no-svg", $pseudo: "before") {
65
+ &:#{$pseudo} {
66
+ content: "";
67
+ display: inline-block;
68
+ background: $bg-color url($source + "/" + $filename + ".svg") $attachment $repeat $position;
69
+ background-size: $height $width;
70
+ height: $height;
71
+ width: $width;
72
+ margin-right: $spacing;
73
+ }
74
+ #{$no-svg-class} & {
75
+ &:#{$pseudo} {
76
+ background-image: url($source + "/" + $filename + ".png");
77
+ }
78
+ }
79
+ }
80
+
81
+ @mixin svg-bg-simple($filename, $source: #{$base-images}, $no-svg-class: ".lt-ie9", $pseudo: "before") {
82
+ background-image: url($source + "/" + $filename + ".svg");
83
+ #{$no-svg-class} & {
84
+ background-image: url($source + "/" + $filename + ".png");
85
+ }
86
+ }
87
+
88
+ // https://gist.github.com/darren131/3410875
89
+ // @mixin resize-sprite($map, $sprite, $percent)
90
+ // $spritePath: sprite-path($map)
91
+ // $spriteWidth: image-width($spritePath)
92
+ // $spriteHeight: image-height($spritePath)
93
+ // $width: image-width(sprite-file($map, $sprite))
94
+ // $height: image-height(sprite-file($map, $sprite))
95
+ // @include background-size(ceil($spriteWidth * ($percent/100)) ceil($spriteHeight * ($percent/100)))
96
+ // width: ceil($width*($percent/100))
97
+ // height: ceil($height*($percent/100))
98
+ // background-position: 0 floor(nth(sprite-position($map, $sprite), 2) * ($percent/100) )
99
+
100
+ ////////////////
101
+ // INTERNET EXPLORER FALLBACK IMAGE SIZE SHORTCUTS
102
+ @mixin ie-img {
103
+ //border: pink solid 1px
104
+ display: block;
105
+ }
106
+
107
+ %xxs-thumbnail {
108
+ @include ie-img;
109
+ width: 90px;
110
+ height: 50px;
111
+ }
112
+
113
+ %xs-thumbnail {
114
+ @include ie-img;
115
+ width: 140px;
116
+ height: 85px;
117
+ }
118
+
119
+ %sm-thumbnail {
120
+ @include ie-img;
121
+ width: 205px;
122
+ height: 128px;
123
+ }
124
+
125
+ %md-thumbnail {
126
+ @include ie-img;
127
+ width: 226px;
128
+ height: 136px;
129
+ }
130
+
131
+ %lg-thumbnail {
132
+ @include ie-img;
133
+ width: 290px;
134
+ height: 170px;
135
+ }
136
+
137
+ %xl-thumbnail {
138
+ @include ie-img;
139
+ width: 373px;
140
+ height: 224px;
141
+ }
142
+
143
+ %xxl-thumbnail {
144
+ @include ie-img;
145
+ width: 636px;
146
+ height: 223px;
147
+ }
@@ -0,0 +1,190 @@
1
+
2
+ ////////////////////////////////////////////////////
3
+ // FLUID GRID COLUMNS http://sassmeister.com/gist/710eded4e6a323fdfdb6
4
+ ///////////////////////////////////////////////////
5
+ $fluid-grid-cols: 1;
6
+ $fluid-grid-grid-rows: 10;
7
+ $fluid-grid-padding: 20px;
8
+ $fluid-grid-class-name: views-row;
9
+
10
+ @mixin fluid-grid(
11
+ $cols: $fluid-grid-cols,
12
+ $grid-rows: $fluid-grid-grid-rows,
13
+ $padding: $fluid-grid-padding,
14
+ $class-name: $fluid-grid-class-name
15
+ ){
16
+ .#{$class-name} {
17
+ width: calc((100% / #{$cols}) + (#{$padding} / #{$cols}));
18
+ padding: 0 0 $padding $padding;
19
+ }
20
+ @for $x from 1 through $grid-rows {
21
+ .#{$class-name}-#{$x * $cols - ($cols - 1)} {
22
+ margin-left: -$padding;
23
+ clear: both;
24
+ }
25
+ }
26
+ }
27
+
28
+ @mixin grid-mobile(
29
+ $class-name: $fluid-grid-class-name
30
+ ){
31
+ .#{$class-name} {
32
+ float: left;
33
+ clear: both;
34
+ width: 100%;
35
+ @include box-sizing("border-box");
36
+ }
37
+ }
38
+
39
+ @mixin grid-desktop(
40
+ $class-name: $fluid-grid-class-name
41
+ ){
42
+ .#{$class-name} {
43
+ float: left;
44
+ clear: none;
45
+ @include box-sizing("border-box");
46
+ }
47
+ }
48
+
49
+ // When using the fluid grid mixin, plug in the following variables:
50
+ // the number of columns
51
+ // the number of rows (if you are unsure guess and add 1 or 2)
52
+ // the padding for the left & right edge of each row
53
+ // and the name of the class for the rows themselves.
54
+
55
+ // Use the grid-mobile mixin for mobile, and then add a breakpoint
56
+ // and use the grid-desktop mixin for columns 2 and up.
57
+
58
+
59
+
60
+ //======================================
61
+
62
+ @mixin width-25($padding: 0) {
63
+ width: 25%;
64
+ float: left;
65
+ padding: $padding;
66
+ }
67
+
68
+ @mixin width-33($padding: 0) {
69
+ width: 33.33%;
70
+ float: left;
71
+ padding: $padding;
72
+ }
73
+
74
+ @mixin width-50($padding: 0) {
75
+ width: 50%;
76
+ float: left;
77
+ padding: $padding;
78
+ }
79
+
80
+ @mixin width-66($padding: 0) {
81
+ width: 66%;
82
+ float: left;
83
+ padding: $padding;
84
+ }
85
+
86
+ @mixin width-75($padding: 0) {
87
+ width: 75%;
88
+ float: left;
89
+ padding: $padding;
90
+ }
91
+
92
+ @mixin width-100($padding: 0) {
93
+ width: 100%;
94
+ }
95
+
96
+ @mixin width-50-100($padding: 0) {
97
+ width: 100%;
98
+ float: left;
99
+ padding: $padding;
100
+ @include breakpoint($tablet-portrait) {
101
+ width: 50%;
102
+ float: left;
103
+ padding: $padding;
104
+ }
105
+ }
106
+
107
+
108
+ @mixin vertical-center(
109
+ $container-height: 300px,
110
+ $inner-name: ".block-inner",
111
+ $inner-width: "80%") {
112
+ height: $container-height;
113
+ text-align: center;
114
+ &:before {
115
+ content: '';
116
+ display: inline-block;
117
+ height: 100%;
118
+ vertical-align: middle;
119
+ }
120
+ #{$inner-name} {
121
+ display: inline-block;
122
+ vertical-align: middle;
123
+ width: $inner-width;
124
+ padding: (100% - $inner-width)/2;
125
+ }
126
+ }
127
+
128
+ // Vertical Alignment with Intrinsic ratio which sets the height of the container
129
+ // http://sassmeister.com/gist/bbdf3b09d856138b3989
130
+ @mixin vertical-center-with-ir (
131
+ $inner-name: ".block-inner",
132
+ $inner-width: 90%,
133
+ $container-height: auto,
134
+ $inner-inner-name: "#{$inner-name}-inner" ){
135
+ #{$inner-name} {
136
+ height: 100%;
137
+ display: inline-block;
138
+ vertical-align: middle;
139
+ width: $inner-width;
140
+ position: absolute !important;
141
+ top: 0;
142
+ left: (100% - $inner-width) / 2;
143
+ &:before {
144
+ content: '';
145
+ display: inline-block;
146
+ height: 100%;
147
+ width: 0;
148
+ font-size: 0;
149
+ vertical-align: middle;
150
+ }
151
+ }
152
+ #{$inner-name}-inner {
153
+ display: inline-block;
154
+ vertical-align: middle;
155
+ width: 98%;
156
+ text-align: center;
157
+ }
158
+ }
159
+
160
+ //this allows you to change out the container and internal name.
161
+
162
+ @mixin vertical-center-with-ir-flex (
163
+ $inner-name: ".block-inner",
164
+ $inner-inner:".block-inner",
165
+ $inner-width: 80%,
166
+ $container-height: auto)
167
+ {
168
+ #{$inner-name} {
169
+ height: 100%;
170
+ display: inline-block;
171
+ vertical-align: middle;
172
+ width: $inner-width;
173
+ position: absolute;
174
+ top: 0;
175
+ left: (100% - $inner-width) / 2;
176
+ &:before {
177
+ content: '';
178
+ display: inline-block;
179
+ height: 100%;
180
+ width: 0;
181
+ font-size: 0;
182
+ vertical-align: middle;
183
+ }
184
+ }
185
+ #{$inner-inner} {
186
+ display: inline-block;
187
+ vertical-align: middle;
188
+ width: 98%;
189
+ }
190
+ }
@@ -0,0 +1,99 @@
1
+ @mixin mediablock {
2
+ margin: 0 ;
3
+ @include clearfix;
4
+ }
5
+
6
+ @mixin media-separator {
7
+ &::before {
8
+ content: " ";
9
+ display: block;
10
+ height: 8px;
11
+ width: 100%;
12
+ border: $cool-gray solid 1px;
13
+ margin: 0 0 20px 0;
14
+ background: image-url("bg-diagonal-green.jpg") repeat;
15
+ opacity: 0.4;
16
+ @include breakpoint($tablet-portrait) {
17
+ height: 18px;
18
+ }
19
+ }
20
+ }
21
+
22
+ @mixin mediablock__title {
23
+ h2, h3, h4 {
24
+ @include tertiary-font;
25
+ @include font-size(16px, 1.1);
26
+ @include caps;
27
+ margin-top: 0;
28
+ a {
29
+ color: $color-two;
30
+ }
31
+ }
32
+ }
33
+
34
+ // Default image, floated to the left
35
+ @mixin mediablock__img {
36
+ margin-bottom: 10px;
37
+ float: left;
38
+ margin-right: 1rem;
39
+ margin-bottom: 0px;
40
+ @include breakpoint($tablet-portrait) {
41
+ margin-right: 45px;
42
+ margin-bottom: 22px;
43
+ }
44
+ &.icon {
45
+ float: left;
46
+ margin-right: 1rem;
47
+ }
48
+ img {
49
+ display: block;
50
+ width: auto;
51
+ }
52
+ }
53
+
54
+ // Modifier to keep the text from flowing around the image.
55
+ @mixin mediablock--tight($body: "mediablock__body") {
56
+ .#{$body} {
57
+ overflow: auto;
58
+ }
59
+ }
60
+
61
+ // Modifier to float media to the right, text on the left
62
+ @mixin mediablock--reversed {
63
+ .mediablock__img {
64
+ @include breakpoint($smartphone-landscape) {
65
+ float: right;
66
+ margin-right: 0;
67
+ margin-left: 1em;
68
+ }
69
+ }
70
+ }
71
+
72
+
73
+ @mixin mediablock-tight-view (
74
+ $wrapper-name: ".view-content-list",
75
+ $unit-name: ".views-row",
76
+ $image-field: ".pane-node-field-shared-image",
77
+ $title-field: ".pane-node-title, .pane-butler-core-node-title-pane",
78
+ $body-field: ".pane-node-body") {
79
+
80
+ #{$wrapper-name} {
81
+ clear: both;
82
+ }
83
+ #{$unit-name} {
84
+ @include mediablock;
85
+ }
86
+ #{$unit-name} ~ #{$unit-name} {
87
+ @include media-separator
88
+ }
89
+ #{$image-field} {
90
+ @include mediablock__img;
91
+ }
92
+ #{$wrapper-name} #{$title-field} {
93
+ @include mediablock__title;
94
+ overflow: auto;
95
+ }
96
+ #{$body-field} {
97
+ overflow: auto;
98
+ }
99
+ }
@@ -0,0 +1,59 @@
1
+ @mixin page-max-width {
2
+ @include breakpoint($phone-l-tab-p) {
3
+ max-width: $tab-p;
4
+ margin: 0 auto;
5
+ }
6
+
7
+ @include breakpoint($tab-p-tab-l) {
8
+ max-width: $tab-l;
9
+ margin: 0 auto;
10
+ }
11
+
12
+ @include breakpoint($tab-l-desk) {
13
+ max-width: $desk;
14
+ //max-width: $tab-l + 20px
15
+ margin: 0 auto;
16
+ }
17
+
18
+ @include breakpoint($desktop) {
19
+ max-width: $desk;
20
+ margin: 0 auto;
21
+ }
22
+
23
+ @include breakpoint($print-media) {
24
+ max-width: 900px;
25
+ margin: 0 auto;
26
+ }
27
+ }
28
+
29
+ @mixin content-area-padding($type: both) {
30
+ @if $type == left {
31
+ padding-left: 10px;
32
+ margin-left: 10px;
33
+ @include breakpoint($tablet-portrait) {
34
+ padding-left: 20px;
35
+ margin-left: 10px;
36
+ }
37
+ }
38
+ @if $type == right {
39
+ padding-right: 10px;
40
+ margin-right: 10px;
41
+ @include breakpoint($tablet-portrait) {
42
+ padding-right: 20px;
43
+ margin-right: 10px;
44
+ }
45
+ }
46
+ @if $type == both {
47
+ padding: 10px;
48
+ margin: 0 10px;
49
+ @include breakpoint($tablet-portrait) {
50
+ padding: 10px 20px;
51
+ margin: 0 10px;
52
+ }
53
+
54
+ @include breakpoint($desktop) {
55
+ padding: 20px 20px 0px;
56
+ margin: 0;
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,49 @@
1
+ @mixin hui_tooltip($content: attr(data-tooltip), $direction: top) {
2
+ position: relative;
3
+ &:before, &:after {
4
+ display: none;
5
+ z-index: 98;
6
+ }
7
+ &:hover {
8
+ &:after // for text bubble {
9
+ content: $content;
10
+ display: block;
11
+ position: absolute;
12
+ height: 12px;
13
+ // (makes total height including padding 22px)
14
+ padding: 6px;
15
+ font-size: 12px;
16
+ white-space: nowrap;
17
+ color: white;
18
+ @include text-shadow(1px 1px black);
19
+ background-color: #222222;
20
+ }
21
+ @if $direction == "top" {
22
+ &:before {
23
+ @include triangle(down, 6px, #222222);
24
+ top: -6px;
25
+ margin-top: 0;
26
+ left: 47%;
27
+ }
28
+ &:after {
29
+ top: -28px;
30
+ left: 47%;
31
+ margin-left: -20px;
32
+ }
33
+ }
34
+ @else if $direction == "bottom" {
35
+ &:before {
36
+ @include triangle(up, 6px, #222222);
37
+ top: auto;
38
+ margin-top: 0;
39
+ bottom: -6px;
40
+ left: 47%;
41
+ }
42
+ &:after {
43
+ bottom: -28px;
44
+ left: 47%;
45
+ margin-left: -20px;
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,149 @@
1
+ //*************************************
2
+ // Typography
3
+
4
+ $base-font-size: 16px;
5
+ $base-line-height: 24px;
6
+ $rhythm-unit: "rem";
7
+ $rem-with-px-fallback: true;
8
+
9
+ $sans-serif-small: Arial, sans-serif;
10
+ $sans-serif-large: Verdana, Geneva, "DejaVu Sans", Arial, Helvetica, sans-serif;
11
+ $serif-small: Garamond, Perpetua, "Times New Roman", serif;
12
+ $serif-large: Georgia, Baskerville, Palatino, "Palatino Linotype", "Book Antiqua", "Times New Roman", serif;
13
+ $mono: Consolas, Monaco, "Courier New", Courier, monospace, sans-serif;
14
+
15
+ // Custom Font Fallbacks
16
+ $primary-sans: "Arial", sans-serif;
17
+ $primary-serif: "Times New Roman", serif;
18
+ $secondary-font: "Impact", $primary-sans;
19
+ $icon-font: "FontAwesome";
20
+
21
+ @mixin font-smoothing($value: antialiased) {
22
+ @if $value == antialiased {
23
+ -webkit-font-smoothing: antialiased;
24
+ -moz-osx-font-smoothing: grayscale;
25
+ }
26
+ @if $value == subpixel {
27
+ -webkit-font-smoothing: subpixel-antialiased;
28
+ -moz-osx-font-smoothing: auto;
29
+ }
30
+ }
31
+
32
+ @mixin primary-font {
33
+ font-family: $sans-serif-small;
34
+ }
35
+
36
+ @mixin secondary-font {
37
+ font-family: $secondary-font;
38
+ }
39
+
40
+ @mixin icon-font {
41
+ font-family: $icon-font;
42
+ }
43
+
44
+ @mixin font-awesome {
45
+ font-family: $font-awesome;
46
+ }
47
+
48
+ @mixin thick {
49
+ font-weight: bold;
50
+ }
51
+
52
+ @mixin thin {
53
+ font-weight: normal;
54
+ }
55
+
56
+ @mixin italic {
57
+ font-style: italic;
58
+ }
59
+
60
+ @mixin caps {
61
+ text-transform: uppercase;
62
+ }
63
+
64
+ @mixin link($link-color: $link, $link-hover: $link-hover, $underline: no) {
65
+ text-decoration: none;
66
+ &:link,
67
+ &:visited {
68
+ text-decoration: none;
69
+ color: $link-color;
70
+ }
71
+ @if $underline == no {
72
+ //&.active,
73
+ &:hover,
74
+ &:focus {
75
+ color: $link-hover;
76
+ }
77
+ }
78
+ @if $underline == yes {
79
+ //&.active,
80
+ &:hover,
81
+ &:focus {
82
+ text-decoration: underline;
83
+ color: $link-hover;
84
+ }
85
+ }
86
+ }
87
+
88
+ @mixin link-inherit-color-hover {
89
+ a:hover,
90
+ a:focus {
91
+ color: inherit;
92
+ }
93
+ }
94
+
95
+ @mixin link-inherit-color($hover: hover) {
96
+ a,
97
+ a:link,
98
+ a:visited {
99
+ color: inherit;
100
+ }
101
+ @if $hover == hover {
102
+ &:hover {
103
+ @include link-inherit-color-hover;
104
+ }
105
+ }
106
+ }
107
+
108
+ // Blueprint theme - variables are in order of how likely they are to be overridden
109
+ @mixin font-size($size: 22px, $lh: 1.3) {
110
+ @if unit($lh) == "px" {
111
+ $lh: $lh / $base-line-height;
112
+ }
113
+ @include adjust-font-size-to($size, $lh);
114
+ }
115
+
116
+ @mixin text-style($size: 22px, $color: $text-primary, $link-color: inherit, $active-color: inherit, $type: null, $underline: no, $lh: 1.3) {
117
+ @if unit($lh) == "px" {
118
+ $lh: $lh / $base-line-height;
119
+ }
120
+ @include adjust-font-size-to($size, $lh);
121
+ @if $type == link {
122
+ a {
123
+ @include link($link-color, $active-color, $underline);
124
+ }
125
+ }
126
+ @else {
127
+ color: $color;
128
+ }
129
+ }
130
+
131
+ %offscreen {
132
+ position: absolute;
133
+ left: -1000em;
134
+ }
135
+
136
+ @mixin truncate-text($overflow: ellipsis) {
137
+ overflow: hidden;
138
+ white-space: nowrap;
139
+ text-overflow: $overflow;
140
+ }
141
+
142
+ %list-title {
143
+ @include thick;
144
+ @include text-style($size: 16px, $lh: 18px);
145
+ }
146
+
147
+ %small-text {
148
+ @include text-style($size: 12px, $lh: 16px);
149
+ }