body.nav-open {
    overflow: hidden;
}

.nav__hamburger {
    position: absolute;
    top: 25px;
    right: 20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    transition: .3s ease-in-out;
    z-index: 101;
}

.nav__hamburger span {
    display: block;
    position: absolute;
    height: 2px;
    width: 24px;
    background: var(--color-white);
    opacity: 1;
    left: 3px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.nav__hamburger span:nth-child(1) {
    top: 8px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.nav__hamburger span:nth-child(2) {
    top: 14px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.nav__hamburger span:nth-child(3) {
    top: 20px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.nav__hamburger.state-open span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 6px;
    left: 7px;
}

.nav__hamburger.state-open span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

.nav__hamburger.state-open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 23px;
    left: 7px;
}

.nav__close {
    position: absolute;
    top: 25px;
    right: 20px;
    width: 31px;
    height: 31px;
    cursor: pointer;
}

.nav__logo {
    display: none;
    width: 132px;
    height: 63px;
    margin: 0 auto 16px;
}

@media (min-width: 768px) { 
    .nav__close {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .nav__hamburger {
        top: 30px;
        right: 0;
    }

    
    .p-home__hero-menu {
        display: none;
        padding-top: 83px;
    }

    .nav.nav.state-open .p-home__hero-menu {
        display: block;
    }
}

@media (min-width: 1024px) {
    .nav__hamburger {
        display: none;
    }
}

@media (max-width: 767px) {
    .nav {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: none;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        background-color: var(--color-white);
        z-index: 100;
    }

    .nav.state-open {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .nav__inner {
        padding: 30px 20px;
    }    

    .nav__logo {
        display: block;
    }

    .nav__hamburger.state-open span {
        background-color: var(--color-black);
    }
}