nav-primary.css
Nav Primary.
File
-
core/
themes/ olivero/ css/ components/ navigation/ nav-primary.css
View source
- /*
- * DO NOT EDIT THIS FILE.
- * See the following change record for more information,
- * https://www.drupal.org/node/3084859
- * @preserve
- */
-
- /**
- * @file
- * Nav Primary.
- */
-
- .primary-nav__menu {
- flex-wrap: wrap;
- list-style: none;
- }
-
- .primary-nav__menu-item {
- margin-block-end: var(--sp0-5);
- }
-
- .primary-nav__menu-item:last-child {
- margin-block-end: 0;
- }
-
- .primary-nav__menu-item.primary-nav__menu-item--has-children {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- }
-
- .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--link,
- .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--nolink {
- /* Ensure that long text doesn't make the mobile expand button wrap. */
- flex-basis: calc(100% - var(--sp3));
- }
-
- .primary-nav__menu-link {
- flex-grow: 1;
- -webkit-text-decoration: none;
- text-decoration: none;
- color: var(--color-text-neutral-loud);
- font-size: 1.75rem;
- font-weight: bold;
- line-height: var(--sp2);
- }
-
- .primary-nav__menu-link:hover {
- color: inherit;
- }
-
- .primary-nav__menu-link:focus {
- outline: auto 2px var(--color--primary-50);
- outline-offset: 2px;
- }
-
- .primary-nav__menu-link--nolink {
- padding-block: var(--sp0-5);
- padding-inline-start: 0;
- padding-inline-end: 0;
- color: var(--color-text-neutral-soft);
- font-weight: normal;
- }
-
- .primary-nav__menu-link--button {
- position: relative;
- padding-block: 0;
- padding-inline-start: 0;
- padding-inline-end: 0;
- cursor: pointer;
- text-align: start;
- border: 0;
- background: transparent;
-
- /* Plus icon for mobile navigation. */
- }
-
- .primary-nav__menu-link--button.primary-nav__menu-link--has-children {
- padding-inline-end: var(--sp3); /* Ensure text does not overlap icon. */
- }
-
- .primary-nav__menu-link--button.primary-nav__menu-link--has-children::before,
- .primary-nav__menu-link--button.primary-nav__menu-link--has-children::after {
- position: absolute;
- inset-inline-end: 0.5625rem;
- inset-block-start: calc(var(--sp0-5) + 1.0625rem); /* Visually align button with menu link text. */
- width: 1.125rem;
- height: 0;
- content: "";
- /* Intentionally not using CSS logical properties. */
- border-top: solid 3px var(--color--primary-50);
- }
-
- .primary-nav__menu-link--button.primary-nav__menu-link--has-children::after {
- transition: opacity 0.2s;
- transform: rotate(90deg);
- }
-
- .primary-nav__menu-link--button.primary-nav__menu-link--has-children[aria-expanded="true"]::after {
- opacity: 0;
- }
-
- .primary-nav__menu-link-inner {
- position: relative;
- display: inline-flex;
- align-items: center;
- padding-block: var(--sp0-5);
- padding-inline-start: 0;
- padding-inline-end: 0;
- }
-
- .primary-nav__menu-link-inner::after {
- position: absolute;
- inset-block-end: 0;
- inset-inline-start: 0;
- width: 100%;
- height: 0;
- content: "";
- transition: transform 0.2s;
- transform: scaleX(0);
- transform-origin: left;
- /* Intentionally not using CSS logical properties. */
- border-top: solid 5px var(--color--primary-50);
- }
-
- .primary-nav__menu-link:hover .primary-nav__menu-link-inner::after {
- transform: scaleX(1);
- }
-
- /*
- Top level specific styles.
- */
-
- .primary-nav__menu--level-1 {
- margin-block: 0;
- margin-inline-start: 0;
- margin-inline-end: 0;
- padding-block: 0;
- padding-inline-start: 0;
- padding-inline-end: 0;
- }
-
- .primary-nav__menu-link--level-1 {
- position: relative;
- display: flex;
- letter-spacing: -1px;
- }
-
- /*
- Secondary menu specific styles.
- */
-
- .primary-nav__menu--level-2 {
- visibility: hidden;
- overflow: hidden;
- flex-basis: 100%;
- max-height: 0;
- margin-block: 0;
- margin-inline-start: calc(-1 * var(--sp));
- padding-inline-start: var(--sp2-5);
- transition:
- opacity 0.2s,
- visibility 0.2s,
- max-height 0.2s;
- opacity: 0;
- border-inline-start: solid var(--sp) var(--color--primary-50);
- }
-
- .primary-nav__menu--level-2.is-active-menu-parent {
- visibility: visible;
- max-height: none;
- margin-block-start: var(--sp1-5);
- opacity: 1;
- }
-
- .primary-nav__menu--level-2 .primary-nav__menu-item--level-2:first-child {
- padding-block-start: var(--sp0-25);
- }
-
- .primary-nav__menu--level-2 .primary-nav__menu-item--level-2:last-child {
- padding-block-end: var(--sp0-25);
- }
-
- @media (min-width: 43.75rem) {
- .primary-nav__menu--level-2 {
- margin-inline-start: calc(-1 * var(--sp3));
- padding-inline-start: var(--sp3);
- }
- }
-
- /*
- * Olivero doesn't officially support nested tertiary submenus, but this
- * ensures that it doesn't break all the way.
- *
- * @see https://www.drupal.org/project/drupal/issues/3221399
- */
-
- .primary-nav__menu--level-2 .primary-nav__menu-item--has-children {
- display: block;
- }
-
- .primary-nav__menu-link--level-2 {
- font-size: 1rem;
- font-weight: normal;
- line-height: var(--sp);
- }
-
- html:not(.js) .primary-nav__menu--level-2 {
- visibility: visible;
- max-height: none;
- opacity: 1;
- }
-
- [dir="rtl"] .primary-nav__menu-link-inner::after {
- transform-origin: right;
- }