html,
body {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

main {
    display: flex;
    justify-content: center;
    margin-top: 100px;

    >div:has(h1) {
        width: 100%;
        margin-left: 150px;

        >h1 {
            display: inline-block;

            +p {
                display: inline-block;
                margin-left: 15px;
                transform: translateY(-6px);
            }

            +p+p {
                font-size: 32px;
                margin: 0;
                font-weight: bold;
            }
        }

        >div {
            width: 500px;
            color: #aaa;
            line-height: 18px;

            >p>span {
                color: var(--colour-text);
            }
        }

        >div {
            display: flex;
            gap: 10px;
        }

        ul {
            list-style: none;
            padding-inline-start: 0;
            color: var(--colour-primary-dark);
            display: flex;
            gap: 8px;
            text-transform: capitalize;

            >li {
                padding: 5px 10px;
                color: var(--colour-text);
                background-color: var(--colour-background);
                border: 1px var(--colour-text) solid;
                border-radius: 10px;
                cursor: default;
                user-select: none;

                &:hover {
                    background-color: var(--colour-primary);
                    color: var(--colour-background);
                    border-color: var(--colour-primary);
                }
            }
        }
    }
}

/* Targets tablets in landscape mode */
@media only screen and (max-width: 1024px) {

    html,
    body {
        overflow: auto;
    }
}

/* Targets mobile devices in portrait mode */
@media only screen and (max-width: 480px) {
    main>div:has(h1) {
        margin-left: 0;
        text-align: center;

        >div {
            width: auto;
        }
    }
}