You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
4.6 KiB
205 lines
4.6 KiB
/* |
|
* 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; |
|
} |
|
|
|
@media (min-width: 43.75rem) { |
|
.primary-nav__menu--level-2 { |
|
margin-inline-start: calc(-1 * var(--sp3)); |
|
padding-inline-start: var(--sp3); |
|
} |
|
} |
|
|
|
/* |
|
* Olives 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; |
|
}
|
|
|