/****** BASICS ******/
    body {
        margin: 0;
        background-image: url(/backgrounds/ophelia.jpg);
        background-size: 100%;
        background-color: rgb(89, 70, 47);
        padding: 15px;
    }

    .wrapper {
        margin: 0 auto;
        margin-top: 15px;
        width: 950px;
        height: 90vh;
        display: grid;
        grid-template: 
        "head head right" 200px
        "left main main" 1fr
        "footer footer footer" 25px
        / 225px 1fr 225px;
    }

    header {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        grid-area: head;
        background-image: url(/backgrounds/phelm.jpg);
        background-size: 100%;
    }

    li {
        margin-left: -10px;
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        box-shadow: 2px 2px 2px #0006;
        background-image: linear-gradient(#dadcde, white 50%, #dadcde 50%, white);
        width: 150px;
        list-style-type: circle;
        margin-top: 5px;
        font-family: courier;
        font-size: small;
    }

    .header {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        box-shadow: 2px 2px 2px #0006;
        height: 20px;
        padding: 3px;
        font-family: courier;
        font-size: 1em;
        font-weight: bold;
        background-image: linear-gradient(#dadcde, white 50%, #dadcde 50%, white);
    }

    .right {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        grid-area: right;
    }

    .left {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        grid-area: left;
        padding: 5px;
    }

    .deadline {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        box-shadow: 2px 2px 2px #0006;
        height: 250px;
        overflow: scroll;
    }

    .books {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        box-shadow: 2px 2px 2px #0006;
        height: 250px;
        margin-top: 5px;
        overflow: scroll;
    }

    main {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        grid-area: main;
        padding: 5px;
    }

    .schedule {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        box-shadow: 2px 2px 2px #0006;
        height: 300px;
        overflow: scroll;
    }

    .grid {
        display: grid;
        grid-template-columns: 2fr 2fr;
        padding: 5px;
        gap: 5px;
    }

    .class-one {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        box-shadow: 2px 2px 2px #0006;
        height: 200px;
    }

    .class-two {
        border: 2px #ffffff inset;
        box-shadow: 0 0 2px 2px #ffffff inset;
        background-color: #f0f0ee;
        box-shadow: 2px 2px 2px #0006;
        height: 200px;
    }

    /****** ACCESSABILITY *******/
    #skip-to-content-link {
        position: fixed;
        top: 0;
        left: 0;
        display: inline-block;
        padding: 0.375em 0.75em;
        line-height: 1;
        font-size: 1.25em;
        background-color: var(--content-background-color);
        color: var(--text-color);
        transform: translateY(-3rem);
        transition: transform 0.1s ease-in;
        z-index: 99999999999;
    }

    #skip-to-content-link:focus, #skip-to-content-link:focus-within {
        transform: translateY(0);
    }

/****** RESPONSIVENESS ******/
    @media (max-width:800px) {
        body {
            font-size: 14px;
        }

        .layout {
            width: 100%;
            grid-template: "header" auto "main" auto "footer" auto / 1fr;
        }

        .left {
            display: none;
        }

        aside {
            border-bottom: 1px solid;
            padding: 9px;
            font-size: 0.9em;
        }

        main {
            max-width: none;
            padding: 15px;
        }

         #skip-to-content-link {
            font-size: 1rem;
        }
    }