:root {
    --sidebar_width:200px;
}

nav,
nav.visible {
    left:0;
}

header,main {
    padding-left:calc(var(--main_padding) + var(--sidebar_width));
}

header {
    grid-template-columns: 200px 1fr 100px;
}

main {
    display:grid;
    grid-gap:0.5rem;
}

    h1 {
        font-size:2rem;
        font-weight:200;
        margin:0;
    }

    .large_num {
        font-size:2rem;
        margin:0;
        line-height:1;
    }

    .lh1 {
        line-height:1;
    }

.shadow {
    box-shadow: 5px 0 5em var(--darkblue);
}

.item-list {
    display:grid;
    grid-template-columns: 1fr;
    grid-gap:0.5rem;
}

    .item-list .item {
        display:grid;
        grid-template-columns: 50px 1fr;
        grid-gap:0.5rem;
        padding-bottom:0.5rem;
        border-bottom:1px dotted var(--blue);
    }

        .item-list a {
            text-decoration: none;
        }

            .item-list :is(a,div) h3 {
                font-size:1rem;
                margin-bottom:0.35rem;
            }

            .item-list .image img {
                border-radius:0.25rem;
            }

            .item-list a:hover h3 {
                text-decoration: underline;
            }

            .item-list .text div {
                float:left;
                margin-right:1.5rem;
            }

                .item-list .text img {
                    float:left;
                    height:0.7rem;
                    margin:0.1rem 0.5rem 0 0;
                }

                .item-list .text p {
                    width:auto;
                    float:left;
                    clear:none;
                    font-size:0.9rem;
                    color:var(--lblue);
                    line-height:1;
                }

        .item-list > :is(a,div):last-child {
            padding-bottom:0;
            border-bottom:0;
        }

        .options {
            position:relative;
            z-index:2;
        }
    
        .options a {
            float:right;
            padding:0.5rem;
            text-decoration: none;
        }
        .options img {
            float:left;
            clear:left;
            width:100%;
            height:1rem;
            margin-bottom:0.25rem;
        }
        .options p {
            float:left;
            clear:left;
            font-size:0.4rem;
            letter-spacing: 0.1rem;
            text-transform: uppercase;
            text-align: center;
            margin:0.25rem 0 0;
            line-height:1;
        }
        .options a:hover {
            background-color:var(--blue);
        }
    
        .exp-ops-btn {
            position:relative;
            float:left;
            margin:0;
            min-height:2rem;
            display: grid;
            align-items: center;
            border-radius:0.2rem;
        }
    
            .exp-ops-btn:hover {
                background-color:var(--blue);
            }
    
            .ops {
                position:absolute;
                background-color:var(--bgblue);
                border-radius:0.2rem;
                transition: 0.25s;
                overflow:hidden;
                height:50px;
                width:0;
                right:100%;
            }
    
            .ops a {
                height:100%;
                display:grid;
                grid-gap:0.25rem;
                align-items: center;
            }

                .ops a :is(p,img){
                    margin-block:0;
                }
    
            .expand-ops-input {
                position:absolute;
                inset:0;
                width:100%;
                height:100%;
                opacity:0;
                margin:0;
                cursor: pointer;
            }
    
            .options .exp-ops-btn img {
                width:2rem;
                margin:0;
            }
    
            .options:has(.expand-ops-input:checked) .ops {
                width:max-content;
            }


form {
    position:relative;
}

    input {
        margin-bottom:0.5rem;
    }

    label {
        font-size:1rem;
        margin-bottom:0.5rem;
    }

    select {
        float:right;
        width:100%;
        border:1px solid var(--beige);
    }

    ::placeholder {
        font-style: italic;
    }

.checkbox-list {

    .checkbox {
        float:left;
        margin-right:1.5em;
        display: block;
        position: relative;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    .checkbox label {
        float:left;
        font-size:1em;
        margin:0;
    }

    .checkbox input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
    }

    .checkmark {
        position: relative;
        float: left;
        margin-right: 0.75em;
        height: 20px;
        width: 20px;
        background-color: transparent;
        cursor: pointer;
        background-color:var(--darkblue);
    }

    .checkbox:hover input ~ .checkmark {
        border:1px solid var(--beige);
    }

    .checkbox input:checked ~ .checkmark {
        background-color:var(--beige);
    }

    .checkmark:after {
        content: "";
        position: absolute;
        display:none;
    }

    .checkbox input:checked ~ .checkmark:after {
        display: block;
    }

    .checkbox .checkmark:after {
        left: 31%;
        top: 10%;
        width: 5px;
        height: 10px;
        border: solid var(--darkblue);
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .checkbox p {
    font-size:1.4em;
    line-height:1.3;
    margin-bottom:0;
    cursor: pointer;
    float: left;
    clear:none;
    }

    .checkbox p span {
    opacity:0.4;
    }

}

.radios {
    margin-bottom:2em;

    .radio-btn {
        position:relative;
        float:left;
        clear:none;
        margin-right:2px;
    }

    .radio-btn input {
        position:absolute;
        inset:0;
        height:100%;
        height:100%;
        padding:0;
        cursor: pointer;
        opacity:0;
        margin:0;
    }

    .radio-btn .checked {
        float:left;
        background-color:var(--darkblue);
        border-radius:0.25em;
        pointer-events: none;
        text-align: center;
    }

        .radio-btn input:checked ~ .checked{
            background-color:var(--beige);
            color:var(--darkblue);
        }

    .radio-btn p {
        margin:0;
        padding:0.5em 1em;
        font-size:1.8em;
        line-height:1;
        pointer-events: none;
    }
}

.type-desc strong {
    color:Var(--beige);
}

footer {
    grid-column: 1/-1;
}

@media screen and (max-width:1000px){
    nav {
        left:calc(-1 * var(--sidebar_width));
    }

    nav.visible {
        left:0;
    }

    header,
    main {
        padding-left:var(--main_padding);
    }

        .burger-outer {
            grid-column: 3;
        }
}

@media screen and (max-width:600px){
    .large {
        font-size:1.5rem;
    }

    .checkbox-list .checkbox p {
        font-size:0.8rem;
    }

    .radios .radio-btn p {
        font-size:0.8rem;
    }
}

@media screen and (max-width:350px){
	header{
		grid-template-columns: 1fr 45px;
	}
}