You are here

nav-primary-button.css in Drupal 10

Button that expands second level nav when clicked.

File

core/themes/olivero/css/components/navigation/nav-primary-button.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. * Button that expands second level nav when clicked.
  10. */
  11. /*
  12. * Media query breakpoints.
  13. * Processed by postcss/postcss-custom-media.
  14. */
  15. /* Navigation related breakpoints */
  16. /* Grid related breakpoints */
  17. /* Grid shifts from 6 to 14 columns. */
  18. /* Width of the entire grid maxes out. */
  19. [dir="ltr"] .primary-nav__button-toggle {
  20. padding-left: 0
  21. }
  22. [dir="rtl"] .primary-nav__button-toggle {
  23. padding-right: 0
  24. }
  25. [dir="ltr"] .primary-nav__button-toggle {
  26. padding-right: 0
  27. }
  28. [dir="rtl"] .primary-nav__button-toggle {
  29. padding-left: 0
  30. }
  31. .primary-nav__button-toggle {
  32. position: relative;
  33. overflow: hidden;
  34. width: var(--sp2);
  35. height: var(--sp2);
  36. margin-top: var(--sp0-5); /* Visually align button with menu link text. */
  37. padding-top: 0;
  38. padding-bottom: 0;
  39. cursor: pointer;
  40. text-indent: -62.4375rem;
  41. border: 0;
  42. background: transparent;
  43. -webkit-appearance: none
  44. }
  45. .primary-nav__button-toggle:focus {
  46. outline: auto 2px var(--color--primary-50);
  47. outline-offset: 2px;
  48. }
  49. .primary-nav__button-toggle .icon--menu-toggle {
  50. position: absolute;
  51. /* stylelint-disable csstools/use-logical */
  52. top: 50%;
  53. left: 50%;
  54. /* stylelint-enable csstools/use-logical */
  55. width: 1rem;
  56. height: 1rem;
  57. transition: background-color 0.2s;
  58. transform: translate(-50%, -50%);
  59. border-radius: 2px
  60. }
  61. .primary-nav__button-toggle .icon--menu-toggle:before,
  62. .primary-nav__button-toggle .icon--menu-toggle:after {
  63. position: absolute;
  64. /* stylelint-disable csstools/use-logical */
  65. top: 50%;
  66. left: 50%;
  67. /* stylelint-enable csstools/use-logical */
  68. width: var(--sp);
  69. height: 0;
  70. content: "";
  71. transform: translate(-50%, -50%);
  72. /* Intentionally not using CSS logical properties. */
  73. border-top: solid 3px var(--color--primary-50);
  74. }
  75. .primary-nav__button-toggle .icon--menu-toggle:after {
  76. transition: opacity 0.2s;
  77. transform: translate(-50%, -50%) rotate(90deg);
  78. }
  79. .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
  80. opacity: 0;
  81. }
  82. .primary-nav__button-toggle {
  83. /* aria-hidden attribute is removed by JS. Button is non-functional
  84. until JS is enabled.
  85. */
  86. }
  87. .primary-nav__button-toggle[aria-hidden="true"] {
  88. pointer-events: none;
  89. }
  90. @media (min-width: 75rem) {
  91. [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  92. margin-right: calc(-1 * var(--sp2))
  93. }
  94. [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  95. margin-left: calc(-1 * var(--sp2))
  96. }
  97. body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  98. flex-shrink: 0;
  99. align-self: stretch;
  100. width: calc(var(--sp2) + 0.5rem);
  101. height: auto;
  102. margin-top: 0
  103. }
  104. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus {
  105. border: 0;
  106. outline: 0
  107. }
  108. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus .icon--menu-toggle {
  109. border: solid 2px var(--color--primary-40);
  110. }
  111. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:active {
  112. /* Necessary for Safari. */
  113. color: currentColor;
  114. }
  115. body:not(.is-always-mobile-nav) .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
  116. opacity: 0.8;
  117. }
  118. [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  119. left: 0.1875rem
  120. }
  121. [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  122. right: 0.1875rem
  123. }
  124. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  125. width: 1.125rem;
  126. transform: translateY(-50%);
  127. border-radius: 0.25rem;
  128. background-color: var(--color--white)
  129. }
  130. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:before {
  131. content: none;
  132. }
  133. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:after {
  134. /* stylelint-disable csstools/use-logical */
  135. top: calc(50% - 2px);
  136. left: 0.1875rem;
  137. /* stylelint-enable csstools/use-logical */
  138. width: 0.5rem;
  139. height: 0.5rem;
  140. content: "";
  141. transform: translateY(-50%) rotate(45deg);
  142. opacity: 0.8;
  143. /* Intentionally not using CSS logical properties. */
  144. border-top: none;
  145. border-right: solid 2px currentColor;
  146. border-bottom: solid 2px currentColor;
  147. background: transparent;
  148. }
  149. }