:root {
    --path-fill-1: #dce3f1;
    --path-fill-2: #869ccc;
    --path-fill-3: #30436f;
    --path-fill-4: #0d1831;
    --color-title: #fff;
    --color-menu: #fff;
    --font-size-menu: 2vmax;
    --theme-bg: #e41c34
}

.global-menu {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 100
}

.global-menu__item {
    color: var(--color-menu);
    font-size: var(--font-size-menu);
    opacity: 0;
    transform: translateY(-100%);
    pointer-events: none;
    display: block;
    margin: .3em 0;
    transition: transform .3s, opacity .3s;
    transition-timing-function: ease-in
}

.global-menu__item:nth-child(odd) {
    transform: translateY(-100%) rotate(10deg)
}

.global-menu__item:nth-child(even) {
    transform: translateY(-100%) rotate(-10deg)
}

.global-menu__item:hover {
    color: var(--theme-bg)
}

.global-menu__item.is-opened {
    opacity: 1;
    transform: translateY(0) rotate(0);
    pointer-events: auto;
    transition-timing-function: ease
}

.global-menu__item:nth-of-type(1) {
    transition-delay: 0s
}

.global-menu__item.is-opened:nth-of-type(1) {
    transition-delay: .85s
}

.global-menu__item:nth-of-type(2) {
    transition-delay: .05s
}

.global-menu__item.is-opened:nth-of-type(2) {
    transition-delay: .8s
}

.global-menu__item:nth-of-type(3) {
    transition-delay: .1s
}

.global-menu__item.is-opened:nth-of-type(3) {
    transition-delay: .75s
}

.global-menu__item:nth-of-type(4) {
    transition-delay: .15s
}

.global-menu__item.is-opened:nth-of-type(4) {
    transition-delay: .7s
}
.global-menu__item:nth-of-type(5) {
    transition-delay: .1s
}

.global-menu__item.is-opened:nth-of-type(5) {
    transition-delay: .75s
}
.global-menu__item:nth-of-type(6) {
    transition-delay: .15s
}

.global-menu__item.is-opened:nth-of-type(6) {
    transition-delay: .7s
}

.shape-overlays {
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0
}

.shape-overlays.is-opened {
    pointer-events: auto
}

.shape-overlays__path:nth-of-type(1) {
    fill: var(--path-fill-1)
}

.shape-overlays__path:nth-of-type(2) {
    fill: var(--path-fill-2)
}

.shape-overlays__path:nth-of-type(3) {
    fill: var(--path-fill-3)
}

.shape-overlays__path:nth-of-type(4) {
    fill: var(--path-fill-4)
}

@-webkit-keyframes intervalHamburgerBorder {
    0% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    80% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }
}

@keyframes intervalHamburgerBorder {
    0% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    80% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }
}

.hamburger {
    width: 40px;
    height: 40px;
    display: block;
    position: relative;
    cursor: pointer;
    position: fixed;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 40px;
    right: 30px;
    z-index: 110;
    border-radius: 50%;
    background-color: var(--theme-bg);
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent
}

.hamburger::after {
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    border: 4px solid var(--theme-bg);
    border-radius: 50%;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-name: intervalHamburgerBorder;
    animation-name: intervalHamburgerBorder;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

.hamburger i {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    color: #fff;
    margin: 0;
    padding: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 16px;
    -webkit-transition: opacity .4s ease;
    -o-transition: opacity .4s ease;
    transition: opacity .4s ease
}

.hamburger.is-opened-navi i:first-child,
.hamburger i:last-child {
    opacity: 0
}

.hamburger.is-opened-navi i:last-child {
    opacity: 1
}