195 lines
3.3 KiB
CSS
195 lines
3.3 KiB
CSS
:root {
|
|
--nav-transition-duration: var(--transition-md);
|
|
}
|
|
|
|
.nav:after {
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
bottom: 0;
|
|
content: '';
|
|
left: 0;
|
|
opacity: 0;
|
|
position: fixed;
|
|
right: 0;
|
|
transition:
|
|
opacity var(--nav-transition-duration) ease-out,
|
|
visibility var(--nav-transition-duration) ease-out;
|
|
top: 0;
|
|
visibility: hidden;
|
|
z-index: 5;
|
|
}
|
|
|
|
.nav.is-open:after {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
.nav__content {
|
|
background-color: var(--color-dark-blue);
|
|
bottom: 0;
|
|
box-shadow: 6px 0 4px rgba(0, 0, 0, 0.25);
|
|
color: #fff;
|
|
display: flex;
|
|
flex-direction: column;
|
|
left: 0;
|
|
padding: var(--space-sm);
|
|
position: fixed;
|
|
top: 0;
|
|
transform: translateX(-100%);
|
|
transition: transform var(--nav-transition-duration) ease-out;
|
|
z-index: 10;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.logged-in .nav__content {
|
|
top: 32px;
|
|
}
|
|
|
|
.nav__title {
|
|
font-family: var(--heading-font-family);
|
|
font-size: 2.5rem;
|
|
margin-right: 62px;
|
|
}
|
|
|
|
.nav__title-link {
|
|
display: block;
|
|
position: relative;
|
|
}
|
|
|
|
.nav__title-link,
|
|
.nav__title-link:hover,
|
|
.nav__title-link:focus,
|
|
.nav__title-link:visited {
|
|
color: #fff;
|
|
}
|
|
|
|
.nav__title-link-image {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 72px;
|
|
height: 72px;
|
|
opacity: 0;
|
|
transition: opacity var(--nav-transition-duration) ease-out;
|
|
}
|
|
|
|
.nav__title-link:hover .nav__title-link-image {
|
|
opacity: 1;
|
|
}
|
|
|
|
.nav__close {
|
|
background-color: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
display: block;
|
|
height: 32px;
|
|
padding: 0;
|
|
position: absolute;
|
|
right: 15px;
|
|
top: 15px;
|
|
transition:
|
|
box-shadow var(--nav-transition-duration) ease-out,
|
|
filter var(--nav-transition-duration) ease-out;
|
|
width: 32px;
|
|
}
|
|
|
|
.nav__close:focus {
|
|
box-shadow: 0 3px 0 0 #fff;
|
|
outline: 0;
|
|
}
|
|
|
|
.nav__close:hover {
|
|
filter: drop-shadow(0 0 2px #fff);
|
|
}
|
|
|
|
.nav__close-bar {
|
|
background-color: #fff;
|
|
border-radius: 2px;
|
|
height: 4px;
|
|
left: 4px;
|
|
position: absolute;
|
|
transition: transform var(--nav-transition-duration) ease-out var(--nav-transitionDuration);
|
|
top: 14px;
|
|
width: 24px;
|
|
}
|
|
|
|
.nav__close-text {
|
|
left: -10000px;
|
|
position: absolute;
|
|
top: -10000px;
|
|
}
|
|
|
|
/**
|
|
* nav List
|
|
*/
|
|
|
|
.nav__list {
|
|
flex-grow: 1;
|
|
font-family: var(--heading-font-family);
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.nav__list--sub-list {
|
|
margin: 0 0 0 var(--space-sm);
|
|
}
|
|
|
|
.nav__link,
|
|
.nav__link:active,
|
|
.nav__link:focus,
|
|
.nav__link:hover,
|
|
.nav__link:visited {
|
|
color: #fff;
|
|
display: inline-block;
|
|
margin-bottom: var(--space-xs);
|
|
transition:
|
|
box-shadow var(--nav-transition-duration) ease-out,
|
|
text-shadow var(--nav-transition-duration) ease-out;
|
|
}
|
|
|
|
.nav__link:hover {
|
|
text-shadow: 0 0 2px #fff;
|
|
}
|
|
|
|
.nav__link:focus {
|
|
box-shadow: 0 3px 0 0 #fff;
|
|
}
|
|
|
|
/**
|
|
* nav Social
|
|
*/
|
|
|
|
.nav__social {
|
|
margin-bottom: var(--space-xs);
|
|
}
|
|
|
|
.nav__social-link,
|
|
.nav__social-link:active,
|
|
.nav__social-link:focus,
|
|
.nav__social-link:hover,
|
|
.nav__social-link:visited {
|
|
display: inline-block;
|
|
color: #fff;
|
|
transition:
|
|
box-shadow var(--nav-transition-duration) ease-out,
|
|
filter var(--nav-transition-duration) ease-out;
|
|
}
|
|
|
|
.nav__social-link:focus {
|
|
box-shadow: 0 3px 0 0 #fff;
|
|
}
|
|
|
|
.nav__social-link:hover {
|
|
filter: drop-shadow(0 0 2px #fff);
|
|
}
|
|
|
|
.nav.is-open .nav__content {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.nav.is-open .nav__close-bar:nth-of-type(1) {
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
.nav.is-open .nav__close-bar:nth-of-type(2) {
|
|
transform: rotate(-45deg);
|
|
}
|