File: D:/HostingSpaces/marisrental/boldt.tech/resources/sass/site/6-Organisms/_organisms.overlayMenu.scss
// Component settings: Overlay menu
// ------------------------------------------
$o-overlay-menu: (
'color': palette(text, 100),
'bgcolor': palette(dark),
'shader-color': rgba(0, 0, 0, 0.6),
'move-speed': 400ms,
'opacity-speed': 200ms,
);
// ------------------------------------------
.o-overlay-menu {
z-index: 60;
opacity: 0;
position: fixed;
display: block;
height: 100vh;
width: 100%;
left: 0;
top: 0;
background-color: map-get($o-overlay-menu, 'bgcolor');
// When it disappears out of view
transform: translateX(-120vw);
transition-property: transform, opacity;
transition-duration: map-get($o-overlay-menu, 'move-speed'), map-get($o-overlay-menu, 'opacity-speed');
transition-delay: 0s, map-get($o-overlay-menu, 'move-speed');
transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
// When it comes into view
.is-overlay-menu-active & {
opacity: 1;
transform: none;
transition-delay: map-get($o-overlay-menu, 'opacity-speed'), 0s;
}
// Shader
&::before {
display: block;
content: '';
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: map-get($o-overlay-menu, 'shader-color');
pointer-events: none;
opacity: 0;
transition-property: opacity;
transition-duration: map-get($o-overlay-menu, 'opacity-speed');
transition-delay: map-get($o-overlay-menu, 'move-speed');
transition-timing-function: linear;
.is-overlay-menu-active & {
opacity: 1;
transition-delay: 0s;
}
}
// Diagonal shape on the right
&::after {
display: block;
content: '';
position: absolute;
top: 0;
right: -20%;
width: 20%;
height: 100%;
background: linear-gradient(-86deg, transparent 50%, map-get($o-overlay-menu, 'bgcolor') 50%);
}
}
.o-overlay-menu__bar {
@include contain;
@include flex(center space-between);
padding-top: 50px;
padding-bottom: 50px;
margin-right: 0;
@include mq(null, 800){
width: calc(100% / 10 * 9);
padding-right: 20px;
}
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
transform: rotate(-0.5turn);
transition: transform 600ms ease-out;
transition-delay: 200ms;
.is-overlay-menu-active & {
transform: none;
}
}
.o-overlay-menu__nav {
@include contain;
@include mq(null, 800){
width: calc(100% / 10 * 8);
}
}
.o-overlay-menu__list {
margin-bottom: 30px;
list-style: none;
&.service {
p {
margin-bottom: 10px;
}
.c-button {
color: palette(action);
svg {
margin-right: 10px;
}
}
}
}
.o-overlay-menu__item {
@include owl(30px);
a {
text-decoration: none;
}
.c-button {
display: inline-flex;
}
}
.o-overlay-menu__link {
@include font-size(large);
display: block;
color: map-get($o-overlay-menu, 'color');
text-decoration: none;
opacity: 0.7;
transition: opacity 200ms linear;
&:hover {
opacity: 1;
}
&.is-active {
opacity: 1;
position: relative;
font-weight: 600;
}
}