/* Style for the map */
#map {
    height: 100%;
    width: 100%;
}

div.map-wrapper {
    display: flex;
    align-items: center;
    justify-content: right;
    position: fixed;
    bottom: 0;
    right: 0;
}

@media only screen and (max-width: 600px) {
    /* duplicate of option2 */
    .wrapper {
        width: 90%;
        max-width: 60em;
        margin: 0 auto;
        div.map-wrapper {
            z-index: -1;
            height: calc(60vh);
            width: 100%;
            mask-image: linear-gradient(to bottom, transparent 00%, black 40%);
            -webkit-mask-image: linear-gradient(to bottom, transparent 00%, black 40%);
        }
        .section .section-content {
            /*background-color: #ffffff44;*/
            background: linear-gradient(to bottom, transparent 30%, rgba(var(--background-color), 0.75) 100%);
            width: calc(100% - 2em);
            padding: 0 1em;
        }
        .section:has(> .shadow.active) {
            .section-content {
                top: 2em;
                min-height: calc(100vh - 5vw - 2em);
            }
        }
    }
}
@media only screen and (min-width: 601px) {
    .wrapper {
        padding-left: 7em;
        width: calc(40% - 6em);
        div.map-wrapper {
            height: calc(100vh);
            width: calc(60% - 2em);
        }
        .section:has(> .shadow.active) .section-content h2 {
            margin: 0;
            margin-right: 0.5em;
            background: var(--background);
            box-shadow: 0 0.25em 0.25em 0.25em var(--background);
            padding-top: 0.5em;
            z-index: 2;
        }
    }
}

.section {
    display: grid;
    grid-auto-columns: 0px 1fr;
    grid-template-rows: auto 1fr auto;
    min-height: 300vh; /* Ensure enough scrollable space */
    padding-bottom: 60vh;
}
.section .section-content {
    grid-column: 2;
    visibility: hidden;
    opacity: 0;
    align-self: flex-start;
    justify-self: start;
    width: 100%;
    min-height: calc(90vh);
    font-size: 0.8em;
}
.section .shadow {
    grid-column: 1;
    min-height: 100%;
    opacity: 0;
}
.section:has(> .shadow.active) {
    padding-top: 3em;
    .section-content {
        position: sticky;
        top: 0;
        visibility: visible;
        opacity: 1;
        min-height: calc(100vh - 10vw);
        h2 {
            position: sticky;
            top: 0;
        }
    }
}
.box-text.active {
    h3:before {
        content: '➤ ';
        color: var(--highlight);
    }
    h3 {
        text-shadow: 1px 1px var(--background), 0px 0px 0.5em var(--highlight);
    }
}