body{
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background-color: black;
}

a{
    color: gray;
}

.header{
    background-color: #212121;
    box-shadow: 1px 1px 4px 0 rgba(0,0,0,.1);
    position: fixed;    
    width: 100%;
    z-index: 1;
}

.header ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    overflow: hidden;
    background-color: #212121;
}

.header ul a{
    display: block;
    /*border-right: 1px solid red;*/
    padding: 20px 20px;
    text-decoration: none;
}

.header ul a:hover{
    background-color: #181818;
}

.header .logo{
    float: left;
    padding: 10px 20px;
    font-size: 25px;    
}

.header .menu{
    clear: both;
    max-height: 0;
    transition: max-height 1.2s ease-out
}

.header .menu-icon{
    /*border: 1px solid red;*/
    padding: 28px 20px;
    position: relative;
    float: right;
    cursor: pointer;
}

.header .menu-icon .nav-icon{
    background-color: gray;
    display: block;
    width: 18px;
    height: 2px;
    position: relative;
    transition: background-color .2s ease-out;
}

.header .menu-icon .nav-icon:before,
.header .menu-icon .nav-icon:after{
    background-color: gray;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    transition: all 1.2s ease-out;
    top: 5px;
}   

.header .menu-icon .nav-icon:before{
    top: -5px;
}

.header .menu-btn{
    display: none;
}

.header .menu-btn:checked ~ .menu{
    max-height: 240px;   
}

.header .menu-btn:checked ~ .menu-icon .nav-icon{   
    background-color: transparent;
}
.header .menu-btn:checked ~ .menu-icon .nav-icon::before{   
    transform: rotate(-45deg);
    top: 0px;
}

.header .menu-btn:checked ~ .menu-icon .nav-icon::after{   
    transform: rotate(45deg);
    top: 0px;
}

@media (min-width: 48em){ 
    .header li{
        float: left;
    }
    .header li a{
        padding: 20px 30px;
    }
    .header .menu{
        clear: none;
        float: right;
    }
    .header .menu-icon{
        display: none;
    }
}

