_header.scss 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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. @include media( laptop-only ){ // TODO - use $navigation-max-break-point variable
  79. .primary-menu-container {
  80. .admin-bar & {
  81. top: $site-branding-height + $admin-bar-height;
  82. }
  83. a {
  84. color: var(--primary-nav--dropdown-color-link);
  85. }
  86. }
  87. .social-navigation a {
  88. color: var(--primary-nav--dropdown-color-link);
  89. }
  90. }
  91. button#primary-close-menu {
  92. color: var(--global--color-secondary);
  93. margin: 0;
  94. padding: var(--global--spacing-horizontal);
  95. position: fixed;
  96. top: 0;
  97. right: 0;
  98. .admin-bar & {
  99. top: $admin-bar-height;
  100. }
  101. &:hover {
  102. color: var(--global--color-primary);
  103. }
  104. }
  105. }
  106. .primary-navigation .menu-item-has-children > .svg-icon {
  107. margin-top: -2px;
  108. margin-left: -2px;
  109. }
  110. .primary-navigation > div > ul li, .woo-navigation > div > ul li {
  111. color: var(--global--color-secondary);
  112. a:hover {
  113. border-color: transparent;
  114. color: var(--global--color-primary);
  115. }
  116. }
  117. > .site-branding, > nav {
  118. margin: 0;
  119. }
  120. .social-navigation {
  121. flex-basis: 100%;
  122. ul {
  123. justify-content: flex-start;
  124. flex-wrap: nowrap;
  125. margin-top: var(--social-nav--padding);
  126. li {
  127. margin: 0;
  128. padding: 0 var(--social-nav--padding) 0 0;
  129. }
  130. }
  131. @include media( laptop ){
  132. flex-basis: auto;
  133. ul {
  134. justify-content: flex-end;
  135. margin-top: 0;
  136. li {
  137. padding: 0 0 0 var(--social-nav--padding);
  138. }
  139. }
  140. }
  141. .menu-item {
  142. width: auto;
  143. > a {
  144. padding: 0;
  145. &:hover {
  146. border-color: var(--primary-nav--color-border);
  147. color: var(--primary-nav--color-link-hover);
  148. }
  149. }
  150. }
  151. }
  152. }
  153. .has-title-and-tagline {
  154. .site-logo {
  155. margin: 0;
  156. @include media( laptop ){
  157. padding-bottom: var(--global--spacing-vertical);
  158. }
  159. }
  160. .site-branding {
  161. align-self: flex-start;
  162. }
  163. }
  164. .primary-navigation-open {
  165. .site-header {
  166. padding-top: 0;
  167. }
  168. .has-title-and-tagline .site-logo {
  169. display: none;
  170. }
  171. }
  172. .site-header div.menu-button-container {
  173. button#primary-open-menu {
  174. padding: var(--global--spacing-horizontal);
  175. margin-top: 0;
  176. margin-right: 0;
  177. &:before {
  178. margin: 0;
  179. }
  180. }
  181. #woo-open-menu {
  182. margin-left: auto;
  183. }
  184. .primary-navigation-open & {
  185. margin: 0;
  186. }
  187. }