You are here

nav-primary.css in Drupal 9

Same filename and directory in other branches
  1. 10 core/themes/olivero/css/components/navigation/nav-primary.css

Nav Primary.

File

core/themes/olivero/css/components/navigation/nav-primary.css
View source
  1. /*
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/3084859
  5. * @preserve
  6. */
  7. /**
  8. * @file
  9. * Nav Primary.
  10. */
  11. .primary-nav__menu {
  12. list-style: none;
  13. }
  14. .primary-nav__menu-item {
  15. margin-bottom: 0.5625rem
  16. }
  17. .primary-nav__menu-item:last-child {
  18. margin-bottom: 0;
  19. }
  20. .primary-nav__menu-item.primary-nav__menu-item--has-children {
  21. display: flex;
  22. flex-wrap: wrap;
  23. justify-content: space-between
  24. }
  25. .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--link,
  26. .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--nolink {
  27. /* Ensure that long text doesn't make the mobile expand button wrap. */
  28. flex-basis: calc(100% - 3.375rem);
  29. }
  30. .primary-nav__menu-link {
  31. flex-grow: 1;
  32. text-decoration: none;
  33. color: #0d1214;
  34. font-size: 1.75rem;
  35. font-weight: bold;
  36. line-height: 2.25rem
  37. }
  38. .primary-nav__menu-link:hover {
  39. color: inherit;
  40. }
  41. .primary-nav__menu-link:focus {
  42. outline: auto 2px #2494db;
  43. outline-offset: 2px;
  44. }
  45. [dir="ltr"] .primary-nav__menu-link--nolink {
  46. padding-left: 0;
  47. }
  48. [dir="rtl"] .primary-nav__menu-link--nolink {
  49. padding-right: 0;
  50. }
  51. [dir="ltr"] .primary-nav__menu-link--nolink {
  52. padding-right: 0;
  53. }
  54. [dir="rtl"] .primary-nav__menu-link--nolink {
  55. padding-left: 0;
  56. }
  57. .primary-nav__menu-link--nolink {
  58. padding-top: 0.5625rem;
  59. padding-bottom: 0.5625rem;
  60. color: #6e7172;
  61. font-weight: normal;
  62. }
  63. [dir="ltr"] .primary-nav__menu-link--button {
  64. padding-left: 0;
  65. }
  66. [dir="rtl"] .primary-nav__menu-link--button {
  67. padding-right: 0;
  68. }
  69. [dir="ltr"] .primary-nav__menu-link--button {
  70. padding-right: 0;
  71. }
  72. [dir="rtl"] .primary-nav__menu-link--button {
  73. padding-left: 0;
  74. }
  75. [dir="ltr"] .primary-nav__menu-link--button {
  76. text-align: left;
  77. }
  78. [dir="rtl"] .primary-nav__menu-link--button {
  79. text-align: right;
  80. }
  81. .primary-nav__menu-link--button {
  82. position: relative;
  83. padding-top: 0;
  84. padding-bottom: 0;
  85. cursor: pointer;
  86. border: 0;
  87. background: transparent
  88. /* Plus icon for mobile navigation. */
  89. }
  90. [dir="ltr"] .primary-nav__menu-link--button.primary-nav__menu-link--has-children {
  91. padding-right: 3.375rem;
  92. }
  93. [dir="rtl"] .primary-nav__menu-link--button.primary-nav__menu-link--has-children {
  94. padding-left: 3.375rem;
  95. }
  96. .primary-nav__menu-link--button.primary-nav__menu-link--has-children { /* Ensure text does not overlap icon. */
  97. }
  98. [dir="ltr"] .primary-nav__menu-link--button.primary-nav__menu-link--has-children:before,[dir="ltr"]
  99. .primary-nav__menu-link--button.primary-nav__menu-link--has-children:after {
  100. right: 0.5625rem;
  101. }
  102. [dir="rtl"] .primary-nav__menu-link--button.primary-nav__menu-link--has-children:before,[dir="rtl"]
  103. .primary-nav__menu-link--button.primary-nav__menu-link--has-children:after {
  104. left: 0.5625rem;
  105. }
  106. .primary-nav__menu-link--button.primary-nav__menu-link--has-children:before,
  107. .primary-nav__menu-link--button.primary-nav__menu-link--has-children:after {
  108. position: absolute;
  109. top: 1.625rem; /* Visually align button with menu link text. */
  110. width: 1.125rem;
  111. height: 0;
  112. content: "";
  113. /* Intentionally not using CSS logical properties. */
  114. border-top: solid 3px #2494db;
  115. }
  116. .primary-nav__menu-link--button.primary-nav__menu-link--has-children:after {
  117. transition: opacity 0.2s;
  118. transform: rotate(90deg);
  119. }
  120. .primary-nav__menu-link--button.primary-nav__menu-link--has-children[aria-expanded="true"]:after {
  121. opacity: 0;
  122. }
  123. [dir="ltr"] .primary-nav__menu-link-inner {
  124. padding-left: 0;
  125. }
  126. [dir="rtl"] .primary-nav__menu-link-inner {
  127. padding-right: 0;
  128. }
  129. [dir="ltr"] .primary-nav__menu-link-inner {
  130. padding-right: 0;
  131. }
  132. [dir="rtl"] .primary-nav__menu-link-inner {
  133. padding-left: 0;
  134. }
  135. .primary-nav__menu-link-inner {
  136. position: relative;
  137. display: inline-flex;
  138. align-items: center;
  139. padding-top: 0.5625rem;
  140. padding-bottom: 0.5625rem
  141. }
  142. [dir="ltr"] .primary-nav__menu-link-inner:after {
  143. left: 0;
  144. }
  145. [dir="rtl"] .primary-nav__menu-link-inner:after {
  146. right: 0;
  147. }
  148. .primary-nav__menu-link-inner:after {
  149. position: absolute;
  150. bottom: 0;
  151. width: 100%;
  152. height: 0;
  153. content: "";
  154. transition: transform 0.2s;
  155. transform: scaleX(0);
  156. transform-origin: left;
  157. /* Intentionally not using CSS logical properties. */
  158. border-top: solid 5px #2494db;
  159. }
  160. .primary-nav__menu-link-inner:hover,
  161. .primary-nav__menu-link-inner:focus {
  162. outline: 0
  163. }
  164. .primary-nav__menu-link-inner:hover:after, .primary-nav__menu-link-inner:focus:after {
  165. transform: scaleX(1);
  166. }
  167. /*
  168. Top level specific styles.
  169. */
  170. [dir="ltr"] .primary-nav__menu--level-1 {
  171. margin-left: 0;
  172. }
  173. [dir="rtl"] .primary-nav__menu--level-1 {
  174. margin-right: 0;
  175. }
  176. [dir="ltr"] .primary-nav__menu--level-1 {
  177. margin-right: 0;
  178. }
  179. [dir="rtl"] .primary-nav__menu--level-1 {
  180. margin-left: 0;
  181. }
  182. [dir="ltr"] .primary-nav__menu--level-1 {
  183. padding-left: 0;
  184. }
  185. [dir="rtl"] .primary-nav__menu--level-1 {
  186. padding-right: 0;
  187. }
  188. [dir="ltr"] .primary-nav__menu--level-1 {
  189. padding-right: 0;
  190. }
  191. [dir="rtl"] .primary-nav__menu--level-1 {
  192. padding-left: 0;
  193. }
  194. .primary-nav__menu--level-1 {
  195. margin-top: 0;
  196. margin-bottom: 0;
  197. padding-top: 0;
  198. padding-bottom: 0;
  199. }
  200. .primary-nav__menu-link--level-1 {
  201. position: relative;
  202. display: flex;
  203. letter-spacing: -1px;
  204. }
  205. /*
  206. Secondary menu specific styles.
  207. */
  208. [dir="ltr"] .primary-nav__menu--level-2 {
  209. margin-left: -1.125rem;
  210. }
  211. [dir="rtl"] .primary-nav__menu--level-2 {
  212. margin-right: -1.125rem;
  213. }
  214. [dir="ltr"] .primary-nav__menu--level-2 {
  215. padding-left: 2.8125rem;
  216. }
  217. [dir="rtl"] .primary-nav__menu--level-2 {
  218. padding-right: 2.8125rem;
  219. }
  220. [dir="ltr"] .primary-nav__menu--level-2 {
  221. border-left: solid 18px #2494db;
  222. }
  223. [dir="rtl"] .primary-nav__menu--level-2 {
  224. border-right: solid 18px #2494db;
  225. }
  226. .primary-nav__menu--level-2 {
  227. visibility: hidden;
  228. overflow: hidden;
  229. flex-basis: 100%;
  230. max-height: 0;
  231. margin-top: 0;
  232. margin-bottom: 0;
  233. transition: opacity 0.2s, visibility 0.2s, max-height 0.2s;
  234. opacity: 0
  235. }
  236. .primary-nav__menu--level-2.is-active-menu-parent {
  237. visibility: visible;
  238. max-height: none;
  239. margin-top: 1.6875rem;
  240. opacity: 1;
  241. }
  242. @media (min-width: 43.75rem) {
  243. [dir="ltr"] .primary-nav__menu--level-2 {
  244. margin-left: -3.375rem;
  245. }
  246. [dir="rtl"] .primary-nav__menu--level-2 {
  247. margin-right: -3.375rem;
  248. }
  249. [dir="ltr"] .primary-nav__menu--level-2 {
  250. padding-left: 3.375rem;
  251. }
  252. [dir="rtl"] .primary-nav__menu--level-2 {
  253. padding-right: 3.375rem;
  254. }
  255. }
  256. .primary-nav__menu-link--level-2 {
  257. font-size: 1rem;
  258. font-weight: normal;
  259. line-height: 1.125rem;
  260. }
  261. html:not(.js) .primary-nav__menu--level-2 {
  262. visibility: visible;
  263. max-height: none;
  264. opacity: 1;
  265. }
  266. [dir="rtl"] .primary-nav__menu-link-inner:after {
  267. transform-origin: right;
  268. }