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.
115 lines
2.3 KiB
115 lines
2.3 KiB
1 year ago
|
/**
|
||
|
* @file
|
||
|
* Secondary navigation styling.
|
||
|
*/
|
||
|
|
||
|
@import "../../base/media-queries.pcss.css";
|
||
|
|
||
|
.secondary-nav {
|
||
|
letter-spacing: 0.02em;
|
||
|
font-size: var(--font-size-s);
|
||
|
font-weight: 600;
|
||
|
}
|
||
|
|
||
|
.secondary-nav__menu {
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
margin-block: 0;
|
||
|
margin-inline-start: 0;
|
||
|
margin-inline-end: 0;
|
||
|
padding-block: 0;
|
||
|
padding-inline-start: 0;
|
||
|
padding-inline-end: 0;
|
||
|
list-style: none;
|
||
|
}
|
||
|
|
||
|
.secondary-nav__menu-item {
|
||
|
/* Parent element is set to flex-basis: 0. We
|
||
|
* don't want text to wrap unless it goes over a
|
||
|
* certain arbitrary width.
|
||
|
*/
|
||
|
|
||
|
/* @todo should this be scoped to desktop nav? */
|
||
|
width: max-content;
|
||
|
max-width: 200px;
|
||
|
|
||
|
&:not(:last-child) {
|
||
|
margin-inline-end: var(--sp1-5);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.secondary-nav__menu-link {
|
||
|
position: relative;
|
||
|
display: inline-flex;
|
||
|
align-items: center;
|
||
|
height: var(--sp2);
|
||
|
text-decoration: none;
|
||
|
color: inherit;
|
||
|
|
||
|
&::after {
|
||
|
position: absolute;
|
||
|
bottom: 0;
|
||
|
left: 0;
|
||
|
width: 100%;
|
||
|
height: 0;
|
||
|
content: "";
|
||
|
transition: opacity 0.2s, transform 0.2s;
|
||
|
transform: translateY(5px);
|
||
|
opacity: 0;
|
||
|
/* Intentionally not using CSS logical properties. */
|
||
|
border-top: solid 2px currentColor;
|
||
|
}
|
||
|
|
||
|
&:hover {
|
||
|
&::after {
|
||
|
transform: translateY(0);
|
||
|
opacity: 0.8;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
body:not(.is-always-mobile-nav) {
|
||
|
@media (--nav) {
|
||
|
& .secondary-nav {
|
||
|
position: relative;
|
||
|
display: flex;
|
||
|
margin-inline-start: var(--sp);
|
||
|
padding-inline-start: var(--sp2);
|
||
|
|
||
|
&::before {
|
||
|
position: absolute;
|
||
|
inset-block-start: 50%;
|
||
|
inset-inline-start: 0;
|
||
|
width: 2px;
|
||
|
height: var(--sp2);
|
||
|
content: "";
|
||
|
transform: translateY(-50%);
|
||
|
background-color: var(--color--gray-90);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
& .secondary-nav__menu-item:not(:last-child) {
|
||
|
margin-inline-end: var(--sp2);
|
||
|
}
|
||
|
|
||
|
& .secondary-nav__menu-link {
|
||
|
&:focus {
|
||
|
position: relative;
|
||
|
outline: 0;
|
||
|
|
||
|
&::before {
|
||
|
position: absolute;
|
||
|
top: 50%;
|
||
|
left: 50%;
|
||
|
width: calc(100% + var(--sp));
|
||
|
height: var(--sp3);
|
||
|
content: "";
|
||
|
transform: translate(-50%, -50%);
|
||
|
border: solid 2px var(--color--primary-50);
|
||
|
border-radius: 4px;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|