/* css reset */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    hanging-punctuation: first allow-end last;
}

h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}

/* global variables */
:root {
    --accent-orange: rgb(246, 145, 15);
    --accent-blue: rgb(9, 184, 234);
    --accent-gray: rgb(237, 237, 237);
    --text: #222;
    --text-lighter: rgb(100, 100, 100);
}

/* general formatting */
body {
    max-width: 1200px;
    padding: 2%;
    margin: 0 auto;
    font-family: 'Rubik', sans-serif;
    color: var(--text);
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Space Mono', monospace;
    letter-spacing: -5%;
}

a {
    color: var(--accent-blue);
    text-decoration: 2px underline;
    text-underline-offset: 5px;
}

.button {
    display: block;
    width: fit-content;
    border: 1px solid var(--accent-blue);
    border-radius: 15px;
    text-decoration: none;
    padding: 2% 4%;
    font-family: 'Space Mono', monospace;
    letter-spacing: -5%;
    text-transform: uppercase;
    font-weight: 700;
}

.button:hover {
    color: var(--accent-blue);
    border-color: var(--accent-blue);
}

main h1:first-of-type {
    text-align: center;
    margin-bottom: 1%;
    color: var(--accent-blue);
}

audio {
    width: 100%;
    filter: invert(1) hue-rotate(180deg); 
}

footer {
    margin-top: 2%;
    background-color: var(--accent-gray);
    padding: 2% 4%;
    border-radius: 15px;

    ul {
        list-style-type: none;
        display: flex;
        gap: 4%;
        align-items: center;
        justify-content: center;

        a.button {
            border-width: 0px;
            padding: .5rem 1rem;

            svg {
                width: 40px;
                height: 40px;
            }
        }

        a.button:hover {
            color: var(--accent-orange);
            border-color: var(--accent-orange);
        }
    }
}

/* header */
header {
    display: flex;
    align-items: center;
    margin-bottom: 2%;

    img {
        height: 50px;
        width: 50px;
        border-radius: 15px;
        margin-right: 1%;
    }

    a.home {
        text-decoration: none;
        color: var(--text);
        margin-right: 2%;
    }

    h1 {
        font-size: 1.2rem;
    }

    .tagline {
        font-size: .9rem;
        color: var(--text-lighter);
        margin-top: 5px;
    }
}

/* landing */
#landing {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2%;
    background-position: center;
    background-color: rgba(0, 0, 0, .6);
    background-blend-mode: overlay;
    padding: 2% 4%;
    border-radius: 15px;
    text-shadow: 2px 2px 5px rgba(51, 51, 51, .75);
    box-shadow: 2px 2px 5px rgba(51, 51, 51, .1);

    .art {
        flex-basis: 25%;
        img {
            width: 250px;
            height: fit-content;
            border-radius: 15px;
            margin-right: 2%;
            box-shadow: 2px 2px 5px rgba(51, 51, 51, .75);
        }
    }

    .info {
        flex-basis: 75%;
    }

    h2 {
        color: var(--accent-orange);
        line-height: 1.2;
        font-size: 2rem;
        text-transform: uppercase;
        margin: 1% 0;
    }

    p {
        color: #fff;
        font-size: 1.25rem;
    }

    ul.buttons {
        width: 100%;
        list-style-type: none;
        margin-top: 2%;
        display: flex;
        flex-wrap: wrap;
        gap: 2%;
        justify-content: space-evenly;

        li {
            margin-bottom: 1%;
            .button {
                color: #fff;
                border-color: #fff;
                font-size: 1.5rem;
                box-shadow: 2px 2px 5px rgba(51, 51, 51, .75);
                padding: 1rem 2rem;
            }

            .button:hover {
                color: var(--accent-blue);
                border-color: var(--accent-blue);
            }
        }
    }

    @media screen and (max-width: 1150px) {
        .art {
          display: none;
        }

        .info {
            flex-basis: 100%;
        }
    }
}

/* home & episode archive */
.latest, .archive {
    display: flex;
    gap: 2%;
    padding: 2%;
    border-radius: 15px;
    border: 1px solid var(--accent-gray);
    box-shadow: 2px 2px 5px rgba(51, 51, 51, .1);
    margin-bottom: 2%;

    .content {
        flex-grow: 1;
    }

    .label {
        color: var(--accent-blue);
        font-family: 'Space Mono', monospace;
        letter-spacing: -5%;
        font-weight: 700;
        font-size: 1.2rem;
    }

    h2 a {
        color: var(--accent-orange);
        font-size: 2.5rem;
        text-decoration: none;
        letter-spacing: -2.5px;
        line-height: .8;
    }
    
    audio {
        margin-top: 2%;
    }

    ul.meta {
        display: flex;
        gap: 3%;
        list-style-type: none;
        color: var(--text-lighter);
        font-family: 'Space Mono', monospace;
        text-transform: uppercase;
        font-size: .9rem;
        margin-bottom: 1%;

        a {
            color: var(--text-lighter);
            text-decoration: none;
        }

        svg {
            width: 12px;
            height: 12px;
            margin-right: -5px;
        }
    }

    .cover {
        background-position: center;
        background-size: cover;
        border-radius: 15px;
        width: 200px;
        height: 200px;
        flex-shrink: 0;
    }

    @media screen and (max-width: 800px) {
        flex-wrap: wrap;

        .cover {
            width: 100%;
            margin-bottom: 2%;
        }

        ul.meta {
            flex-wrap: wrap;
        }
    }

    @media screen and (max-width: 600px) {
        .label, h2, ul.meta {
            text-align: center;
        }
        ul.meta {
            gap: 0%;

            li {
                width: 50%;
            }
        }
    }
}

.episodes {
    margin: 2% auto;
    font-size: 1.5rem;
}

/* episode page */
.layouts-episode-njk {
    #landing {
        height: 450px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        background-size: cover;

        h1 {
            color: var(--accent-orange);
            font-size: 2.5rem;
            text-align: left;
            line-height: 1.2;
            text-transform: uppercase;
        }

        ul.meta {
            color: #fff;
            display: flex;
            gap: 3%;
            list-style-type: none;
            font-family: 'Space Mono', monospace;
            text-transform: uppercase;
            width: 100%;

            a {
                color: #fff;
                text-decoration: none;
            }

            svg {
                width: 12px;
                height: 12px;
                margin-right: -5px;
            }
        }
    }

    audio {
        margin-bottom: 1%;
    }

    p {
        margin-bottom: 1%;
    }

    .jump {
        width: 100%;
        display: flex;
        gap: 30%;
        align-items: stretch;
        justify-content: space-between;

        .prev, .next {
            text-wrap: balance;
            width: 50%;
            display: flex;
            align-items: center;
            gap: 10%;
            padding: 1rem;

            .arrow {
                color: var(--accent-orange);
                font-size: 2rem;
                font-weight: normal;
            }
        }

        .next {
            text-align: right;
            justify-content: end;

            .arrow {

            }
        }
    }

    @media screen and (max-width: 500px) {
        .jump {
            gap: 10%;
        }
    }
}