_header.scss 3.8 KB

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