_header.scss 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. @use 'sass:math';
  2. @use 'sass:color';
  3. .w-header {
  4. @apply w-text-text-label;
  5. margin-bottom: theme('spacing.8');
  6. h1,
  7. h2 {
  8. @apply w-text-text-label;
  9. margin: 0;
  10. }
  11. h1,
  12. .w-header__title {
  13. @apply w-h1;
  14. position: relative;
  15. }
  16. .w-header__glyph {
  17. position: absolute;
  18. inset-inline-start: calc(0 - theme('spacing.11'));
  19. vertical-align: text-top;
  20. &.icon {
  21. top: 0.125em;
  22. max-width: 1em;
  23. max-height: 1em;
  24. }
  25. }
  26. .w-header__subtitle {
  27. margin-inline-start: theme('spacing[1.5]');
  28. font-weight: theme('fontWeight.normal');
  29. }
  30. // Give padding to the rows inside of headers so that nested breadcrumbs aren't padded by their parent header el.
  31. // Use w-header--with-padding for headers that don't contain .row elements.
  32. &.w-header--with-padding,
  33. > .row {
  34. padding-top: theme('spacing.2');
  35. padding-bottom: theme('spacing.[2.5]');
  36. padding-inline-start: 110px;
  37. padding-inline-end: theme('spacing.5');
  38. }
  39. &.w-header--merged .w-breadcrumbs {
  40. padding-inline-start: $mobile-nav-indent;
  41. }
  42. .col {
  43. float: inline-start;
  44. margin-inline-end: 2em;
  45. }
  46. .left {
  47. float: inline-start;
  48. display: flex;
  49. align-items: center;
  50. flex-wrap: wrap;
  51. }
  52. .right {
  53. display: flex;
  54. gap: theme('spacing[2.5]');
  55. text-align: end;
  56. float: inline-end;
  57. }
  58. // For case where content below header should merge with it
  59. &.w-header--merged {
  60. margin-bottom: 0;
  61. padding-bottom: theme('spacing.1');
  62. }
  63. &.w-header--no-border {
  64. border: 0;
  65. }
  66. &.w-header--merged.w-header--no-border {
  67. padding-bottom: 0;
  68. }
  69. .error-message {
  70. color: inherit;
  71. }
  72. .last-updated {
  73. ul {
  74. padding: 0;
  75. }
  76. li {
  77. display: inline;
  78. margin-inline-end: 2em;
  79. }
  80. a {
  81. font-weight: theme('fontWeight.bold');
  82. }
  83. }
  84. }
  85. @include media-breakpoint-up(sm) {
  86. .w-header {
  87. .row {
  88. padding-inline-start: $desktop-nice-padding;
  89. padding-inline-end: $desktop-nice-padding;
  90. padding-top: theme('spacing.10');
  91. }
  92. &.w-header--merged .w-breadcrumbs {
  93. padding-inline-start: 0;
  94. }
  95. .left {
  96. float: inline-start;
  97. margin-inline-end: 0;
  98. &:first-child {
  99. padding-bottom: 0;
  100. float: inline-start;
  101. }
  102. }
  103. .second {
  104. clear: none;
  105. .right,
  106. .left {
  107. float: inline-end;
  108. }
  109. }
  110. .col3 {
  111. @include column(3);
  112. }
  113. .col3.actionbutton {
  114. width: auto;
  115. }
  116. .col6 {
  117. @include column(6);
  118. }
  119. .col9 {
  120. @include column(9);
  121. }
  122. }
  123. }
  124. .w-slim-header {
  125. @include more-contrast() {
  126. border-color: theme('colors.border-furniture-more-contrast');
  127. }
  128. &__search-form {
  129. @apply w-mx-2 w-flex w-items-center w-gap-2;
  130. }
  131. .w-field__wrapper:not(.w-drilldown .w-field__wrapper) {
  132. @apply w-mb-0;
  133. .w-field__input {
  134. @apply w-mt-0;
  135. > input,
  136. > select {
  137. @apply w-text-16;
  138. min-height: theme('spacing.10');
  139. }
  140. }
  141. }
  142. }