primary-menu.css 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. /* --------------- Primary Menu ------------ */
  2. .region-primary-menu {
  3. clear: both;
  4. }
  5. .region-primary-menu .menu {
  6. font-size: 0.929em;
  7. margin: 0 5px;
  8. padding: 0;
  9. text-align: left; /* LTR */
  10. }
  11. [dir="rtl"] .region-primary-menu .menu {
  12. text-align: right;
  13. margin-left: 5px; /* This is required to win over specificity of [dir="rtl"] ul.menu */
  14. margin-right: 5px; /* This is required to win over specificity of [dir="rtl"] ul.menu */
  15. }
  16. .region-primary-menu .menu-item {
  17. float: none;
  18. list-style: none;
  19. margin: 0;
  20. padding: 0;
  21. height: auto;
  22. width: 100%;
  23. }
  24. .region-primary-menu .menu a {
  25. color: #333;
  26. background: #ccc;
  27. background: rgba(255, 255, 255, 0.7);
  28. float: none;
  29. display: block;
  30. text-decoration: none;
  31. text-shadow: 0 1px #eee;
  32. border-radius: 8px;
  33. margin: 4px 0;
  34. padding: 0.9em 0 0.9em 10px; /* LTR */
  35. }
  36. [dir="rtl"] .region-primary-menu .menu a {
  37. padding: 0.9em 10px 0.9em 0;
  38. }
  39. .region-primary-menu .menu a:hover,
  40. .region-primary-menu .menu a:focus {
  41. background: #f6f6f2;
  42. background: rgba(255, 255, 255, 0.95);
  43. }
  44. .region-primary-menu .menu a:active {
  45. background: #b3b3b3;
  46. background: rgba(255, 255, 255, 1);
  47. }
  48. .region-primary-menu .menu-item a.is-active {
  49. border-bottom: none;
  50. }
  51. /* ---------- Primary Menu Toggle ----------- */
  52. /* Hide the toggle by default. */
  53. .menu-toggle,
  54. .menu-toggle-target {
  55. display: none;
  56. }
  57. /* Unhide it for the primary menu. */
  58. .region-primary-menu .menu-toggle-target {
  59. display: inherit;
  60. position: fixed;
  61. top: 0;
  62. }
  63. .region-primary-menu .menu-toggle {
  64. display: none;
  65. }
  66. body:not(:target) .region-primary-menu .menu-toggle {
  67. color: #333;
  68. background: #ccc;
  69. background: rgba(255, 255, 255, 0.7);
  70. float: none;
  71. font-size: 0.929em;
  72. display: block;
  73. text-decoration: none;
  74. text-shadow: 0 1px #eee;
  75. padding: 0.9em 10px 0.9em 10px;
  76. z-index: 1000;
  77. }
  78. body:not(:target) .region-primary-menu .menu-toggle:after {
  79. content: "";
  80. background: url(../../../../misc/icons/ffffff/hamburger.svg) no-repeat;
  81. background-size: contain;
  82. width: 22px;
  83. height: 22px;
  84. display: inline-block;
  85. position: absolute;
  86. right: 10px; /* LTR */
  87. }
  88. [dir="rtl"] body:not(:target) .region-primary-menu .menu-toggle:after {
  89. right: initial;
  90. left: 10px;
  91. }
  92. body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu-toggle,
  93. body:not(:target) .region-primary-menu .menu-toggle--hide {
  94. display: none;
  95. }
  96. body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu-toggle--hide {
  97. display: block;
  98. }
  99. body:not(:target) .region-primary-menu .menu-item {
  100. height: 0;
  101. overflow: hidden;
  102. }
  103. body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu .menu-item {
  104. height: auto;
  105. overflow: visible;
  106. }
  107. /**
  108. * Media queries for primary menu.
  109. */
  110. @media all and (min-width: 461px) and (max-width: 900px) {
  111. .region-primary-menu .menu {
  112. margin: 0 5px;
  113. padding: 0;
  114. text-align: center;
  115. }
  116. /* This is required to win over specificity of the global [dir="rtl"] .region-primary-menu .menu */
  117. [dir="rtl"] .region-primary-menu .menu {
  118. text-align: center;
  119. }
  120. .region-primary-menu .menu-item,
  121. body:not(:target) .region-primary-menu .menu-item {
  122. float: left; /* LTR */
  123. margin-right: 5px; /* LTR */
  124. padding: 0;
  125. display: inline-block;
  126. width: 32.75%;
  127. height: auto;
  128. overflow: visible;
  129. }
  130. [dir="rtl"] .region-primary-menu .menu-item,
  131. [dir="rtl"] body:not(:target) .region-primary-menu .menu-item {
  132. float: right;
  133. margin-left: 5px;
  134. margin-right: 0;
  135. }
  136. .region-primary-menu .menu-item:nth-child(3n) {
  137. margin-right: -5px; /* LTR */
  138. }
  139. [dir="rtl"] .region-primary-menu .menu-item:nth-child(3n) {
  140. margin-left: -5px;
  141. margin-right: 0;
  142. }
  143. .region-primary-menu .menu a {
  144. float: none;
  145. display: block;
  146. border-radius: 8px;
  147. margin-bottom: 5px;
  148. padding: 0.9em 5px;
  149. }
  150. /* This is required to win over specificity of the global [dir="rtl"] .region-primary-menu .menu a */
  151. [dir="rtl"] .region-primary-menu .menu a {
  152. padding: 0.9em 5px;
  153. }
  154. body:not(:target) .region-primary-menu .menu-toggle {
  155. display: none;
  156. }
  157. }
  158. @media all and (min-width: 901px) {
  159. .region-primary-menu .block-menu .menu {
  160. font-size: 0.929em;
  161. margin: 0;
  162. padding: 0 15px;
  163. }
  164. .region-primary-menu .menu-item,
  165. body:not(:target) .region-primary-menu .menu-item {
  166. float: left; /* LTR */
  167. list-style: none;
  168. padding: 0 1px;
  169. margin: 0 1px;
  170. width: auto;
  171. height: auto;
  172. overflow: visible;
  173. }
  174. [dir="rtl"] .region-primary-menu .menu-item,
  175. [dir="rtl"] body:not(:target) .region-primary-menu .menu-item {
  176. float: right;
  177. }
  178. .region-primary-menu .menu a {
  179. float: left; /* LTR */
  180. padding: 0.7em 0.8em;
  181. margin-bottom: 0;
  182. border-bottom-left-radius: 0;
  183. border-bottom-right-radius: 0;
  184. }
  185. [dir="rtl"] .region-primary-menu .menu a {
  186. float: right;
  187. padding: 0.7em 0.8em;
  188. }
  189. .featured .region-primary-menu .menu-item a:active,
  190. .featured .region-primary-menu .menu-item a.is-active {
  191. background: #f0f0f0;
  192. background: rgba(240, 240, 240, 1);
  193. }
  194. body:not(:target) .region-primary-menu .menu-toggle {
  195. display: none;
  196. }
  197. }
  198. /**
  199. * Ensures that the open mobile menu hides when the screen dimensions become
  200. * 461px or wider.
  201. */
  202. @media all and (min-width: 461px) {
  203. body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu-toggle--hide {
  204. display: none;
  205. }
  206. }