:root{
    --slg-teal: #0099ff;
    --slg-blue: #0066cc;
    --slg-purple: #660066;
    --slg-gray: #333333;
    --slg-yellow: #ffcc66;
    --slg-orange: #ff6600;
}
html, body, main{
    height:100%;
    width:100%;
    margin:0;
    font-family:futura-pt, sans-serif;
    font-weight:700;
    color:white;
    background-color:var(--slg-gray);
}
header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-sizing:border-box;
    height:50px;
    width:100%;
    background-color:var(--slg-teal);
    padding:10px 5%;
    position:fixed;
    z-index: 1000;
    top:0;
    left:0;
}
header > h1{
    font-size:24px;
    font-weight:300;
    margin:0;
}
h1 > a:link, h1 > a:visited, h1 > a:hover h1 > a:active{
    text-decoration: none;
    color: white;
}
#nav{
    list-style-type:none;
    padding:0;
    margin:0;
}
#nav > li{
    text-align:center;
    float:left;
}
li > a:link{
    text-decoration:none;
    color:var(--slg-blue);
    font-size:18px;
    padding:20px;
    text-align:center;
}
li > a:visited{
    color:var(--slg-blue);
}
li > a:hover{
    color:white;
    text-decoration: underline;
}
li > a:active{
    text-decoration: underline;
}
footer{
    width:100%;
    min-height:48px;
    /*background-color:var(--slg-purple);*/
    font-size:16px;
    font-weight:300;
    text-align:center;
}
nav{
    background-color:var(--slg-gray);
    width:100%;
    margin:6px 0;
}
nav > a{
    padding:48px;
    color:var(--slg-yellow);
    font-weight:300;
}
#page_title{
    box-sizing:border-box;
    height:20%;
    width:100%;
    font-size:24px;
    background-color:var(--slg-teal);
    text-align:center;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding-bottom:24px;
}
#hamburger{
    display:none;
}
h2{
    margin:0;
    font-weight:150;
}
.category{
    width:100%;
    height:36px;
    background-color:var(--slg-blue);
    display:flex;
    align-items:center; 
}
.category > h3{
    font-size:18px;
    width:960px;
    margin:0 auto;
    padding-left:8px;
}
.flex_wrap{
    max-width:960px;
    margin:12px auto;
    display:flex;
    flex-wrap:wrap;
    list-style-type:none;
    padding:0;
}
.checkbox{
    box-sizing:border-box;
    width:300px;
    height:48px;
    font-family:arial, helvetica, sans-serif;
    font-size:16px;
    font-weight:300;
    text-transform: capitalize;
    color:white;
    margin:5px 10px;
    padding: 0 8px;
    border:1px solid var(--slg-teal);
    display:flex;
    align-items:center;
    justify-content:space-between;
    position: relative;
    bottom: 0;
    transition: bottom 0.3s;
}
.checkbox:hover{
    cursor: pointer;
    bottom: 5px;
    transition: bottom 0.3s;
}
.checked{
    background-color:var(--slg-teal);
    color:var(--slg-gray);
}
.disabled{
    opacity:0.3;
    text-decoration: line-through;
}
.action_button{
    width: 900px;
    height: 48px;
    display: block;
    margin: 12px auto;
    background-color: var(--slg-orange);
    color: var(--slg-yellow);
    font-size: 18px;
    font-family: futura-pt, sans-serif;
    font-weight: 700;
    border: none;
    border-radius: 8px;
}
.action_button:hover{
    cursor:pointer;
}
.add{
    background-color: var(--slg-blue);
    width:600px;
    color:white;
}
.cancel_button{
    display: block;
    margin: 12px auto;
    height: 36px;
    color: var(--slg-teal);
    background-color: transparent;
    border: none;
    font-size: 18px;
    font-family: futura-pt, sans-serif;
    font-weight: 700;
}
.cancel_button{
    cursor:pointer;
}
.delete_button{
    height:48px;
    width:48px;
    font-size:24px;
    color:var(--slg-teal);
    background-color:var(--slg-gray);
    border:1px solid var(--slg-teal);
    outline: none;
    position: absolute;
    right:-1px;
}
.delete_button:hover{
    cursor:pointer;
    background-color:var(--slg-teal);
    color:white;
    transition-duration:0.3s;
}
@media screen and (max-width:840px){
    header{
        padding: 10px 2%;
    }
    h1{
        font-size: 18px;
    }
    li > a:link{
        padding: 20px 8px;
        color: white;
        font-size: 18px;
        font-weight: 300;
        text-decoration: underline;
    }
    li > a:visited{
        color: white;
    }
    /*#page_title{
        height:15%;
    }*/
}
@media screen and (max-width:960px){
    .action_button{
        width:50%;
    }
    .checkbox{
        width: 48%;
        margin: 5px 1%;
        padding: 0 18px;
    }
}
@media screen and (max-width:640px){
    .checkbox{
        width:100%;
    }
    .checked{
        width:100%;
    }
    header{
        position: absolute;
        top:-50px;
    }
    #nav{
        width:100%;
        position: absolute;
        top: -240px;
        right:0px;
        transition: top 0.5s;
    }
    #nav > li{
        box-sizing:border-box;
        width: 100%;
        height: 80px;
        border-top: 1px solid var(--slg-yellow);
        border-bottom: 1px solid var(--slg-yellow);
        background-color: var(--slg-gray);
        padding-top: 20px;
    }
    li > a:link{
        font-size: 24px;
        font-weight: 700;
        color: var(--slg-yellow);
        text-decoration: none;
    }
    #page_title{
        height:48px;
        padding-bottom:8px;
        justify-content: left;
        position: relative;
        z-index: 1001;
    }
    #hamburger{
        display:initial;
        position: relative;
        top: 8px;
        left: 0px;
        margin-right: 10px;
        color: white;
        background-color: var(--slg-teal);
        /*padding: 0 8px;*/
    }
    #hamburger:hover{
        color: var(--slg-yellow);
        background-color: var(--slg-gray);
    }
    #page_title > h2{
        font-size: 24px;
        font-weight: 700;
        /*margin-left: 16px;*/
    }
}
@media screen and (max-width:480px){
    .action_button{
        width:100%;
        border-radius:0;
    }
    .cancel_button{
        box-sizing:border-box;
        width:100%;
        height:48px;
        border: 1px solid var(--slg-teal);
    }
}
@media print{
    header, footer{
        display:none;
    }
    body{
        height:auto;
        color:black;
    }
    li{
        color:black;
    }
    .action_button{
        display:none;
    }
    .cancel_button{
        display:none;
    }
    #page_title{
        height: 36px;
        display: block;
        text-align: left;
        margin: 36px 0;
    }
    #shoppinglist{
        height: 1100px;
        flex-direction: column;
        list-style-position: inside;
        list-style-type: circle;
    }
    #shoppinglist > li{
        height: 18px;
        border: none;
        color: black;
        display: list-item
    }
}