govuk_frontend_toolkit 0.41.1

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 (142) hide show
  1. data/.gitignore +3 -0
  2. data/.gitmodules +3 -0
  3. data/CONTRIBUTING.md +13 -0
  4. data/Gemfile +4 -0
  5. data/LICENCE +20 -0
  6. data/README.md +46 -0
  7. data/Rakefile +16 -0
  8. data/app/assets/.gitignore +1 -0
  9. data/app/assets/.travis.yml +3 -0
  10. data/app/assets/CONTRIBUTING.md +18 -0
  11. data/app/assets/Gruntfile.js +19 -0
  12. data/app/assets/LICENCE +20 -0
  13. data/app/assets/README.md +675 -0
  14. data/app/assets/images/crests/bis_crest_13px.png +0 -0
  15. data/app/assets/images/crests/bis_crest_13px_x2.png +0 -0
  16. data/app/assets/images/crests/bis_crest_18px.png +0 -0
  17. data/app/assets/images/crests/bis_crest_18px_x2.png +0 -0
  18. data/app/assets/images/crests/bis_crest_27px.png +0 -0
  19. data/app/assets/images/crests/bis_crest_27px_x2.png +0 -0
  20. data/app/assets/images/crests/coastguard_13px.png +0 -0
  21. data/app/assets/images/crests/coastguard_13px_x2.png +0 -0
  22. data/app/assets/images/crests/coastguard_18px.png +0 -0
  23. data/app/assets/images/crests/coastguard_18px_x2.png +0 -0
  24. data/app/assets/images/crests/coastguard_27px.png +0 -0
  25. data/app/assets/images/crests/coastguard_27px_x2.png +0 -0
  26. data/app/assets/images/crests/hmrc_crest_13px.png +0 -0
  27. data/app/assets/images/crests/hmrc_crest_13px_x2.png +0 -0
  28. data/app/assets/images/crests/hmrc_crest_18px.png +0 -0
  29. data/app/assets/images/crests/hmrc_crest_18px_x2.png +0 -0
  30. data/app/assets/images/crests/hmrc_crest_27px.png +0 -0
  31. data/app/assets/images/crests/hmrc_crest_27px_x2.png +0 -0
  32. data/app/assets/images/crests/ho_crest_13px.png +0 -0
  33. data/app/assets/images/crests/ho_crest_13px_x2.png +0 -0
  34. data/app/assets/images/crests/ho_crest_18px.png +0 -0
  35. data/app/assets/images/crests/ho_crest_18px_x2.png +0 -0
  36. data/app/assets/images/crests/ho_crest_27px.png +0 -0
  37. data/app/assets/images/crests/ho_crest_27px_x2.png +0 -0
  38. data/app/assets/images/crests/mod_crest_13px.png +0 -0
  39. data/app/assets/images/crests/mod_crest_13px_x2.png +0 -0
  40. data/app/assets/images/crests/mod_crest_18px.png +0 -0
  41. data/app/assets/images/crests/mod_crest_18px_x2.png +0 -0
  42. data/app/assets/images/crests/mod_crest_27px.png +0 -0
  43. data/app/assets/images/crests/mod_crest_27px_x2.png +0 -0
  44. data/app/assets/images/crests/org_crest_13px.png +0 -0
  45. data/app/assets/images/crests/org_crest_13px_x2.png +0 -0
  46. data/app/assets/images/crests/org_crest_18px.png +0 -0
  47. data/app/assets/images/crests/org_crest_18px_x2.png +0 -0
  48. data/app/assets/images/crests/org_crest_27px.png +0 -0
  49. data/app/assets/images/crests/org_crest_27px_x2.png +0 -0
  50. data/app/assets/images/crests/portcullis_13px.png +0 -0
  51. data/app/assets/images/crests/portcullis_13px_x2.png +0 -0
  52. data/app/assets/images/crests/portcullis_18px.png +0 -0
  53. data/app/assets/images/crests/portcullis_18px_x2.png +0 -0
  54. data/app/assets/images/crests/portcullis_27px.png +0 -0
  55. data/app/assets/images/crests/portcullis_27px_x2.png +0 -0
  56. data/app/assets/images/crests/so_crest_13px.png +0 -0
  57. data/app/assets/images/crests/so_crest_13px_x2.png +0 -0
  58. data/app/assets/images/crests/so_crest_18px.png +0 -0
  59. data/app/assets/images/crests/so_crest_18px_x2.png +0 -0
  60. data/app/assets/images/crests/so_crest_27px.png +0 -0
  61. data/app/assets/images/crests/so_crest_27px_x2.png +0 -0
  62. data/app/assets/images/crests/ukaea_crest_13px.png +0 -0
  63. data/app/assets/images/crests/ukaea_crest_13px_x2.png +0 -0
  64. data/app/assets/images/crests/ukaea_crest_18px.png +0 -0
  65. data/app/assets/images/crests/ukaea_crest_18px_x2.png +0 -0
  66. data/app/assets/images/crests/ukaea_crest_27px.png +0 -0
  67. data/app/assets/images/crests/ukaea_crest_27px_x2.png +0 -0
  68. data/app/assets/images/crests/ukho_13px.png +0 -0
  69. data/app/assets/images/crests/ukho_13px_x2.png +0 -0
  70. data/app/assets/images/crests/ukho_18px.png +0 -0
  71. data/app/assets/images/crests/ukho_18px_x2.png +0 -0
  72. data/app/assets/images/crests/ukho_27px.png +0 -0
  73. data/app/assets/images/crests/ukho_27px_x2.png +0 -0
  74. data/app/assets/images/crests/wales_crest_13px.png +0 -0
  75. data/app/assets/images/crests/wales_crest_13px_x2.png +0 -0
  76. data/app/assets/images/crests/wales_crest_18px.png +0 -0
  77. data/app/assets/images/crests/wales_crest_18px_x2.png +0 -0
  78. data/app/assets/images/crests/wales_crest_27px.png +0 -0
  79. data/app/assets/images/crests/wales_crest_27px_x2.png +0 -0
  80. data/app/assets/images/external-links/external-link-24x24.png +0 -0
  81. data/app/assets/images/external-links/external-link-black-12x12.png +0 -0
  82. data/app/assets/images/external-links/external-link-black-24x24.png +0 -0
  83. data/app/assets/images/external-links/external-link.png +0 -0
  84. data/app/assets/images/icon-steps/icon-step-1-2x.png +0 -0
  85. data/app/assets/images/icon-steps/icon-step-1.png +0 -0
  86. data/app/assets/images/icon-steps/icon-step-10-2x.png +0 -0
  87. data/app/assets/images/icon-steps/icon-step-10.png +0 -0
  88. data/app/assets/images/icon-steps/icon-step-11-2x.png +0 -0
  89. data/app/assets/images/icon-steps/icon-step-11.png +0 -0
  90. data/app/assets/images/icon-steps/icon-step-12-2x.png +0 -0
  91. data/app/assets/images/icon-steps/icon-step-12.png +0 -0
  92. data/app/assets/images/icon-steps/icon-step-13-2x.png +0 -0
  93. data/app/assets/images/icon-steps/icon-step-13.png +0 -0
  94. data/app/assets/images/icon-steps/icon-step-14-2x.png +0 -0
  95. data/app/assets/images/icon-steps/icon-step-14.png +0 -0
  96. data/app/assets/images/icon-steps/icon-step-2-2x.png +0 -0
  97. data/app/assets/images/icon-steps/icon-step-2.png +0 -0
  98. data/app/assets/images/icon-steps/icon-step-3-2x.png +0 -0
  99. data/app/assets/images/icon-steps/icon-step-3.png +0 -0
  100. data/app/assets/images/icon-steps/icon-step-4-2x.png +0 -0
  101. data/app/assets/images/icon-steps/icon-step-4.png +0 -0
  102. data/app/assets/images/icon-steps/icon-step-5-2x.png +0 -0
  103. data/app/assets/images/icon-steps/icon-step-5.png +0 -0
  104. data/app/assets/images/icon-steps/icon-step-6-2x.png +0 -0
  105. data/app/assets/images/icon-steps/icon-step-6.png +0 -0
  106. data/app/assets/images/icon-steps/icon-step-7-2x.png +0 -0
  107. data/app/assets/images/icon-steps/icon-step-7.png +0 -0
  108. data/app/assets/images/icon-steps/icon-step-8-2x.png +0 -0
  109. data/app/assets/images/icon-steps/icon-step-8.png +0 -0
  110. data/app/assets/images/icon-steps/icon-step-9-2x.png +0 -0
  111. data/app/assets/images/icon-steps/icon-step-9.png +0 -0
  112. data/app/assets/images/player-icon-forward.png +0 -0
  113. data/app/assets/images/player-icon-pause.png +0 -0
  114. data/app/assets/images/player-icon-play.png +0 -0
  115. data/app/assets/images/player-icon-rewind.png +0 -0
  116. data/app/assets/images/player-icon-volume.png +0 -0
  117. data/app/assets/javascripts/govuk/multivariate-test.js +101 -0
  118. data/app/assets/javascripts/govuk/stop-scrolling-at-footer.js +138 -0
  119. data/app/assets/javascripts/govuk_toolkit.js +1 -0
  120. data/app/assets/javascripts/stageprompt.js +63 -0
  121. data/app/assets/javascripts/vendor/jquery/jquery.player.min.js +25 -0
  122. data/app/assets/jenkins.sh +5 -0
  123. data/app/assets/package.json +14 -0
  124. data/app/assets/spec/MultivariateTestSpec.js +166 -0
  125. data/app/assets/stylesheets/.gitkeep +0 -0
  126. data/app/assets/stylesheets/_colours.scss +104 -0
  127. data/app/assets/stylesheets/_conditionals.scss +85 -0
  128. data/app/assets/stylesheets/_css3.scss +61 -0
  129. data/app/assets/stylesheets/_device-pixels.scss +11 -0
  130. data/app/assets/stylesheets/_font_stack.scss +40 -0
  131. data/app/assets/stylesheets/_measurements.scss +7 -0
  132. data/app/assets/stylesheets/_shims.scss +57 -0
  133. data/app/assets/stylesheets/_typography.scss +400 -0
  134. data/app/assets/stylesheets/design-patterns/_alpha-beta.scss +49 -0
  135. data/app/assets/stylesheets/design-patterns/_buttons.scss +142 -0
  136. data/app/assets/stylesheets/design-patterns/_media-player.scss +232 -0
  137. data/govuk_frontend_toolkit.gemspec +50 -0
  138. data/jenkins.sh +8 -0
  139. data/lib/govuk_frontend_toolkit.rb +4 -0
  140. data/lib/govuk_frontend_toolkit/engine.rb +4 -0
  141. data/lib/govuk_frontend_toolkit/version.rb +3 -0
  142. metadata +273 -0
@@ -0,0 +1,61 @@
1
+ /* CSS 3 Mixins
2
+
3
+ Add them as you need them. This should let us manage vendor prefixes in one place.
4
+ */
5
+
6
+ @mixin border-radius($radius) {
7
+ -webkit-border-radius: $radius;
8
+ -moz-border-radius: $radius;
9
+ border-radius: $radius;
10
+ }
11
+ @mixin box-shadow($shadow) {
12
+ -webkit-box-shadow: $shadow;
13
+ -moz-box-shadow: $shadow;
14
+ box-shadow: $shadow;
15
+ }
16
+ @mixin translate($x, $y) {
17
+ -webkit-transform: translate($x, $y);
18
+ -moz-transform: translate($x, $y);
19
+ -o-transform: translate($x, $y);
20
+ transform: translate($x, $y);
21
+ }
22
+
23
+ @mixin gradient($from, $to) {
24
+ background-color: $from; // fallback/image non-cover color
25
+ background-image: -moz-linear-gradient($from, $to); // Firefox 3.6+
26
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from($from), to($to)); // Safari 4+, Chrome 1+
27
+ background-image: -webkit-linear-gradient($from, $to); // Safari 5.1+, Chrome 10+
28
+ background-image: -o-linear-gradient($from, $to); // Opera 11.10+
29
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$from}', endColorstr='#{$to}',GradientType=0 ); // IE6-9
30
+ }
31
+
32
+ @mixin transition($property, $duration, $function, $delay: 0s) {
33
+ -webkit-transition: ($property $duration $function $delay);
34
+ -moz-transition: ($property $duration $function $delay);
35
+ -ms-transition: ($property $duration $function $delay);
36
+ -o-transition: ($property $duration $function $delay);
37
+ transition: ($property $duration $function $delay);
38
+ }
39
+
40
+ @mixin box-sizing($type) { // Acceptable values are border, content, and padding - content is the default W3C model
41
+ -webkit-box-sizing: $type;
42
+ -moz-box-sizing: $type;
43
+ box-sizing: $type;
44
+ }
45
+
46
+ @mixin appearance($appearance) {
47
+ -webkit-appearance: $appearance;
48
+ -moz-appearance: $appearance;
49
+ }
50
+
51
+ @mixin calc($property, $calc) {
52
+ #{$property}: -webkit-calc(#{$calc});
53
+ #{$property}: calc(#{$calc});
54
+ }
55
+
56
+ @mixin opacity($trans) {
57
+ zoom: 1;
58
+ filter: alpha(opacity=#{$trans * 100});
59
+ opacity: $trans;
60
+ }
61
+
@@ -0,0 +1,11 @@
1
+ @mixin device-pixel-ratio($ratio: 2) {
2
+ @media only screen and (-webkit-min-device-pixel-ratio: $ratio),
3
+ only screen and (min--moz-device-pixel-ratio: $ratio),
4
+ only screen and ( -o-min-device-pixel-ratio: #{($ratio*10)}/10),
5
+ only screen and ( min-device-pixel-ratio: $ratio),
6
+ only screen and ( min-resolution: #{($ratio*96)}dpi),
7
+ only screen and ( min-resolution: #{$ratio}dppx) {
8
+ @content;
9
+ }
10
+ }
11
+
@@ -0,0 +1,40 @@
1
+ // GOV.UK font stacks, referred to in typography.scss
2
+
3
+
4
+ // Font stack weirdness
5
+ //
6
+ // To ensure embedded fonts fall back to appropriate
7
+ // system fonts (eg, bold embedded font falls back to
8
+ // bold system font, without anyone getting horrible
9
+ // artificially emboldened weights) we're setting
10
+ // the font-stack in a font-face declaration rather
11
+ // than with the usual font-family.
12
+
13
+ // New Transport Light
14
+
15
+ $NTA-Light:
16
+ "nta",
17
+ Arial,
18
+ sans-serif;
19
+
20
+ // New Transport Light with Tabular
21
+
22
+ $NTA-Light-Tabular:
23
+ "ntatabularnumbers",
24
+ "nta",
25
+ Arial,
26
+ sans-serif;
27
+
28
+ // Helvetica Regular
29
+
30
+ @font-face {
31
+ font-family: GDS-Logo;
32
+ src: local("HelveticaNeue"),
33
+ local("Helvetica Neue"),
34
+ local("Arial"),
35
+ local("Helvetica");
36
+ }
37
+
38
+ $Helvetica-Regular:
39
+ "GDS-Logo",
40
+ sans-serif;
@@ -0,0 +1,7 @@
1
+ // Measurements used across GOV.UK
2
+
3
+ $full-width: 100%;
4
+ $one-quarter: $full-width/4;
5
+ $one-third: $full-width/3;
6
+ $half: $full-width/2;
7
+ $two-thirds: ($full-width)-($one-third);
@@ -0,0 +1,57 @@
1
+ /* Cross-browser shims
2
+
3
+ Ways of normalising properties across browsers.
4
+ */
5
+ @import "_conditionals";
6
+
7
+ // From: https://blog.mozilla.org/webdev/2009/02/20/cross-browser-inline-block/
8
+
9
+ /* Usage:
10
+ @include inline-block
11
+
12
+ or
13
+
14
+ @include inline-block("250px")
15
+
16
+ which gives a min-height to the inline-block elements.
17
+ */
18
+
19
+ @mixin inline-block($min-height: "") {
20
+ display: -moz-inline-stack;
21
+ display: inline-block;
22
+
23
+ @if $min-height != "" {
24
+ min-height: $min-height;
25
+ }
26
+
27
+ @include ie-lte(7) {
28
+ zoom: 1;
29
+ display: inline;
30
+ }
31
+
32
+ @include ie(6) {
33
+ @if $min-height != "" {
34
+ height: $min-height;
35
+ }
36
+ }
37
+ }
38
+
39
+
40
+ /* Contain floats usage:
41
+
42
+ .this-has-floated-children {
43
+ @extend %contain-floats;
44
+ }
45
+
46
+ */
47
+
48
+ %contain-floats {
49
+ &:after {
50
+ content: "";
51
+ display: block;
52
+ clear: both;
53
+ }
54
+ @include ie-lte(7) {
55
+ zoom: 1;
56
+ }
57
+ }
@@ -0,0 +1,400 @@
1
+ @import '_font_stack.scss';
2
+ @import '_conditionals.scss';
3
+ @import '_device-pixels.scss';
4
+
5
+ // GOV.UK typography palettes
6
+
7
+ // ANATOMY OF A TYPE STYLE
8
+ // -----------------------
9
+ // These are a collection of graphic styles. They are deliberately
10
+ // abstracted from semantic HTML context to enable flexible re-use.
11
+ // Although there is a lot of duplication within this file, as long
12
+ // as you GZIP your CSS it shouldnt cause any bloat.
13
+
14
+
15
+ // CORE FONTS - NEW TRANSPORT
16
+
17
+ $is-print: false !default;
18
+
19
+ @mixin core-80($line-height: (80 / 80), $line-height-640: (55 / 53), $tabular-numbers: false) {
20
+ @if $tabular-numbers == true {
21
+ font-family: $NTA-Light-Tabular;
22
+ } @else {
23
+ font-family: $NTA-Light;
24
+ }
25
+ @if $is-print == false {
26
+ font-size: 80px;
27
+ } @else {
28
+ font-size: 28pt;
29
+ }
30
+ line-height: $line-height;
31
+ font-weight: 400;
32
+ text-transform: none;
33
+ @media (max-width: 640px) {
34
+ font-size: 53px;
35
+ line-height: $line-height-640;
36
+ }
37
+ }
38
+
39
+ @mixin core-48($line-height: (50 / 48), $line-height-640: (35 / 32), $tabular-numbers: false) {
40
+ @if $tabular-numbers == true {
41
+ font-family: $NTA-Light-Tabular;
42
+ } @else {
43
+ font-family: $NTA-Light;
44
+ }
45
+ @if $is-print == false {
46
+ font-size: 48px;
47
+ } @else {
48
+ font-size: 18pt;
49
+ }
50
+ line-height: $line-height;
51
+ font-weight: 400;
52
+ text-transform: none;
53
+ @media (max-width: 640px) {
54
+ font-size: 32px;
55
+ line-height: $line-height-640;
56
+ }
57
+ }
58
+
59
+ @mixin core-36($line-height: (40 / 36), $line-height-640: (25 / 24), $tabular-numbers: false) {
60
+ @if $tabular-numbers == true {
61
+ font-family: $NTA-Light-Tabular;
62
+ } @else {
63
+ font-family: $NTA-Light;
64
+ }
65
+ @if $is-print == false {
66
+ font-size: 36px;
67
+ } @else {
68
+ font-size: 18pt;
69
+ }
70
+ line-height: $line-height;
71
+ font-weight: 400;
72
+ text-transform: none;
73
+ @media (max-width: 640px) {
74
+ font-size: 24px;
75
+ line-height: $line-height-640;
76
+ }
77
+ }
78
+
79
+ @mixin core-27($line-height: (30 / 27), $line-height-640: (20 / 18), $tabular-numbers: false) {
80
+ @if $tabular-numbers == true {
81
+ font-family: $NTA-Light-Tabular;
82
+ } @else {
83
+ font-family: $NTA-Light;
84
+ }
85
+ @if $is-print == false {
86
+ font-size: 27px;
87
+ } @else {
88
+ font-size: 16pt;
89
+ }
90
+ line-height: $line-height;
91
+ font-weight: 400;
92
+ text-transform: none;
93
+ @media (max-width: 640px) {
94
+ font-size: 18px;
95
+ line-height: $line-height-640;
96
+ }
97
+ }
98
+
99
+ @mixin core-24($line-height: (30 / 24), $line-height-640: (24 / 20), $tabular-numbers: false) {
100
+ @if $tabular-numbers == true {
101
+ font-family: $NTA-Light-Tabular;
102
+ } @else {
103
+ font-family: $NTA-Light;
104
+ }
105
+ @if $is-print == false {
106
+ font-size: 24px;
107
+ } @else {
108
+ font-size: 16pt;
109
+ }
110
+ line-height: $line-height;
111
+ font-weight: 400;
112
+ text-transform: none;
113
+ @media (max-width: 640px) {
114
+ font-size: 20px;
115
+ line-height: $line-height-640;
116
+ }
117
+ }
118
+
119
+ @mixin core-19($line-height: (25 / 19), $line-height-640: (20 / 16), $tabular-numbers: false) {
120
+ @if $tabular-numbers == true {
121
+ font-family: $NTA-Light-Tabular;
122
+ } @else {
123
+ font-family: $NTA-Light;
124
+ }
125
+ @if $is-print == false {
126
+ font-size: 19px;
127
+ } @else {
128
+ font-size: 14pt;
129
+ }
130
+ line-height: $line-height;
131
+ font-weight: 400;
132
+ text-transform: none;
133
+ @media (max-width: 640px) {
134
+ font-size: 16px;
135
+ line-height: $line-height-640;
136
+ }
137
+ }
138
+
139
+ @mixin core-16($line-height: (20 / 16), $line-height-640: (16 / 14), $tabular-numbers: false) {
140
+ @if $tabular-numbers == true {
141
+ font-family: $NTA-Light-Tabular;
142
+ } @else {
143
+ font-family: $NTA-Light;
144
+ }
145
+ @if $is-print == false {
146
+ font-size: 16px;
147
+ } @else {
148
+ font-size: 12pt;
149
+ }
150
+ line-height: $line-height;
151
+ font-weight: 300;
152
+ text-transform: none;
153
+ @media (max-width: 640px) {
154
+ font-size: 14px;
155
+ line-height: $line-height-640;
156
+ }
157
+ }
158
+
159
+ @mixin core-14($line-height: (20 / 14), $line-height-640: (15 / 12), $tabular-numbers: false) {
160
+ @if $tabular-numbers == true {
161
+ font-family: $NTA-Light-Tabular;
162
+ } @else {
163
+ font-family: $NTA-Light;
164
+ }
165
+ @if $is-print == false {
166
+ font-size: 14px;
167
+ } @else {
168
+ font-size: 11pt;
169
+ }
170
+ line-height: $line-height;
171
+ font-weight: 400;
172
+ text-transform: none;
173
+ @media (max-width: 640px) {
174
+ font-size: 12px;
175
+ line-height: $line-height-640;
176
+ }
177
+ }
178
+
179
+ @mixin bold-80($line-height: (80 / 80), $line-height-640: (55 / 53), $tabular-numbers: false) {
180
+ @include core-80($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
181
+ font-weight: 700;
182
+ }
183
+
184
+ @mixin bold-48($line-height: (50 / 48), $line-height-640: (35 / 32), $tabular-numbers: false) {
185
+ @include core-48($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
186
+ font-weight: 700;
187
+ }
188
+
189
+ @mixin bold-36($line-height: (40 / 36), $line-height-640: (25 / 24), $tabular-numbers: false) {
190
+ @include core-36($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
191
+ font-weight: 700;
192
+ }
193
+
194
+ @mixin bold-27($line-height: (30 / 27), $line-height-640: (20 / 18), $tabular-numbers: false) {
195
+ @include core-27($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
196
+ font-weight: 700;
197
+ }
198
+
199
+ @mixin bold-24($line-height: (30 / 24), $line-height-640: (24 / 20), $tabular-numbers: false) {
200
+ @include core-24($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
201
+ font-weight: 700;
202
+ }
203
+
204
+ @mixin bold-19($line-height: (25 / 19), $line-height-640: (20 / 16), $tabular-numbers: false) {
205
+ @include core-19($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
206
+ font-weight: 700;
207
+ }
208
+
209
+ @mixin bold-16($line-height: (20 / 16), $line-height-640: (16 / 14), $tabular-numbers: false) {
210
+ @include core-16($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
211
+ font-weight: 700;
212
+ }
213
+
214
+ @mixin bold-14($line-height: (20 / 14), $line-height-640: (15 / 12), $tabular-numbers: false) {
215
+ @include core-14($line-height, $line-height-640, $tabular-numbers: $tabular-numbers);
216
+ font-weight: 700;
217
+ }
218
+
219
+ @mixin heading-80($tabular-numbers: false) {
220
+ @include core-80($tabular-numbers: $tabular-numbers);
221
+
222
+ padding-top: 8px;
223
+ padding-bottom: 7px;
224
+
225
+ @include media(tablet){
226
+ padding-top: 6px;
227
+ padding-bottom: 14px;
228
+ }
229
+ }
230
+
231
+ @mixin heading-48($tabular-numbers: false) {
232
+ @include core-48($tabular-numbers: $tabular-numbers);
233
+
234
+ padding-top: 10px;
235
+ padding-bottom: 10px;
236
+
237
+ @include media(tablet){
238
+ padding-top: 7px;
239
+ padding-bottom: 13px;
240
+ }
241
+ }
242
+
243
+ @mixin heading-36($tabular-numbers: false) {
244
+ @include core-36($tabular-numbers: $tabular-numbers);
245
+
246
+ padding-top: 8px;
247
+ padding-bottom: 7px;
248
+
249
+ @include media(tablet){
250
+ padding-top: 6px;
251
+ padding-bottom: 9px;
252
+ }
253
+ }
254
+
255
+ @mixin heading-27($tabular-numbers: false) {
256
+ @include core-27($tabular-numbers: $tabular-numbers);
257
+
258
+ padding-top: 8px;
259
+ padding-bottom: 7px;
260
+
261
+ @include media(tablet){
262
+ padding-top: 4px;
263
+ padding-bottom: 6px;
264
+ }
265
+ }
266
+
267
+ @mixin heading-24($tabular-numbers: false) {
268
+ @include core-24($tabular-numbers: $tabular-numbers);
269
+
270
+ padding-top: 9px;
271
+ padding-bottom: 6px;
272
+
273
+ @include media(tablet){
274
+ padding-top: 6px;
275
+ padding-bottom: 4px;
276
+ }
277
+ }
278
+
279
+ @mixin copy-19($tabular-numbers: false) {
280
+ @include core-19($tabular-numbers: $tabular-numbers);
281
+
282
+ padding-top: 2px;
283
+ padding-bottom: 8px;
284
+
285
+ @include media(tablet){
286
+ padding-top: 0;
287
+ padding-bottom: 5px;
288
+ }
289
+ }
290
+
291
+ @mixin copy-16($tabular-numbers: false) {
292
+ @include core-16($tabular-numbers: $tabular-numbers);
293
+
294
+ padding-top: 8px;
295
+ padding-bottom: 7px;
296
+
297
+ @include media(tablet){
298
+ padding-top: 5px;
299
+ padding-bottom: 5px;
300
+ }
301
+ }
302
+
303
+ @mixin copy-14($tabular-numbers: false) {
304
+ @include core-14($tabular-numbers: $tabular-numbers);
305
+
306
+ padding-top: 8px;
307
+ padding-bottom: 7px;
308
+
309
+ @include media(tablet){
310
+ padding-top: 5px;
311
+ padding-bottom: 5px;
312
+ }
313
+ }
314
+
315
+ // External link styles for all font sizes
316
+
317
+ // Private mixin for use solely by those below
318
+
319
+ @mixin external-link-size($content, $top, $top-hover: top) {
320
+ &:after {
321
+ content: $content;
322
+ background-position: right $top;
323
+ }
324
+
325
+ @if $top-hover == top {
326
+ $top-hover: $top
327
+ }
328
+
329
+ &:hover:after {
330
+ background-position: right $top-hover;
331
+ }
332
+ }
333
+
334
+ @mixin external-link-12-no-hover {
335
+ @include external-link-size($content: "\A0\A0\A0\A0\A0\A0\A0\A0", $top: 0px);
336
+ }
337
+
338
+ @mixin external-link-12 {
339
+ @include external-link-size($content: "\A0\A0\A0\A0\A0\A0\A0\A0", $top: 0px, $top-hover: -388px);
340
+ }
341
+
342
+ @mixin external-link-13-no-hover {
343
+ @include external-link-size($content: "\A0\A0\A0\A0\A0", $top: 1px);
344
+ }
345
+
346
+ @mixin external-link-13 {
347
+ @include external-link-size($content: "\A0\A0\A0\A0\A0", $top: 1px, $top-hover: -387px);
348
+ }
349
+
350
+ @mixin external-link-14 {
351
+ @include external-link-size($content: "\A0\A0\A0\A0\A0", $top: 1px, $top-hover: -387px);
352
+ }
353
+
354
+ @mixin external-link-14-bold-no-hover {
355
+ @include external-link-size($content: "\A0\A0\A0\A0\A0\A0", $top: 2px);
356
+ }
357
+
358
+ @mixin external-link-16 {
359
+ @include external-link-size($content: "\A0\A0\A0\A0\A0", $top: 3px, $top-hover: -385px);
360
+ }
361
+
362
+ @mixin external-link-16-bold-no-hover {
363
+ @include external-link-size($content: "\A0\A0\A0\A0\A0\A0", $top: 3px);
364
+ }
365
+
366
+ @mixin external-link-19-no-hover {
367
+ @include external-link-size($content: "\A0\A0\A0\A0", $top: 6px);
368
+ }
369
+
370
+ @mixin external-link-19 {
371
+ @include external-link-size($content: "\A0\A0\A0\A0", $top: 6px, $top-hover: -382px);
372
+ }
373
+
374
+ @mixin external-link-19-bold-no-hover {
375
+ @include external-link-size($content: "\A0\A0\A0\A0\A0\A0", $top: 6px);
376
+ }
377
+
378
+ @mixin external-link-default {
379
+ &:after {
380
+ background-image: image-url("external-link.png");
381
+ background-repeat: no-repeat;
382
+
383
+ @include device-pixel-ratio() {
384
+ background-image: image-url("external-link-24x24.png");
385
+ background-size: 12px 400px;
386
+ }
387
+ }
388
+ }
389
+
390
+ @mixin external-link-heading {
391
+ &:after {
392
+ background-image: image-url("external-link-black-12x12.png");
393
+ background-repeat: no-repeat;
394
+
395
+ @include device-pixel-ratio() {
396
+ background-image: image-url("external-link-black-24x24.png");
397
+ background-size: 12px 400px;
398
+ }
399
+ }
400
+ }