body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: "Montserrat", "Arial", sans-serif;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #e8faff;
}

body,
html {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* fixing https://stackoverflow.com/q/25704650 */
}

body {
    --s: 10em; /* control the size */
    --c2: #6fd4ff;
    --c1: #38aed9;
    --top: #83139fb3;
    --shadow: #09567975;
    --neonLightPinkish: #f09;
    --neonLightBlueish: #0af;
    --neonFontBlue: #e9d6fc;
    --neonFontPink: #ffd2f3;
    --_g: var(--top) 120deg, #0000;
    cursor: pointer;

    background-blend-mode: difference, difference, color-burn, color-burn,
        difference, luminosity;
    mix-blend-mode: luminosity;

    background: /* top */ conic-gradient(
            from -70deg at 50% 100%,
            transparent,
            var(--shadow) 10deg,
            var(--c1) 0 130deg,
            var(--shadow) 130deg,
            transparent 140deg
        ),
        /* bottom */
            conic-gradient(
                from 100deg at 50% 70%,
                transparent,
                var(--shadow) 20deg,
                var(--top) 0 140deg,
                var(--shadow) 140deg,
                transparent 165deg
            ),
        /* right */
            conic-gradient(
                from 50deg at 70%,
                transparent,
                var(--shadow) 10deg,
                var(--top) 0 70deg,
                var(--c1) 0 130deg,
                transparent 130deg
            ),
        /* left */
            conic-gradient(
                from 180deg at 30%,
                var(--c1) 60deg,
                var(--top) 0 120deg,
                var(--shadow) 120deg,
                transparent 130deg
            ),
        /* background colors */
            conic-gradient(
                from 0deg at 50% 30%,
                var(--top) 0deg,
                var(--neonFontPink) 60deg,
                rgb(139, 178, 122) 0 300deg,
                var(--neonFontPink) 0 300deg,
                var(--top) 360deg
            ),
        /* light */
            conic-gradient(
                from 0deg at 50% 100%,
                rgba(255, 255, 255, 0.637) 20deg,
                rgba(255, 0, 0, 0.151) 50deg,
                rgba(255, 0, 0, 0.151) 310deg,
                rgba(255, 255, 255, 0.637) 340deg
            );
    /* background-size: calc(var(--s) * 1.732) calc(var(--s)); */
}

.container {
    width: 40vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.title {
    font-size: 5rem; /* Default size */
    position: relative;
    line-height: 0.6;
    font-family: "Tilt Neon";
}

.subtitle {
    margin-top: 3em;
    font-size: 2rem;
    color: #e9fcffb8;
    text-shadow: 0px 0px 3px rgb(0, 0, 0);
    text-wrap: pretty;
}

@media (max-width: 1200px) {
    .title {
        font-size: 3.2rem;
    }
    .subtitle {
        font-size: 1.7rem;
    }
    footer {
        font-size: 1rem;
    }
}

@media (max-width: 500px) {
    .title {
        font-size: 2.5rem;
    }
    .subtitle {
        font-size: 1.2rem;
        margin-left: 5px;
        margin-right: 5px;
    }
    footer {
        font-size: 0.8rem;
    }
}

.top {
    display: flex;
    white-space: nowrap; /* Prevents wrapping */
    justify-content: center;
    align-items: center;
}

.bottom {
    display: flex;
    white-space: nowrap; /* Prevents wrapping */
    justify-content: center;
    align-items: center;
    margin-top: -10px;
}

.flicker {
    animation: flicker 5s;
}

.disabled {
    opacity: 0.1;
}

@keyframes flicker {
    0% {
        opacity: 0.3;
    }
    8.6% {
        opacity: 0.5;
    }
    9% {
        opacity: 0;
    }
    14.8% {
        opacity: 0.5;
    }
    15% {
        opacity: 0;
    }
    18.6% {
        opacity: 0.6;
    }
    19% {
        opacity: 0;
    }
    34.8% {
        opacity: 1;
    }
}

.neon-blueish {
    color: var(--neonFontBlue);
    animation: pulsateBlueish 1.8s ease-in-out infinite alternate;
    text-shadow: 0 0 0.1em var(--neonFontBlue), 0 0 0.2em var(--neonFontBlue),
        0 0 0.3em var(--neonFontBlue), 0 0 0.4em var(--neonLightBlueish),
        0 0 0.6em var(--neonLightBlueish), 0 0 0.8em var(--neonLightBlueish),
        0 0 1em var(--neonLightBlueish), 0 0 1.2em var(--neonLightBlueish);
}

.neon-pinkish {
    color: var(--neonFontPink);
    animation: pulsatePinkish 2s ease-in-out infinite alternate;
    text-shadow: 0 0 0.1em var(--neonFontPink), 0 0 0.2em var(--neonFontPink),
        0 0 0.3em var(--neonFontPink), 0 0 0.4em var(--neonLightPinkish),
        0 0 0.6em var(--neonLightPinkish), 0 0 0.8em var(--neonLightPinkish),
        0 0 1em var(--neonLightPinkish), 0 0 1.2em var(--neonLightPinkish);
}

@keyframes pulsateBlueish {
    100% {
        text-shadow: 0 0 0.2em var(--neonFontBlue),
            0 0 0.3em var(--neonFontBlue), 0 0 0.4em var(--neonFontBlue),
            0 0 0.6em var(--neonLightBlueish), 0 0 1em var(--neonLightBlueish),
            0 0 1.2em var(--neonLightBlueish), 0 0 1.4em var(--neonLightBlueish),
            0 0 1.6em var(--neonLightBlueish);
    }

    0% {
        text-shadow: 0 0 0.1em var(--neonFontBlue),
            0 0 0.2em var(--neonFontBlue), 0 0 0.3em var(--neonFontBlue),
            0 0 0.4em var(--neonLightBlueish), 0 0 0.8em var(--neonLightBlueish),
            0 0 1em var(--neonLightBlueish), 0 0 1.2em var(--neonLightBlueish),
            0 0 1.4em var(--neonLightBlueish);
    }
}

@keyframes pulsatePinkish {
    100% {
        text-shadow: 0 0 0.2em var(--neonFontPink),
            0 0 0.3em var(--neonFontPink), 0 0 0.4em var(--neonFontPink),
            0 0 0.6em var(--neonLightPinkish), 0 0 1em var(--neonLightPinkish),
            0 0 1.2em var(--neonLightPinkish), 0 0 1.4em var(--neonLightPinkish),
            0 0 1.6em var(--neonLightPinkish);
    }

    0% {
        text-shadow: 0 0 0.1em var(--neonFontPink),
            0 0 0.2em var(--neonFontPink), 0 0 0.3em var(--neonFontPink),
            0 0 0.4em var(--neonLightPinkish), 0 0 0.8em var(--neonLightPinkish),
            0 0 1em var(--neonLightPinkish), 0 0 1.2em var(--neonLightPinkish),
            0 0 1.4em var(--neonLightPinkish);
    }
}

.left {
    text-shadow: -1px 1px 1px rgb(0, 0, 0), 1px 1px 1px rgba(255, 0, 0, 0.257),
        /* bottom-right shadow */ 1px -1px 1px rgba(255, 0, 0, 0.171); /* top-left highlight */

    display: inline-block;
    /* transform: rotate3d(-32, 21, 27, 28deg) skewX(33deg) rotate(18deg); */
    /* transform: matrix(0.9, 0.56, 0, 0.96, 1, -1); */
    transform: matrix3d(
            1,
            0.65,
            0,
            -0.001,
            0,
            1,
            1,
            0,
            1,
            1,
            0.2,
            0,
            0,
            1,
            0,
            1
        )
        rotate(-2deg);
    transform-origin: 100% 50%;
}

.right {
    text-shadow: 1px 1px 1px rgba(255, 0, 0, 0.2),
        /* bottom-right shadow */ 1px -1px 1px rgba(0, 0, 0, 1); /* top-left highlight */

    white-space: nowrap;
    display: inline-block;
    /* transform: rotate3d(-17, 10, 21, -40deg) skewX(-27deg); */
    /* transform: rotate3d(-22, 12, 21, -44deg) skewX(-28deg) rotate(-1deg); */
    /* transform: matrix(0.8, -0.5, -0.05, 1, 1, -1); */
    transform: matrix3d(
            1,
            -0.61,
            0,
            0.0005,
            0,
            1,
            0,
            0.0007,
            0,
            0,
            -1.5,
            0,
            0,
            0,
            1,
            1.06
        )
        skewX(359deg);
    transform-origin: 0 50%;
}

.welco {
    position: absolute;
    right: 50%;
    top: -2%;
}

.me-to {
    position: absolute;
    left: 50%;
    top: 0;
}

.open {
    position: absolute;
    right: 50%;
    bottom: 5%;
}

.psyche {
    position: absolute;
    left: 50%;
    bottom: 0;
}

.logo {
    width: 150px;
    height: 150px;
    background: url("../img/logo_simplified_countur.svg") no-repeat center
        center;
    background-size: contain;
    margin: 0 auto 20px auto;
}

footer {
    position: absolute;
    color: rgba(255, 255, 255, 0.8);
    bottom: 10px;
    text-wrap: pretty;
}
