42 lines
1 KiB
SCSS
42 lines
1 KiB
SCSS
|
@if index($hamburger-types, elastic-r) {
|
||
|
/*
|
||
|
* Elastic Reverse
|
||
|
*/
|
||
|
.hamburger--elastic-r {
|
||
|
.hamburger-inner {
|
||
|
top: $hamburger-layer-height / 2;
|
||
|
transition-duration: 0.275s;
|
||
|
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||
|
|
||
|
&::before {
|
||
|
top: $hamburger-layer-height + $hamburger-layer-spacing;
|
||
|
transition: opacity 0.125s 0.275s ease;
|
||
|
}
|
||
|
|
||
|
&::after {
|
||
|
top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);
|
||
|
transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.is-active {
|
||
|
.hamburger-inner {
|
||
|
$y-offset: $hamburger-layer-spacing + $hamburger-layer-height;
|
||
|
|
||
|
transform: translate3d(0, $y-offset, 0) rotate(-135deg);
|
||
|
transition-delay: 0.075s;
|
||
|
|
||
|
&::before {
|
||
|
transition-delay: 0s;
|
||
|
opacity: 0;
|
||
|
}
|
||
|
|
||
|
&::after {
|
||
|
transform: translate3d(0, $y-offset * -2, 0) rotate(270deg);
|
||
|
transition-delay: 0.075s;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|