#ph {
     background-image:linear-gradient(to right,rgba(0,0,0,0.35),rgba(0,0,0,0.35)),url("https://robertgravesletters.org/images/RG.jpg");
    background-position:center;
    background-size:cover;
    box-sizing:border-box;
}


header {
    position:relative;
}


header-branding {
    color:white;
    font-family:'Open Sans';
    left:1em;
    position:absolute;
    top:1em;
    width:18em;
}


header-branding h1 {
    letter-spacing:-0.075rem;
    font-size:1.8em;
    font-style:italic;
    font-weight:800;
    margin:0;
}


header-branding h2 {
    font-size:0.815em;
    font-weight:100;
    margin:0;
}


header nav {
    box-sizing:border-box;  
    column-gap:2em;
    display:flex;
    flex-wrap:wrap;
    font-family:'Open Sans';
    font-size:1em;
    justify-content:center;
    margin-bottom:4em;
    margin-top:1.5em;
    margin-left:20em;
    max-width:calc(100vw - 20em);
    row-gap:1em;
}


header nav a {
    border-bottom:1px dotted rgba(255,255,255,0);
    color:white;
    text-decoration:none;
    text-align:center;
}


header nav a:hover {
    border-bottom:1px dotted rgba(255,255,255,0.5);
}    


header nav hr {
    background-color:rgba(255,255,255,0.5);
    border:none;
    display:none;
    height:1px;
    width:2em;
}


header input {
    display:none;
}


@media only screen and (max-width:720px) {


    header-branding h1 { 
        font-size:1.5em;
    }


    header-branding h2 {
        font-size:0.66em;
    }


    header input {
        display:none;
    }

    
    header span {
        background: white;
        border:none;
        display: block;
        height: 0.2em;
        position: absolute;
        right:1em;
        top:2em;
        width:1.5em;
    }


    header span::before, header span::after{
        background: white;
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        transition: all .25s ease-out;
        width: 100%;
    }


    header span::before {
        top: 0.5em;
    }


    header span::after {
        top: -0.5em;
    }


    header input:checked ~ label span::before { 
        transform: rotate(-45deg); top:0;
    }    


    header input:checked ~ label span::after { 
        transform: rotate(45deg); top:0;
    } 


    header input:checked ~ label span { 
        background: transparent; 
    }


    header input:checked ~ nav hr {
        display:block; 
    }


    header input:checked ~ nav {
        font-size:1em;
        margin-top:6em;
        margin-bottom:2em;
    }


    header nav {
        display:grid;
        display-template-rows:auto;
        margin-left:0;
        margin-top:5em;
        margin-bottom:2em;
        max-width:100vw;
        row-gap:0;
    }    

    
    header nav a {
        display:none;
    }   
    

    
    header input:checked ~ nav a {
        display:block;
    }    

}  