You are here

nav-primary-button.css in Drupal 9

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