@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;900&display=swap');
:root {
    --logo-z-height: 20;
    --hero-z-height: 10;
    --ball-z-height: 9;
    --villain-z-height: 8;
    --dudeling-blue: #95cded;
    --dudeling-navy: #000c4d;
    --dudeling-red: #bd2f3e;
    --dudeling-orange: #e3af4f;
    --dudeling-yellow: #edda4a;
    --dudeling-muted-yellow: #ffdab5;
    --dudeling-cornflower: #feffe3;
    --dudeling-purple: #9a00ab;
    --dudeling-green: #008a22;
    --dudeling-skew: skew(-15deg);
    --scanline-color: rgba(0,0,0, .2);
}
:is(.two-up, .three-up) hgroup {
    margin: 0;
    padding: 0;
}

main {
    margin: unset;
    padding: 0;
    font-family: 'Fira Sans', sans-serif;
}
main > .landing-splash.landing-splash.landing-splash {
    height: 200vh;
    box-sizing: border-box;
    position: relative;
    z-index: -1;
    background-image: unset;
}

.landing-splash.landing-splash.landing-splash:before {
    content: "";
    width: 100%;
    height: 120vh;
    background: url('/res/dudelings/bg-infield.png?');
    background-size: cover;
    background-position: center;
    position: fixed;
    top: 0;
    left: 0;
    animation: splashParallax forwards;
    animation-timeline: scroll();
}
.landing-splash:after{
    content: "";
    background-image: linear-gradient(to bottom, transparent 50%, var(--scanline-color) 51%);
    background-size: 2px 8px;
    background-repeat: repeat;
    height: 0;
    position: fixed;
    inset: 0;
    height: 100vh;
    width: 100vw;
    pointer-events: none;
    z-index: 100;
}
@keyframes splashParallax {
    from {
        top: -15vh;
    }
    to {
        top: 0;
        scale: 15vh;
    }
}

.landing-splash .logo {
    height: 495px;
    width: 907px;
    z-index: var(--logo-z-height);
    background: url('/res/dudelings/logo-second-base.png?');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scale(.7);
    margin-top: 3lh;
}

.late-splash-panel {
    min-height: 60vh;
    background-image: var(--bg);
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#sportslike article {
    width: 50%;
    padding: 0;
}

.late-splash-panel .rounded-container {
    /* min-height: 50vh; */
    justify-content: center;
    align-items: center;
}

.dudeling-ball {
    position: fixed;
    background-image: url('/res/dudelings/ball.png?');
    --top: 0%;
    --left: -15%;
    --translate-20: 10% 10%;
    --translate-100: 20% 20%;
    top: var(--top);
    left: var(--left);
    opacity: 0;
    height: 309px;
    width: 720px;
    animation: ballReveal forwards;
    animation-timeline: scroll();
    animation-fill-mode: backwards;
    animation-timing-function: linear;
}

@keyframes ballReveal {
    2% {
        opacity: 0;
    }
    12% {
        opacity: 1;
    }
    20% {
        scale: 1;
        translate: var(--translate-20);
        rotate: 5deg;
    }
    100% {
        opacity: 1;
        translate: var(--translate-100);
        rotate: 10deg;
    }
}

[aria-describedby="nylon-links"] a:visited {
    color: var(--dudeling-yellow);
}

.dudeling {
    height: 812px;
    width: 480px;
    background: url("/res/dudelings/keyart-dudeling-hero.png?");
    position: fixed;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: var(--hero-z-height);
    --motion-y-start: -363px;
    --motion-x-start: 22%;
    --initial-scale: 1;
    --motion-y-end: 700px;
    --motion-x-end: 17%;
    --final-scale: 1.1;
    bottom: var(--motion-y-start);
    right: var(--motion-x-start);
    scale: var(--initial-scale);
    animation: dudelingSlowMo forwards;
    animation-timeline: scroll();
}
.dudeling-villain {
    background: url("/res/dudelings/keyart-dudeling-villain.png?");
    height: 540px;
    width: 323px;
    --motion-y-start: -235px;
    --motion-x-start: 50%;
    --motion-y-end: 560px;
    --motion-x-end: 40%;
    --final-scale: 1.02;
    z-index: var(--villain-z-height);
}
@keyframes dudelingSlowMo {
    to {
        bottom: var(--motion-y-end);
        right: var(--motion-x-end);
        scale: var(--final-scale);
    }
}
@keyframes logoFade {
    0% {
        scale: .8;
    }
    30% {
        scale: .8;
        opacity: 1;
    }
    60% {
        scale: .4;
        opacity: 0;
    }
}
@keyframes ballDrop {
    0% {
        scale: .8;
        opacity: 0;
    }
    30% {
        scale: .8;
        opacity: 0;
    }
    60% {
        opacity: 10;
    }
    100% {
        scale: 1.1;
    }
}

.scaleable {
    width: 100%;
    height: auto;
}

a.dudeling-button, .dudeling-button {
    background-color: #edda4a;
    background-image: unset;
    color: var(--dudeling-navy);
    display: flex;
    text-transform: uppercase;
    align-items:center;
    border-top: 5px solid #feffe3;
    border-right: 5px solid #feffe3;
    border-left: 5px solid #e3af4f;
    border-bottom: 5px solid #e3af4f;
    padding: 10px 10px 5px 5px;
    scale: .8;
    rotate: 5deg;
    justify-content: space-evenly;
    transition: scale .3s ease-in-out, rotate .3s ease-in-out;
    box-sizing: border-box;
    width: max-content;
    text-decoration: none;
    --_anchor-hover-color: var(--dudeling-navy);
    font-family: 'Fira Sans', sans-serif;
    font-weight: 900;
    padding: 0.6em 0.8em;
}
a.dudeling-button:visited {
    color: var(--dudeling-navy);;
}
:is(a.dudeling-button, .dudeling-button):hover {
    scale: 1;
    rotate: 0deg;
}

a.dudeling-button.press-kit-button {
    margin: 1em;
}

a.dudeling-button.press-kit-button:not(:hover), .dudeling-button.press-kit-button:not(:hover){
    rotate: -5deg;
}

a.dudeling-button.press-kit-button div {
    white-space: nowrap;
}

a.dudeling-button.press-kit-button i {
    width: 1ch;
}

.floater {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: calc(var(--logo-z-height) + 10)
}

.dudeling-button.google-play {
    display: none;
}

.dudeling-button.steam {
    display: flex;
}

.dudeling-button i {
    font-size: 4rem;
}
.dudeling-button div {
    display: flex;
    flex-direction: column;
    font-size: 2.4rem;
    font-family: var(--project-head-family);
    font-weight: bold;
}
.dudeling-button div span {
    font-family: var(--project-body-family);
    font-size: 1rem;
}

a.icon-button {
    background: var(--dudeling-cornflower);
    --outline: var(--dudeling-navy);
    text-shadow: 2px  2px 0   var(--outline),
                -1px  1px 0   var(--outline),
                    1px -1px 0   var(--outline),
                -1px -1px 0   var(--outline),
                    3px  3px 1px var(--outline);
    color: var(--dudeling-yellow);
    font-size: 1.2rem;
    padding: 0.5rem;
    border: 3px solid var(--dudeling-orange);
    display: inline-flex;
    margin: 0.5rem;
    transition: scale .3s;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    border-radius: 6px;
}

a.icon-button:hover {
    color: white;
    scale: 1.2;
    outline: 1px solid white;
}

a.icon-button i {
    font-size: 1.7rem;
}

.seagull {
    --sprite-offset: 0;
    background: url("/res/dudelings/seagull/seagull.png?");
    height: 104px;
    width: 120px;
    background-size: 1200px 104px;
    background-position: calc(120px * calc(var(--sprite-offset) * -1)) 0;
    position: fixed;
    bottom: 108px;
    right: 150px;
    /* scale: 0.6; */
    z-index: 1900;
    filter: drop-shadow(-3px 0px 6px rgba(0,0,0,.3))
}

section.dudeling-section {
    --left: var(--dudeling-red);
    --right: var(--dudeling-blue);
    background-color: var(--left);
    isolation: isolate;
    position: relative;
}

section.dudeling-section:before {
    content: "";
    background-color: var(--right);
    position: absolute;
    width: 100%;
    inset: 0;
    translate: -50%;
    z-index: 1;
    transform: var(--dudeling-skew);
}

.dudeling-angle-menu {
    background: transparent;
    position: relative;
    padding: 0 10%;
    z-index: 20;
    color: white;
    text-align: center;
    display:flex;
    flex-direction: column;
    gap: 3em;
}

.dudeling-angle-menu video {
    margin-top: -100px;
}

.dudeling-angle-menu a:not(.app-store-button) {
    margin: 0 auto;
}

.dudeling-angle-menu iframe {
    margin: 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.dudeling-angle-menu article {
    text-align: center;
    margin: 0 auto;
}

.dudeling-angle-menu:before {
    content: "";
    background-color: var(--dudeling-navy);
    position: absolute;
    width: 80%;
    top: -10%;
    left: 50%;
    translate: -50%;
    z-index: -1;
    transform: var(--dudeling-skew);
    height: 120%;
    max-width: 1000px;
    margin: 0 auto;
}

.dudeling-section .rounded-container {
    position: relative;
    z-index: 10;
    box-sizing: border-box;
}

.dudeling-section .rounded-container:before{
}

main .rounded-container:last-child {
    margin-bottom: 0;
}

.dudeling-row {
    position: absolute;
    display: flex;
    z-index: 100;
    width: 100%;
    justify-content: center;
}

dudeling-container {
    display: block;
    height: 200px;
    width: 52px;
    background: url('/res/dudelings/dudeling/dudeling-base.png?');
    background-position-x: calc(52px * var(--skin-tone));
    position: relative;
}

dudeling-container .dudeling--head {
    height: calc(364px / 7);
    width: 52px;
    top: 7px;
    position: absolute;
    background-position-x: calc(52px * var(--skin-tone));
    background-position-y: calc(52px * var(--head-shape));
    background-image: url('/res/dudelings/dudeling/dudeling-heads.png?');
}

dudeling-container .dudeling--hair {
    height: 30px;
    width: 52px;
    top: -5px;
    left: 0px;
    position: absolute;
    background-position-x: calc(52px * var(--hair-style));
    background-image: url('/res/dudelings/dudeling/dudeling-hairs.png?');
}

dudeling-container .dudeling--face {
    --h: calc(156px / 3);
    height: var(--h);
    width: 52px;
    top: 6px;
    left: 0px;
    position: absolute;
    background-position-y: calc(var(--h) * var(--face-type));
    background-position-x: calc(calc(52px * var(--face-state, 0)) * -1);
    background-image: url('/res/dudelings/dudeling/dudeling-faces.png?');
}

.rounded-container {
    background: white;
    color: var(--dudeling-navy);
}

.inverted {
    background-color: var(--dudeling-navy);
    .rounded-container {
        background-color: transparent;
    }
}

a .cobalt-post--header :is(ul, content) {
    font-weight: normal;
}

@media only screen and (min-width: 1350px) {
    .dudeling {
        --motion-x-start: 24%;
        --motion-x-end: 14%;
    }
    .dudeling-villain {
        --motion-x-start: 54%;
        --motion-x-end: 60%;
    }
    .dudeling-ball {
        --top: -10%;
        --left: 5%;
        --translate-20: 10% 10%;
        --translate-100: 20% 20%;
    }
}
@media only screen and (min-width: 1850px) {
    .dudeling {
        --motion-x-start: 30%;
        --motion-x-end: 29%;
    }
    .dudeling-villain {
        --motion-x-start: 51%;
        --motion-x-end: 52%;
    }
}
@media only screen and (max-width: 1080px) {
    .dudeling {
        --motion-x-start: 20%;
        --motion-x-end: 14%;
    }
    .dudeling-villain {
        --motion-x-start: 54%;
        --motion-x-end: 60%;
    }
    .dudeling-angle-menu {
        flex-direction: column;
        margin-top: 2rem;
    }
    .dudeling-angle-menu a {
        margin: 2rem auto 0;
    }
}
@media only screen and (max-width: 865px) {
    .dudeling {
        --motion-x-start: 10%;
        --motion-x-end: 3%;
    }
    .dudeling-villain {
        --motion-x-start: 54%;
        --motion-x-end: 60%;
    }
    .inverted, .inverted .rounded-container{
        width: 100%;
    }
    
}

@media only screen and (min-width: 35.1em) {
    body > header {
        color: white;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
    body > header:before {
        content: unset;
    }
    #he-atomic-masthead {
        height: 75px;
    }

}
@media only screen and (max-width: 35em) {
    body {
        width: 100vw;
        overflow-x: hidden;
    }
    body > header {
        position: fixed;
    }
    main {
        overflow-x: hidden;
        width: 100vw;
    }
    .landing-splash {
        width: 100vw;
        overflow: hidden;
        height: 100vh;
        position: relative;
    }
    .landing-splash .logo {
        width: 100vw;
        height: 100vh;
        position: absolute;
    }
    .dudeling-ball {
        width: 0px;
        height: 0px;
        /* display: none; */
    }
    .landing-splash:before {
        width:100vw;
    }

    .dudeling-angle-menu {
        padding:0;
    }
    .dudeling-angle-menu:before {
        display: none;
    }

    .dudeling-angle-menu iframe{
        max-width: 100vw;
        aspect-ratio: 16 / 9;
    }

    #sportslike img {
        width: 100%;
        height: auto;
    }

    #soundtrack iframe {
        width: 100%;
        aspect-ratio: 1 / 1;
    }

    .dudeling {
        max-width: 80vw;
        animation: unset;
        --motion-x-start: 0%;
        --motion-x-end: 0%;
        position: absolute;
    }

    .dudeling-villain {
        --motion-x-start: 47%;
        --motion-y-start: -320px;
        width: 218px;
        background-size: contain;
    }
    
    hgroup h2 {
        text-align: center;
        margin-bottom: 0;
    }

    hgroup h2 img, h1 img {
        width:100%;
        height: auto;
        object-fit: contain;
        object-position: center;
    }

    #sportslike article {
        width: unset;
    }

    a.dudeling-button, .dudeling-button {
        
        width: 185px;

    }
    .dudeling-button i {
        font-size: 2rem;
    }

    .dudeling-button div {
        font-size: 1.4rem;
    }
    .dudeling-button div span {
        font-size: 0.6rem;
    }

    .seagull {
        bottom: 66px;
        right: 97px;
    }
    
    .cobalt-post--blurb {
        box-sizing: border-box;
        width: 100%;
    }

    .cobalt-post--title {
        font-size: 1.8rem;
    }

    .floater .dudeling-button.google-play {
        display: flex;
        width: 260px
    }
    
    .floater .dudeling-button.steam {
        display: none;
    }
}

@supports ( -moz-appearance:none ){
    .landing-splash {
        height: 100vh;
        position: relative;
    }
    .dudeling {
        position: absolute;
        animation: unset;
    }
}


.app-store-button-container {
    /* position: absolute;
    bottom: 0;
    z-index: 1000 */
    margin-bottom: 1em;
}

a.landing-main--related-page {
    background-color: white;
    color: var(--dudeling-navy);
    --_anchor-hover-color: var(--dudeling-blue);
}