@amsterdam/design-system-css 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/accordion/accordion.css +1 -1
  3. package/dist/accordion/accordion.css.map +1 -1
  4. package/dist/alert/alert.css +1 -1
  5. package/dist/alert/alert.css.map +1 -1
  6. package/dist/avatar/avatar.css +1 -1
  7. package/dist/avatar/avatar.css.map +1 -1
  8. package/dist/badge/badge.css +1 -1
  9. package/dist/badge/badge.css.map +1 -1
  10. package/dist/breakout/breakout.css +1 -1
  11. package/dist/breakout/breakout.css.map +1 -1
  12. package/dist/button/button.css +1 -1
  13. package/dist/button/button.css.map +1 -1
  14. package/dist/call-to-action-link/call-to-action-link.css +1 -1
  15. package/dist/call-to-action-link/call-to-action-link.css.map +1 -1
  16. package/dist/checkbox/checkbox.css +1 -1
  17. package/dist/checkbox/checkbox.css.map +1 -1
  18. package/dist/description-list/description-list.css +1 -1
  19. package/dist/description-list/description-list.css.map +1 -1
  20. package/dist/dialog/dialog.css +1 -1
  21. package/dist/dialog/dialog.css.map +1 -1
  22. package/dist/field-set/field-set.css.map +1 -1
  23. package/dist/grid/grid.css +1 -1
  24. package/dist/grid/grid.css.map +1 -1
  25. package/dist/heading/heading.css.map +1 -1
  26. package/dist/image-slider/image-slider.css +1 -1
  27. package/dist/image-slider/image-slider.css.map +1 -1
  28. package/dist/index.css +1 -1
  29. package/dist/index.css.map +1 -1
  30. package/dist/label/label.css.map +1 -1
  31. package/dist/menu/menu.css +1 -1
  32. package/dist/menu/menu.css.map +1 -1
  33. package/dist/page-footer/page-footer.css +1 -1
  34. package/dist/page-footer/page-footer.css.map +1 -1
  35. package/dist/page-header/page-header.css +1 -1
  36. package/dist/page-header/page-header.css.map +1 -1
  37. package/dist/page-heading/page-heading.deprecated.css.map +1 -1
  38. package/dist/pagination/pagination.css +1 -1
  39. package/dist/pagination/pagination.css.map +1 -1
  40. package/dist/paragraph/paragraph.css.map +1 -1
  41. package/dist/progress-list/progress-list.css +1 -1
  42. package/dist/progress-list/progress-list.css.map +1 -1
  43. package/dist/radio/radio.css +1 -1
  44. package/dist/radio/radio.css.map +1 -1
  45. package/dist/search-field/search-field.css +1 -1
  46. package/dist/search-field/search-field.css.map +1 -1
  47. package/dist/spotlight/spotlight.css +1 -1
  48. package/dist/spotlight/spotlight.css.map +1 -1
  49. package/dist/switch/switch.css +1 -1
  50. package/dist/switch/switch.css.map +1 -1
  51. package/package.json +3 -3
  52. package/src/common/hide-input.scss +1 -0
  53. package/src/common/print-exact.scss +16 -0
  54. package/src/components/accordion/accordion.scss +1 -1
  55. package/src/components/alert/alert.scss +4 -0
  56. package/src/components/aspect-ratio/README.md +8 -10
  57. package/src/components/avatar/avatar.scss +4 -0
  58. package/src/components/badge/badge.scss +2 -0
  59. package/src/components/breadcrumb/README.md +6 -7
  60. package/src/components/breakout/breakout.scss +6 -6
  61. package/src/components/button/button.scss +2 -0
  62. package/src/components/call-to-action-link/call-to-action-link.scss +2 -0
  63. package/src/components/description-list/description-list.scss +52 -24
  64. package/src/components/dialog/dialog.scss +4 -4
  65. package/src/components/field-set/field-set.scss +1 -5
  66. package/src/components/gap/README.md +2 -3
  67. package/src/components/grid/_mixins.scss +6 -6
  68. package/src/components/grid/grid.scss +2 -2
  69. package/src/components/heading/heading.scss +1 -5
  70. package/src/components/image-slider/image-slider.scss +1 -1
  71. package/src/components/label/label.scss +1 -5
  72. package/src/components/logo/README.md +2 -1
  73. package/src/components/margin/README.md +2 -1
  74. package/src/components/menu/menu.scss +5 -5
  75. package/src/components/page-footer/page-footer.scss +5 -2
  76. package/src/components/page-header/README.md +8 -24
  77. package/src/components/page-header/page-header.scss +11 -13
  78. package/src/components/page-heading/page-heading.deprecated.scss +2 -1
  79. package/src/components/pagination/pagination.scss +4 -0
  80. package/src/components/paragraph/paragraph.scss +1 -5
  81. package/src/components/progress-list/progress-list.scss +76 -7
  82. package/src/components/search-field/search-field.scss +2 -0
  83. package/src/components/spotlight/spotlight.scss +4 -0
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  @use "../../common/hyphenation" as *;
7
+ @use "../../common/print-exact" as *;
7
8
  @use "../../common/text-rendering" as *;
8
9
 
9
10
  .ams-call-to-action-link {
@@ -22,6 +23,7 @@
22
23
  touch-action: manipulation;
23
24
 
24
25
  @include hyphenation;
26
+ @include print-exact;
25
27
  @include text-rendering;
26
28
 
27
29
  &:hover {
@@ -20,7 +20,7 @@
20
20
  @include text-rendering;
21
21
  }
22
22
 
23
- @media screen and (min-width: $ams-breakpoint-medium) {
23
+ @media (min-width: $ams-breakpoint-medium) {
24
24
  .ams-description-list,
25
25
  .ams-description-list__section {
26
26
  align-items: start;
@@ -50,29 +50,64 @@
50
50
  }
51
51
 
52
52
  .ams-description-list__term {
53
+ font-size: var(--ams-description-list-term-font-size);
53
54
  font-weight: var(--ams-description-list-term-font-weight);
55
+ line-height: var(--ams-description-list-term-line-height);
54
56
  margin-block-end: var(--ams-description-list-term-margin-block-end);
55
57
 
58
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
59
+ text-wrap: var(--ams-description-list-term-text-wrap);
60
+
61
+ @media (min-width: $ams-breakpoint-medium) {
62
+ grid-column-start: 1;
63
+
64
+ // Add margin for Terms that are longer than their Description(s)
65
+ margin-block-end: var(--ams-description-list-term-vi-medium-margin-block-end);
66
+
67
+ // Add half of the difference in computed line heights to align Terms with Descriptions.
68
+ // - Terms use heading line heights; Descriptions use body text
69
+ // - Not for Terms that follow a Term, or which are the last child
70
+ &:not(& + &, :last-child) {
71
+ padding-block-start: calc(
72
+ (
73
+ var(--ams-description-list-font-size) *
74
+ var(--ams-description-list-line-height) - var(--ams-description-list-term-font-size) *
75
+ var(--ams-description-list-term-line-height)
76
+ ) /
77
+ 2
78
+ );
79
+ }
80
+ }
81
+
56
82
  // Remove whitespace between consecutive Terms
57
83
  /* stylelint-disable-next-line plugin/use-baseline -- Suboptimal spacing in non-supporting browsers is acceptable */
58
84
  &:has(+ .ams-description-list__term) {
59
85
  margin-block-end: 0;
60
86
  }
87
+ }
61
88
 
62
- @media screen and (min-width: $ams-breakpoint-medium) {
63
- // Make sure all Terms are in the second column
64
- grid-column-start: 1;
89
+ .ams-description-list__description {
90
+ @include reset-dd;
65
91
 
66
- // Depend on Descriptions for vertical spacing
67
- margin-block-end: 0;
92
+ font-weight: var(--ams-description-list-description-font-weight);
93
+ margin-block-end: var(--ams-description-list-description-margin-block-end);
94
+ padding-inline-start: var(--ams-description-list-description-padding-inline-start);
95
+
96
+ @media (min-width: $ams-breakpoint-medium) {
97
+ grid-column-start: 2;
98
+ padding-inline-start: 0;
99
+
100
+ // Make sure the first Description starts at the top row
101
+ &:first-of-type {
102
+ grid-row-start: 1;
103
+ }
68
104
  }
69
105
  }
70
106
 
71
107
  .ams-description-list__section {
72
108
  margin-block-end: var(--ams-description-list-section-margin-block-end);
73
109
 
74
- @media screen and (min-width: $ams-breakpoint-medium) {
75
- // Let a Section span both columns of the parent List
110
+ @media (min-width: $ams-breakpoint-medium) {
76
111
  grid-column: span 2;
77
112
 
78
113
  > :only-of-type {
@@ -82,22 +117,6 @@
82
117
  }
83
118
  }
84
119
 
85
- .ams-description-list__description {
86
- @include reset-dd;
87
-
88
- font-weight: var(--ams-description-list-description-font-weight);
89
- margin-block-end: var(--ams-description-list-description-margin-block-end);
90
- padding-inline-start: var(--ams-description-list-description-padding-inline-start);
91
-
92
- @media screen and (min-width: $ams-breakpoint-medium) {
93
- // Make sure all Descriptions are in the second column
94
- grid-column-start: 2;
95
-
96
- // Remove indentation in 2-column layout
97
- padding-inline-start: 0;
98
- }
99
- }
100
-
101
120
  // Remove trailing margins
102
121
  /* stylelint-disable-next-line no-duplicate-selectors -- Natural reading order, prevents descending specificity */
103
122
  .ams-description-list {
@@ -109,3 +128,12 @@
109
128
  margin-block-end: 0;
110
129
  }
111
130
  }
131
+
132
+ @media (min-width: $ams-breakpoint-medium) {
133
+ .ams-description-list,
134
+ .ams-description-list > .ams-description-list__section:last-child {
135
+ > .ams-description-list__term:last-of-type {
136
+ margin-block-end: 0;
137
+ }
138
+ }
139
+ }
@@ -25,7 +25,7 @@ so do not apply these styles without an `open` attribute. */
25
25
  max-block-size: var(--ams-dialog-max-block-size);
26
26
  max-inline-size: var(--ams-dialog-max-inline-size);
27
27
 
28
- @media screen and (min-width: $ams-breakpoint-medium) {
28
+ @media (min-width: $ams-breakpoint-medium) {
29
29
  inline-size: var(--ams-dialog-medium-inline-size);
30
30
  max-block-size: var(--ams-dialog-medium-max-block-size);
31
31
  }
@@ -47,7 +47,7 @@ so do not apply these styles without an `open` attribute. */
47
47
  padding-block: var(--ams-dialog-header-padding-block);
48
48
  padding-inline: var(--ams-dialog-header-padding-inline);
49
49
 
50
- @media screen and (min-width: $ams-breakpoint-medium) {
50
+ @media (min-width: $ams-breakpoint-medium) {
51
51
  padding-block: var(--ams-dialog-header-medium-padding-block);
52
52
  padding-inline: var(--ams-dialog-header-medium-padding-inline);
53
53
  }
@@ -59,7 +59,7 @@ so do not apply these styles without an `open` attribute. */
59
59
  padding-block: var(--ams-dialog-body-padding-block);
60
60
  padding-inline: var(--ams-dialog-body-padding-inline);
61
61
 
62
- @media screen and (min-width: $ams-breakpoint-medium) {
62
+ @media (min-width: $ams-breakpoint-medium) {
63
63
  padding-inline: var(--ams-dialog-body-medium-padding-inline);
64
64
  }
65
65
  }
@@ -68,7 +68,7 @@ so do not apply these styles without an `open` attribute. */
68
68
  padding-block: var(--ams-dialog-footer-padding-block);
69
69
  padding-inline: var(--ams-dialog-footer-padding-inline);
70
70
 
71
- @media screen and (min-width: $ams-breakpoint-medium) {
71
+ @media (min-width: $ams-breakpoint-medium) {
72
72
  padding-block: var(--ams-dialog-footer-medium-padding-block);
73
73
  padding-inline: var(--ams-dialog-footer-medium-padding-inline);
74
74
  }
@@ -53,11 +53,7 @@
53
53
  font-weight: var(--ams-field-set-legend-font-weight);
54
54
  line-height: var(--ams-field-set-legend-line-height);
55
55
 
56
- /*
57
- * If text-wrap is not supported, it is ignored.
58
- * This means the wrapped text will look less balanced, which is fine.
59
- */
60
- /* stylelint-disable-next-line plugin/use-baseline */
56
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
61
57
  text-wrap: var(--ams-field-set-legend-text-wrap);
62
58
 
63
59
  @include hyphenation;
@@ -14,11 +14,10 @@ Five options are available for the width or height of the gap:
14
14
  - `ams-gap-l`
15
15
  - `ams-gap-xl`
16
16
 
17
+ These classes apply the [design tokens for space](/docs/brand-design-tokens-space--docs).
18
+
17
19
  Because spacing is responsive, the gaps are as well.
18
20
  They are also smaller in [Compact Mode](https://designsystem.amsterdam/docs/docs-developer-guide-modes--docs).
19
- Consult the [Space](/docs/brand-design-tokens-space--docs) docs for an indication of their sizes.
20
-
21
- The `2xl` space is intended for whitespace around a [Grid](/docs/components-layout-grid--docs) only, which can be produced through a `padding*` of `large`.
22
21
 
23
22
  ## Guidelines
24
23
 
@@ -14,12 +14,12 @@
14
14
  padding-inline: var(--ams-grid-padding-inline);
15
15
  row-gap: var(--ams-grid-row-gap-xl);
16
16
 
17
- @media screen and (min-width: $ams-breakpoint-medium) {
17
+ @media (min-width: $ams-breakpoint-medium) {
18
18
  grid-template-columns: repeat(var(--ams-grid-medium-column-count), 1fr);
19
19
  padding-inline: var(--ams-grid-medium-padding-inline);
20
20
  }
21
21
 
22
- @media screen and (min-width: $ams-breakpoint-wide) {
22
+ @media (min-width: $ams-breakpoint-wide) {
23
23
  grid-template-columns: repeat(var(--ams-grid-wide-column-count), 1fr);
24
24
  padding-inline: var(--ams-grid-wide-padding-inline);
25
25
  }
@@ -92,25 +92,25 @@
92
92
  }
93
93
 
94
94
  @mixin ams-grid__cell--span-medium($i) {
95
- @media screen and (min-width: $ams-breakpoint-medium) {
95
+ @media (min-width: $ams-breakpoint-medium) {
96
96
  grid-column-end: span $i;
97
97
  }
98
98
  }
99
99
 
100
100
  @mixin ams-grid__cell--start-medium($i) {
101
- @media screen and (min-width: $ams-breakpoint-medium) {
101
+ @media (min-width: $ams-breakpoint-medium) {
102
102
  grid-column-start: $i;
103
103
  }
104
104
  }
105
105
 
106
106
  @mixin ams-grid__cell--span-wide($i) {
107
- @media screen and (min-width: $ams-breakpoint-wide) {
107
+ @media (min-width: $ams-breakpoint-wide) {
108
108
  grid-column-end: span $i;
109
109
  }
110
110
  }
111
111
 
112
112
  @mixin ams-grid__cell--start-wide($i) {
113
- @media screen and (min-width: $ams-breakpoint-wide) {
113
+ @media (min-width: $ams-breakpoint-wide) {
114
114
  grid-column-start: $i;
115
115
  }
116
116
  }
@@ -81,7 +81,7 @@ $ams-grid-column-count: 12;
81
81
  }
82
82
  }
83
83
 
84
- @media screen and (min-width: $ams-breakpoint-medium) {
84
+ @media (min-width: $ams-breakpoint-medium) {
85
85
  @for $i from 1 through $ams-grid-column-count {
86
86
  .ams-grid__cell--span-#{$i}-medium {
87
87
  @include ams-grid__cell--span-medium($i);
@@ -93,7 +93,7 @@ $ams-grid-column-count: 12;
93
93
  }
94
94
  }
95
95
 
96
- @media screen and (min-width: $ams-breakpoint-wide) {
96
+ @media (min-width: $ams-breakpoint-wide) {
97
97
  @for $i from 1 through $ams-grid-column-count {
98
98
  .ams-grid__cell--span-#{$i}-wide {
99
99
  @include ams-grid__cell--span-wide($i);
@@ -23,11 +23,7 @@
23
23
  font-family: var(--ams-heading-font-family);
24
24
  font-weight: var(--ams-heading-font-weight);
25
25
 
26
- /*
27
- * If text-wrap is not supported, it is ignored.
28
- * This means the wrapped text will look less balanced, which is fine.
29
- */
30
- /* stylelint-disable-next-line plugin/use-baseline */
26
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
31
27
  text-wrap: var(--ams-heading-text-wrap);
32
28
 
33
29
  @include hyphenation;
@@ -46,7 +46,7 @@
46
46
  display: none;
47
47
  }
48
48
 
49
- @media not (prefers-reduced-motion) {
49
+ @media (prefers-reduced-motion: no-preference) {
50
50
  scroll-behavior: smooth;
51
51
  }
52
52
  }
@@ -14,11 +14,7 @@
14
14
  font-weight: var(--ams-label-font-weight);
15
15
  line-height: var(--ams-label-line-height);
16
16
 
17
- /*
18
- * If text-wrap is not supported, it is ignored.
19
- * This means the wrapped text will look less balanced, which is fine.
20
- */
21
- /* stylelint-disable-next-line plugin/use-baseline */
17
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
22
18
  text-wrap: var(--ams-label-text-wrap);
23
19
 
24
20
  @include hyphenation;
@@ -14,12 +14,13 @@ The English logo is used for websites in the English language.
14
14
 
15
15
  ## Exception
16
16
 
17
- Use a sub-brand logo if the website is owned by one of the 5 sub-brands.
17
+ Websites operated by one of the sub-brands use their specific logo.
18
18
  They have a separate status because of their unique service provision not directly associated with the City.
19
19
 
20
20
  The sub-brands are:
21
21
 
22
22
  - GGD Amsterdam
23
+ - GGD Amsterdam Inspectie
23
24
  - Museum Weesp
24
25
  - Stadsarchief
25
26
  - Stadsbank van Lening
@@ -15,9 +15,10 @@ Six options are available for the width or height of the bottom margin:
15
15
  - `ams-mb-xl`
16
16
  - `ams-mb-2xl`
17
17
 
18
+ These classes apply the [design tokens for space](/docs/brand-design-tokens-space--docs).
19
+
18
20
  Because spacing is responsive, the margins are as well.
19
21
  They are also smaller in [Compact Mode](https://designsystem.amsterdam/docs/docs-developer-guide-modes--docs).
20
- Consult the [Space](/docs/brand-design-tokens-space--docs) docs for an indication of their sizes.
21
22
 
22
23
  ## Guidelines
23
24
 
@@ -23,12 +23,12 @@
23
23
  // We subtract the menu link padding to align the items with surrounding content.
24
24
  padding-inline: calc(var(--ams-grid-padding-inline) - var(--ams-menu-link-padding-inline));
25
25
 
26
- @media screen and (min-width: $ams-breakpoint-medium) {
26
+ @media (min-width: $ams-breakpoint-medium) {
27
27
  margin-inline: calc(var(--ams-grid-medium-padding-inline) * -1);
28
28
  padding-inline: var(--ams-grid-medium-padding-inline);
29
29
  }
30
30
 
31
- @media screen and (min-width: $ams-breakpoint-wide) {
31
+ @media (min-width: $ams-breakpoint-wide) {
32
32
  display: none;
33
33
  margin-inline: 0; // Override negative margin above.
34
34
  max-inline-size: var(--ams-menu-wide-max-inline-size);
@@ -40,7 +40,7 @@
40
40
  .ams-menu--in-wide-window {
41
41
  display: none;
42
42
 
43
- @media screen and (min-width: $ams-breakpoint-wide) {
43
+ @media (min-width: $ams-breakpoint-wide) {
44
44
  display: block;
45
45
  }
46
46
  }
@@ -53,7 +53,7 @@
53
53
  @include hyphenation;
54
54
  @include text-rendering;
55
55
 
56
- @media screen and (min-width: $ams-breakpoint-wide) {
56
+ @media (min-width: $ams-breakpoint-wide) {
57
57
  gap: var(--ams-menu-list-gap);
58
58
  }
59
59
  }
@@ -79,7 +79,7 @@
79
79
  align-self: initial;
80
80
  }
81
81
 
82
- @media screen and (min-width: $ams-breakpoint-wide) {
82
+ @media (min-width: $ams-breakpoint-wide) {
83
83
  align-items: center;
84
84
  display: flex; // The links do stretch in the vertical layout of Menu.
85
85
  flex-direction: column;
@@ -5,11 +5,14 @@
5
5
 
6
6
  @use "../../common/breakpoint" as *;
7
7
  @use "../../common/hyphenation" as *;
8
+ @use "../../common/print-exact" as *;
8
9
  @use "../../common/resets" as *;
9
10
  @use "../../common/text-rendering" as *;
10
11
 
11
12
  .ams-page-footer__spotlight {
12
13
  background-color: var(--ams-page-footer-spotlight-background-color);
14
+
15
+ @include print-exact;
13
16
  }
14
17
 
15
18
  .ams-page-footer__menu {
@@ -22,11 +25,11 @@
22
25
  padding-inline: var(--ams-page-footer-menu-padding-inline);
23
26
  row-gap: var(--ams-page-footer-menu-row-gap);
24
27
 
25
- @media screen and (min-width: $ams-breakpoint-medium) {
28
+ @media (min-width: $ams-breakpoint-medium) {
26
29
  padding-inline: var(--ams-page-footer-menu-medium-padding-inline);
27
30
  }
28
31
 
29
- @media screen and (min-width: $ams-breakpoint-wide) {
32
+ @media (min-width: $ams-breakpoint-wide) {
30
33
  padding-inline: var(--ams-page-footer-menu-wide-padding-inline);
31
34
  }
32
35
  }
@@ -2,30 +2,14 @@
2
2
 
3
3
  # Page Header
4
4
 
5
- Displays the City’s logo at the top of every page, and optionally a navigation menu.
6
- Includes the name of the website if it is not the general one.
5
+ Conveys the origin and authority of the website through a logo and an optional name.
6
+ Can serve as a consistent starting point for navigation.
7
7
 
8
8
  ## Guidelines
9
9
 
10
- - The Page Header must be used on all websites for the City of Amsterdam.
11
- - It includes the logo of the City or the organization, the site title (except for the general website), and a menu with links to commonly used pages.
12
- - The Page Header is important because it conveys our corporate identity and is the first thing people see.
13
- Using it consistently helps users recognize and trust the website.
14
- - The Page Header is the same on every page of the website, although full-screen pages may hide it, e.g. a video or a map.
15
- - The inline menu can contain a maximum of 5 items.
16
- The last two will often be ‘Search’ and ‘Menu’.
17
- - An icon can be added to such a menu item if it helps clarify it, e.g. for searching and for logging in and out.
18
- - The 'Menu' button opens a collapsible menu, which has room for more links.
19
- - On narrow windows, links can move from the inline menu to the collapsible one.
20
- - Labels should be short to help the inline menu fit on a single line whenever possible.
21
- - An icon can be added to the end of a link to make its destination easier to guess.
22
- - For websites with a brand name that feature the standard Amsterdam logo, only the emblem is shown in narrow windows.
23
- - An abbreviated brand name can be shown in narrow or medium-wide windows if the full name does not fit.
24
- - If the collapsible menu contains [Headings](https://designsystem.amsterdam/?path=/docs/components-text-heading--docs), give them level 2 and a size of ‘level-3’.
25
- - There’s no need to add whitespace to the Grid in the collapsible menu.
26
- Its container already does this.
27
-
28
- ## References
29
-
30
- - A Page Header is a [landmark](https://www.w3.org/TR/wai-aria-practices-1.1/#aria_landmark_roles) and can be used to group navigation elements.
31
- - [WCAG 3.2.3](https://wcag.com/designers/3-2-3-consistent-navigation/) Consistent Navigation: Navigation menus that appear on multiple pages are consistent.
10
+ - All our websites must start with the Page Header.
11
+ Consistent use helps people identify, navigate, and trust our digital channels.
12
+ - The Page Header must show the appropriate logo and brand name.
13
+ The navigation structure can be configured freely.
14
+ - The Page Header is the same on every page of the website, although full-screen pages (e.g. a video or map) may hide it.
15
+ - Continue below to the [guidelines for elements](#guidelines-for-elements).
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  @use "../../common/breakpoint" as *;
7
+ @use "../../common/print-exact" as *;
7
8
  @use "../../common/resets" as *;
8
9
  @use "../../common/text-rendering" as *;
9
10
 
@@ -18,11 +19,11 @@
18
19
  padding-block: var(--ams-page-header-padding-block);
19
20
  padding-inline: var(--ams-page-header-padding-inline);
20
21
 
21
- @media screen and (min-width: $ams-breakpoint-medium) {
22
+ @media (min-width: $ams-breakpoint-medium) {
22
23
  padding-inline: var(--ams-page-header-medium-padding-inline);
23
24
  }
24
25
 
25
- @media screen and (min-width: $ams-breakpoint-wide) {
26
+ @media (min-width: $ams-breakpoint-wide) {
26
27
  padding-inline: var(--ams-page-header-wide-padding-inline);
27
28
  }
28
29
  }
@@ -60,7 +61,7 @@
60
61
  inline-size: 0.75rem;
61
62
  overflow: hidden;
62
63
 
63
- @media screen and (min-width: $ams-breakpoint-medium) {
64
+ @media (min-width: $ams-breakpoint-medium) {
64
65
  inline-size: auto;
65
66
  }
66
67
  }
@@ -72,23 +73,19 @@
72
73
  font-weight: var(--ams-page-header-brand-name-font-weight);
73
74
  line-height: var(--ams-page-header-brand-name-line-height);
74
75
 
75
- /*
76
- * If text-wrap is not supported, it is ignored.
77
- * This means the wrapped text will look less balanced, which is fine.
78
- */
79
- /* stylelint-disable-next-line plugin/use-baseline */
76
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
80
77
  text-wrap: var(--ams-page-header-brand-name-text-wrap);
81
78
  }
82
79
 
83
80
  .ams-page-header__brand-name-short {
84
- @media screen and (min-width: $ams-breakpoint-wide) {
81
+ @media (min-width: $ams-breakpoint-wide) {
85
82
  display: none;
86
83
  }
87
84
 
88
85
  & + .ams-page-header__brand-name {
89
86
  display: none;
90
87
 
91
- @media screen and (min-width: $ams-breakpoint-wide) {
88
+ @media (min-width: $ams-breakpoint-wide) {
92
89
  display: initial;
93
90
  }
94
91
  }
@@ -120,7 +117,7 @@
120
117
 
121
118
  // Do not show menu items below the wide breakpoint...
122
119
  .ams-page-header__menu-item {
123
- @media screen and (not (min-width: $ams-breakpoint-wide)) {
120
+ @media (not (min-width: $ams-breakpoint-wide)) {
124
121
  display: none;
125
122
  }
126
123
  }
@@ -166,7 +163,7 @@
166
163
  }
167
164
 
168
165
  .ams-page-header__mega-menu-button-item--hide-on-wide-window {
169
- @media screen and (min-width: $ams-breakpoint-wide) {
166
+ @media (min-width: $ams-breakpoint-wide) {
170
167
  display: none;
171
168
  }
172
169
  }
@@ -184,6 +181,7 @@
184
181
  padding-inline: var(--ams-page-header-mega-menu-button-padding-inline);
185
182
 
186
183
  @include page-header-menu-action;
184
+ @include print-exact;
187
185
 
188
186
  &:hover {
189
187
  background-color: var(--ams-page-header-mega-menu-button-hover-background-color);
@@ -245,7 +243,7 @@
245
243
  .ams-page-header__grid-cell-narrow-window-only {
246
244
  display: initial; // Override the `hidden` attribute; this cell duplicates the non-fixed links in the Page Header Menu.
247
245
 
248
- @media screen and (min-width: $ams-breakpoint-wide) {
246
+ @media (min-width: $ams-breakpoint-wide) {
249
247
  display: none;
250
248
  }
251
249
  }
@@ -20,7 +20,8 @@
20
20
  font-size: var(--ams-page-heading-font-size);
21
21
  font-weight: var(--ams-page-heading-font-weight);
22
22
  line-height: var(--ams-page-heading-line-height);
23
- /* stylelint-disable-next-line plugin/use-baseline */
23
+
24
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
24
25
  text-wrap: var(--ams-page-heading-text-wrap);
25
26
 
26
27
  @include hyphenation;
@@ -48,6 +48,10 @@
48
48
  }
49
49
  }
50
50
 
51
+ .ams-pagination__link-label {
52
+ display: inline; // Override the default 'hidden' attribute, showing the visible label when CSS loads
53
+ }
54
+
51
55
  .ams-pagination__link[aria-current="page"] {
52
56
  font-weight: var(--ams-pagination-link-current-font-weight);
53
57
 
@@ -25,11 +25,7 @@
25
25
  font-size: var(--ams-paragraph-large-font-size);
26
26
  line-height: var(--ams-paragraph-large-line-height);
27
27
 
28
- /*
29
- * If text-wrap is not supported, it is ignored.
30
- * This means the wrapped text will look less balanced, which is fine.
31
- */
32
- /* stylelint-disable-next-line plugin/use-baseline */
28
+ /* stylelint-disable-next-line plugin/use-baseline -- Unbalanced line lengths in non-supporting browsers are acceptable */
33
29
  text-wrap: var(--ams-paragraph-large-text-wrap);
34
30
  }
35
31