/**********************************************************************

btn

**********************************************************************/

header button {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    vertical-align: middle;
    text-align: inherit;
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.btnNav {
    cursor: pointer;
    height: 45px;
    position: fixed;
    right: 15px;
    top: 22px;
    width: 36px;
    z-index: 9999;
}

.lineHM {
    background-color: #fff;
    display: block;
    height: 3px;
    position: relative;
    transition: .2s;
    width: 100%;
}

.lineHM::before,
.lineHM::after {
    background-color: #fff;
    content: "";
    height: 100%;
    position: absolute;
    transition: .5s;
    width: 100%;
}

.lineHM::before {
    transform: translateY(-12px);
}

.lineHM::after {
    transform: translateY(12px);
}

.lineHM.open {
    background-color: transparent;
}

.lineHM.open::before,
.lineHM.open::after {
    content: "";
    background-color: #000;
    transition: .2s;
}

.lineHM.open::before {
    transform: rotate(45deg);
}

.lineHM.open::after {
    transform: rotate(-45deg);
}


/**********************************************************************

nav

**********************************************************************/

nav ul {
    background-color: rgba(255, 255, 255, 0.9);
    height: 100vh;
    letter-spacing: 0.2em;
    padding-top: 90px;
    position: absolute;
    right: -60%;
    width: 60%;
    z-index: 1000;
}

nav li a {
    color: #000!important;
    display: block;
    font-size: 1.0em;
    line-height: 3.0;
    margin: 0;
    padding: 0 1.0em;
    position: relative;
    text-decoration: none!important;
}

nav li a:hover {
    background: #666;
    color: #fff!important;
    text-decoration: none!important;
}

nav ul.open {
    position: absolute;
    right: 0;
    transition: .3s;
}

nav li:nth-child(n+9) a {
    line-height: 1.2;
    padding: 15px 1.0em!important;
}

nav li:nth-child(n+9) a span {
    font-size: 0.7em;
    font-weight: normal;
}

@media screen and (min-width: 1440px) {
    .btnNav {
        display: none;
    }
    nav ul.open {
        right: 20px;
        transition: 0s;
    }
    nav ul {
        background: none;
        height: 50px;
        padding: 0 0 0 180px;
        text-align: right;
        right: 28px;
        top: 22px;
        width: 100%;
        z-index: 999;
    }
    nav li {
        display: inline-block;
    }
    nav li:first-child {
        padding-left: 20px;
    }
    nav li a {
        color: #fff!important;
        display: inline-block;
        font-size: 1.0em;
        line-height: 2.7;
        margin: 0 0.5em;
        padding: 0;
        position: relative;
        text-decoration: none!important;
    }
    nav li a:hover {
        background: none;
        text-decoration: none!important;
    }
    nav li:nth-child(1) a::after,
    nav li:nth-child(2) a::after,
    nav li:nth-child(3) a::after,
    nav li:nth-child(4) a::after,
    nav li:nth-child(5) a::after,
    nav li:nth-child(6) a::after,
    nav li:nth-child(7) a::after {
        background: #f306a1;
        bottom: -2px;
        content: '';
        height: 2px;
        left: 15%;
        position: absolute;
        transform: scale(0, 1);
        transform-origin: center top;
        transition: transform .3s;
        width: 70%;
    }
    nav li:nth-child(1) a:hover::after,
    nav li:nth-child(2) a:hover::after,
    nav li:nth-child(3) a:hover::after,
    nav li:nth-child(4) a:hover::after,
    nav li:nth-child(5) a:hover::after,
    nav li:nth-child(6) a:hover::after,
    nav li:nth-child(7) a:hover::after {
        transform: scale(1, 1);
    }
    nav li:nth-child(n+8) a {
        padding: 10px 30px!important;
        background: #f306a1;
        background-image: linear-gradient(rgba(243, 6, 161, 1) 50%, rgba(207, 44, 216, 1) 50%);
        background-position: 0 0;
        background-size: auto 200%;
        border-radius: 100px;
        text-align: center;
        transition: .3s;
        line-height: 1.4!important;
        margin: 0 0 0 0.5em;
    }
    nav li:nth-child(n+8) span {
        color: #000!important;
        display: inline-block;
        font-size: 0.8em;
        font-weight: normal;
        line-height: 2.7;
        letter-spacing: 0;
        margin: 0 0.5em;
        padding: 0;
        position: relative;
        text-decoration: none!important;

        padding: 10px 20px!important;
        background: #eee;
        background-position: 0 0;
        background-size: auto 200%;
        text-align: center;
        transition: .3s;
        line-height: 1.4!important;
        margin: 0 0 0 0.5em;
    }
    nav li:nth-child(n+8) a span {
        font-size: 0.7em;
        font-weight: normal;
    }
    nav li:nth-child(n+8) a:hover {
        background-position: 0 100%;
        color: #fff!important;
    }
    .current a {
        /*border-bottom: #000 2px solid;*/
    }
    .current a::after {
        background: #f306a1!important;
        bottom: -2px!important;
        content: ''!important;
        height: 2px!important;
        left: 15%!important;
        position: absolute!important;
        transform: none!important;
        width: 70%!important;
    }
}

@media screen and (min-width: 1600px) {
    nav li a {
        color: #fff!important;
        margin: 0 1.0em;
    }

}