// media queries

@media only screen and (max-width: $screen-display) {
    // this is the max-width on content, after this we start using 80% of the width for many things
    main#home ul.thoughts {
        transform: translateX(-10%);
        li:first-child {
            margin-left: 10%;
        }
    }
}

@media only screen and (max-width: $screen-laptop) {
    // increase the column and main content widths a bit
    main {
        article {
            p,
            ul,
            h3,
            h4,
            section,
            blockquote {
                width: min(60vmax, 100%);
            }
            h2 {
                margin: 2vmax 5vmin 1vmax;
            }
            h3 {
                margin: 2vmax 0 1vmax;
            }
        }
    }
    // make the toc wider
    #toc {
        right: -50vw;
        width: 50vw;
    }
}

@media only screen and (max-width: $screen-tablet) {
    // hiding the nav until we can make it responsive
    header {
        nav {
            display: none;
        }
    }
    // all content is now full width
    main {
        align-self: stretch;
        overflow-x: hidden; // safety for negative figure margin below
        width: auto !important;

        aside,
        article h2,
        article h3,
        article h4,
        article p,
        article blockquote {
            margin-left: 0;
            margin-right: 0;
            max-width: 100%;
            text-align: left;
            width: 100%;
        }
        article {
            // full width lists
            ul {
                align-self: start;
                padding: 0;
                width: 100%;
            }
            // move images outward
            figure {
                margin: 2vmax -6vmin 1vmax;
                max-width: 100vw;
                figcaption {
                    margin: 0 12vmin;
                }
                // remove radius on images
                picture,
                img {
                    border-radius: 0;
                }
            }
        }
        &#home {
            // home page posts are vertical now
            ul.posts li {
                flex-direction: column;
                time {
                    padding: 1vmax 0 0 0;
                }
            }
            // fixing the thoughts side scroller
            ul.thoughts {
                transform: translateX(-6vmin);
                li {
                    &:first-child {
                        margin-left: 6vmin;
                    }
                    a {
                        width: 33vmax;
                    }
                }
            }
        }
    }
    // make the toc even wider
    #toc {
        right: -67vw;
        width: 67vw;
    }
}

@media only screen and (max-width: $screen-mobile) {
    // stack the author block vertically now
    section#author {
        align-items: center;
        flex-direction: column;
        span {
            display: block;
            padding-bottom: 0.5vmax;
        }
    }
    // add some padding on list page elements
    main#list section {
        time {
            color: var(--border-accent);
            opacity: 1;
            right: 1.5rem;
            top: 0.85rem;
        }
        h2 {
            border-top: 0.75vmax solid var(--border-accent);
            margin-top: 1.5rem;
            padding-top: 1.375rem;
        }
    }
    // stack footer content vertically
    footer section {
        flex-direction: column;
    }
    // just hide the toc here
    #toc {
        display: none;
    }
    // other things hard-coded to be hidden on mobile
    .hidden-mobile {
        display: none;
    }
}

@media only screen and (max-width: $screen-narrow) {
    // show the banner on phones only
    main aside img#banner {
        display: block;
    }
}

@media only screen and (min-width: $screen-tablet) {
    // hide anything that should just be visible on mobile
    .show-mobile {
        display: none;
    }
}

@media only screen and (min-width: $screen-display) {
    // padding improvements on big screens
    main article h2 {
        margin: 2vmax 7vmin 1vmax;
    }
    ul.list li time {
        padding-left: 3rem;
    }
}

@media only screen and (min-width: $screen-full) {
    // padding improvements on really big screens
    main article h2 {
        margin: 2vmax 5vmin 1vmax;
    }
}