.floater-container {
    background-attachment: fixed;
    background-color: var(--background);
    background-image: url(../images/redwall-map-upscaled.webp);
    padding: 6em 0em 4em 0em;
    position: relative;
    background-repeat: repeat-x;
    animation: map-animation 45s linear infinite
}

@media screen and (max-width:960px) {
    .floater-container {
        animation: none;
        background-size: cover;
        padding-top: 0em
    }
}

@keyframes map-animation {
    0% {
        background-position: 0% 0%
    }

    20% {
        background-position: 55% 15%
    }

    40% {
        background-position: 75% 40%
    }

    60% {
        background-position: 45% 65%
    }

    80% {
        background-position: 15% 35%
    }

    100% {
        background-position: 0% 0%
    }
}

.floater-splash {
    align-items: center;
    display: flex;
    justify-content: right;
    margin: 0em 10% 0em 10%;
    min-height: 90vh;
    position: relative
}

.floater-splash>img {
    filter: drop-shadow(0 2px 4px #222);
    max-height: 80vh;
    max-width: 600px
}

.floater {
    align-items: center;
    display: flex;
    height: 100%;
    max-width: 100%;
    padding-top: 3em;
    position: absolute;
    width: 100%
}

.floater>div {
    background: #bea161;
    background: linear-gradient(0deg, rgba(248, 242, 213, 0.4) 0%, rgb(248, 242, 213, 0.8) 50%, rgb(248, 242, 213, 0.4) 100%);
    box-shadow: 0 0 6px #FFFA;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    max-width: 640px;
    padding: 0em 2em;
    z-index: 1
}

.floater>div>* {
    margin-left: .25rem;
    margin-right: .25rem
}

@media screen and (max-width:960px) {
    .floater-splash {
        margin: 2em 0%
    }

    .floater-splash>img {
        border-radius: 0
    }

    .floater>div>* {
        text-align: center
    }
}

.tidbit-section {
    padding: 2em 10vw
}

.banner-section {
    background-image: url(../images/hamedtaha-1_K74KTKke8-unsplash.webp);
    background-position: bottom;
    background-size: cover;
    text-align: center
}

.banner-section>div {
    background: #FFF;
    background: linear-gradient(0deg, rgb(255 255 255 / .4) 0%, rgb(255 255 255 / .8) 50%, rgb(255 255 255 / .4) 100%);
    box-shadow: 0 0 6px #FFFA;
    padding: 10vh 10vw
}

@property --classes {
    syntax: '<integer>';
    initial-value: 0;
    inherits: false
}

@property --beasts {
    syntax: '<integer>';
    initial-value: 0;
    inherits: false
}

@property --xpways {
    syntax: '<integer>';
    initial-value: 0;
    inherits: false
}

@property --recipes {
    syntax: '<integer>';
    initial-value: 0;
    inherits: false
}

.statistics-section {
    position: relative;
}

.statistics-wrapper {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
    justify-items: center;
    
}

.statistics-wrapper>div {
    aspect-ratio: 1 / 1;
    background-color: var(--secondary);
    border-radius: 10px;
    color: var(--background);
    max-width: 20vw;
    min-width: 300px;
    padding: 24px;
    position: relative
}

.statistics-wrapper>div>span:first-of-type {
    display: block;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 300%;
    left: 50%;
    position: absolute;
    font-weight: 700;
    text-align: center;
    top: 45%;
    transform: translate(-50%, -50%)
}

.statistics-wrapper>div>span:last-of-type {
    bottom: 10%;
    display: block;
    font-weight: 700;
    position: absolute;
    text-align: center;
    width: calc(100% - 48px)
}

.statistics-wrapper:first-of-type {
    visibility: hidden;
}

.statistics-wrapper:last-of-type {
    bottom: -196px;
    position: absolute;
    width: 100%;
}

.classes>span:first-of-type {
    animation-name: numCounter_classes;
    counter-reset: num var(--classes)
}

.classes>span:first-of-type::after {
    content: counter(num)
}

.beasts>span:first-of-type {
    animation-name: numCounter_beasts;
    counter-reset: num var(--beasts)
}

.beasts>span:first-of-type::after {
    content: counter(num)
}

.xpways>span:first-of-type {
    animation-name: numCounter_xpways;
    counter-reset: num var(--xpways)
}

.xpways>span:first-of-type::after {
    content: counter(num)
}

.recipes>span:first-of-type {
    animation-name: numCounter_recipes;
    counter-reset: num var(--recipes)
}

.recipes>span:first-of-type::after {
    content: counter(num)
}

.numCounter.activate {
    animation-delay: 0.1s;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    will-change: contents
}

@keyframes numCounter_classes {
    0% {
        --classes: 0
    }

    100% {
        --classes: 9
    }
}

@keyframes numCounter_beasts {
    0% {
        --beasts: 0
    }

    100% {
        --beasts: 9
    }
}

@keyframes numCounter_xpways {
    0% {
        --xpways: 0
    }

    100% {
        --xpways: 6
    }
}

@keyframes numCounter_recipes {
    0% {
        --recipes: 0
    }

    100% {
        --recipes: 34
    }
}

@media screen and (max-width:1440px) {
    .statistics-wrapper {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width:960px) {
    .statistics-wrapper {
        grid-template-columns: repeat(1, 1fr)
    }
}

.writing-section .side-text span {
    color: var(--primary);
    font-weight: 700
}

@media screen and (max-width:960px) {
    .writing-section .side-text:first-of-type {
        border-bottom: 3px solid var(--secondary)
    }
}

.parallax-section {
    max-height: 100vh;
    padding: 0;
    position: sticky;
    text-align: center;
    top: 0;
    z-index: -1
}

.action-section {
    padding: 4em 0em 10vh 0em
}

.action-section .flex-column .flex-column {
    background-color: var(--background);
    box-shadow: 2px 2px 5px #383635;
    padding: 1em
}

.action-section p {
    max-width: calc(400px + 10vw)
}

@media screen and (max-width:960px) {
    .action-section {
        padding: 4em 0em 0em 0em
    }

    .action-section .flex-row.pair-view {
        gap: 0em
    }

    .action-section .flex-column .flex-column {
        box-shadow: none;
    }
}