clone of olivero for island lives
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.
 
 
 
 
 

102 lines
1.9 KiB

/**
* @file
* Nav Button Mobile.
*/
@import "../../base/media-queries.pcss.css";
.mobile-nav-button {
position: relative;
z-index: 505; /* Appear above mobile nav. */
display: flex;
align-items: center;
align-self: center;
width: var(--sp2);
height: var(--sp2);
margin-inline-start: auto;
margin-inline-end: -6px;
padding-block: 0;
padding-inline-start: 6px;
padding-inline-end: 6px;
cursor: pointer;
border: none;
background: transparent;
appearance: none;
&:focus {
outline: solid 2px var(--color--primary-40);
}
&:active {
color: inherit; /* Override Safari's default UA styles. */
}
@media (--sm) {
display: inline-flex;
width: auto;
padding-inline-start: var(--sp);
}
}
/* Text that says "menu". */
.mobile-nav-button__label {
position: absolute;
display: block;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
width: 1px;
height: 1px;
word-wrap: normal;
@media (--sm) {
position: static;
overflow: visible;
clip: auto;
width: auto;
height: auto;
margin-inline-end: 12px;
letter-spacing: 0.05em;
font-size: 14px;
font-weight: 600;
}
}
.mobile-nav-button__icon {
position: relative;
display: block;
width: var(--sp2);
height: 0;
border-top: solid 3px var(--color--primary-50);
&::before,
&::after {
position: absolute;
inset-block-start: 0;
inset-inline-start: 0;
width: 100%;
height: 0;
content: "";
transition: transform 0.2s;
border-top: solid 3px var(--color--primary-50);
}
&::before {
transform: translateY(-11px);
}
&::after {
transform: translateY(5px);
}
}
.mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon {
border-top-color: transparent;
&::before {
transform: translateY(-3px) rotate(-45deg);
}
&::after {
transform: translateY(-3px) rotate(45deg);
}
}