_header.scss 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. $admin-bar-height: 46px;
  2. $site-branding-height: 68px;
  3. .has-main-navigation { // to override seedlet
  4. .site-header {
  5. padding: var(--global--spacing-vertical) 0;
  6. @include media( laptop ) {
  7. padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
  8. }
  9. a {
  10. text-decoration: none;
  11. }
  12. @include media( laptop-only ) {
  13. .site-title {
  14. margin: 0;
  15. }
  16. .site-description {
  17. display: none;
  18. }
  19. }
  20. }
  21. }
  22. .has-sticky-post .site-header {
  23. background: var(--sticky-posts--color-background);
  24. }
  25. .site-header {
  26. display: grid;
  27. grid-template-areas:
  28. "site-logo site-logo site-logo"
  29. "branding branding primary-navigation";
  30. grid-template-columns: 0.5fr 1fr 0.5fr;
  31. grid-template-rows: auto;
  32. grid-column-gap: 16px;
  33. max-width: var(--responsive--alignfull-width);
  34. padding: var(--global--spacing-vertical) 0;
  35. @include media( laptop ) {
  36. grid-template-areas:
  37. "site-logo site-logo site-logo"
  38. "branding primary-navigation primary-navigation";
  39. padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
  40. }
  41. .site-branding {
  42. grid-area: branding;
  43. padding: var(--global--spacing-horizontal);
  44. text-align: left;
  45. justify-self: flex-start;
  46. align-self: center;
  47. @include media( laptop ) {
  48. padding: 0;
  49. }
  50. .site-logo {
  51. margin-left: 0;
  52. margin-top: 0;
  53. }
  54. .site-title {
  55. margin-bottom: 4px;
  56. > a {
  57. background: inherit;
  58. text-decoration: none;
  59. text-shadow: none;
  60. }
  61. }
  62. }
  63. .site-logo {
  64. grid-area: site-logo;
  65. margin: 0;
  66. a {
  67. display: block;
  68. &:hover {
  69. border-color: transparent;
  70. }
  71. }
  72. }
  73. .primary-navigation-wrapper {
  74. margin-bottom: 6px;
  75. }
  76. .primary-navigation {
  77. margin-top: 0;
  78. position: relative;
  79. @include media( laptop-only ) { // TODO - use $navigation-max-break-point variable
  80. .primary-menu-container {
  81. .admin-bar & {
  82. top: $site-branding-height + $admin-bar-height;
  83. }
  84. a {
  85. color: var(--primary-nav--dropdown-color-link);
  86. }
  87. }
  88. .social-navigation a {
  89. color: var(--primary-nav--dropdown-color-link);
  90. }
  91. }
  92. button#primary-close-menu {
  93. color: var(--global--color-secondary);
  94. margin: 0;
  95. margin-top: 0.25rem;
  96. padding: var(--global--spacing-horizontal);
  97. position: relative;
  98. top: 0;
  99. right: 0;
  100. float: right;
  101. .has-marketing-bar & {
  102. top: calc(-1 * var(--wpcom-marketing-bar--height));
  103. }
  104. .admin-bar & {
  105. top: calc(-1 * var(--wpadmin-bar--height));
  106. }
  107. .admin-bar.has-marketing-bar & {
  108. top: calc(calc(-1 * var(--wpadmin-bar--height)) + calc(-1 * var(--wpcom-marketing-bar--height)));
  109. }
  110. &:hover {
  111. color: var(--global--color-primary);
  112. }
  113. }
  114. }
  115. .primary-navigation .menu-item-has-children > .svg-icon {
  116. margin-top: -2px;
  117. margin-left: -2px;
  118. }
  119. .primary-navigation > div > ul li,
  120. .woo-navigation > div > ul li {
  121. color: var(--global--color-secondary);
  122. a:hover {
  123. border-color: transparent;
  124. color: var(--global--color-primary);
  125. }
  126. }
  127. > .site-branding,
  128. > nav {
  129. margin: 0;
  130. }
  131. .social-navigation {
  132. flex-basis: 100%;
  133. ul {
  134. justify-content: flex-start;
  135. flex-wrap: nowrap;
  136. margin-top: var(--social-nav--padding);
  137. li {
  138. margin: 0;
  139. padding: 0 var(--social-nav--padding) 0 0;
  140. }
  141. }
  142. @include media( laptop ) {
  143. flex-basis: auto;
  144. ul {
  145. justify-content: flex-end;
  146. margin-top: 0;
  147. li {
  148. padding: 0 0 0 var(--social-nav--padding);
  149. }
  150. }
  151. }
  152. .menu-item {
  153. width: auto;
  154. > a {
  155. padding: 0;
  156. &:hover {
  157. border-color: var(--primary-nav--color-border);
  158. color: var(--primary-nav--color-link-hover);
  159. }
  160. }
  161. }
  162. }
  163. }
  164. .has-title-and-tagline {
  165. .site-logo {
  166. margin: 0;
  167. @include media( laptop ) {
  168. padding-bottom: var(--global--spacing-vertical);
  169. }
  170. }
  171. .site-branding {
  172. align-self: flex-start;
  173. }
  174. }
  175. .primary-navigation-open {
  176. .site-header {
  177. padding-top: 0;
  178. }
  179. .has-title-and-tagline .site-logo {
  180. display: none;
  181. }
  182. }
  183. .site-header div.menu-button-container {
  184. button#primary-open-menu {
  185. padding: var(--global--spacing-horizontal);
  186. margin-top: 0;
  187. margin-right: 0;
  188. &::before {
  189. margin: 0;
  190. }
  191. }
  192. #woo-open-menu {
  193. margin-left: auto;
  194. }
  195. .primary-navigation-open & {
  196. margin: 0;
  197. }
  198. }