@keyframes preset-fade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes preset-fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes preset-fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes preset-zoomIn {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1;
        transform: scale3d(.3, .3, .3)
    }

    0% {
        transform: scale3d(1)
    }
}

@keyframes preset-tossing {

    0%,
    to {
        transform: rotate(-5deg)
    }

    50% {
        transform: rotate(5deg)
    }
}

@keyframes preset-expandUp {
    0% {
        transform: translateY(100%) scale(.6) scaleY(.5)
    }

    60% {
        transform: translateY(-6%) scaleY(1.13)
    }

    75% {
        transform: translateY(4%)
    }

    to {
        transform: translateY(0) scale(1) scaleY(1)
    }
}

@keyframes preset-shakingX {

    0%,
    to {
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(-.5rem, 0, 0)
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(.5rem, 0, 0)
    }
}

@keyframes preset-shakingY {

    0%,
    to {
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(0, -.5rem, 0)
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(0, .5rem, 0)
    }
}

.home-intro {
    position: relative
}

@media (max-width:900px) {
    .home-intro {
        padding-top: var(--layout-size-xl-vertical)
    }

    .home-intro__layout {
        display: grid;
        grid-template-areas: "b" "a";
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        row-gap: var(--spacer-200)
    }
}

.home-intro__text {
    padding-bottom: var(--layout-size-l-vertical)
}

.home-intro__text>p {
    line-height: 1.3
}

@media (min-width:901px) {
    .home-intro__text .home-intro__player {
        display: none
    }
}

@media (max-width:1360px) {
    .home-intro__text {
        padding-bottom: var(--layout-size-m-vertical)
    }

    .home-intro__text>p {
        width: var(--column-inner-width)
    }
}

@media (max-width:900px) {
    .home-intro__text {
        grid-area: a;
        padding-bottom: var(--layout-size-l-vertical)
    }

    .home-intro__text br {
        display: none
    }
}

.home-intro__button {
    min-width: -moz-max-content;
    min-width: max-content;
    width: var(--column-inner-width)
}

@media (max-width:1900px) and (min-width:1361px) {
    .home-intro__button {
        width: calc((var(--column-inner-width) + var(--layout-size-s-horizontal))*2)
    }
}

.home-intro__media {
    align-content: end;
    display: grid
}

@media (max-width:900px) {
    .home-intro__media {
        z-index: 2
    }
}

.home-intro__media>div {
    aspect-ratio: 16/9;
    position: relative;
    z-index: -1
}

@media (min-width:901px) {
    .home-intro__media>div {
        bottom: 0;
        position: absolute;
        right: 0;
        width: 50%
    }
}

.home-intro__media>div:after {
    background-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, .9));
    bottom: -2px;
    content: "";
    height: 6rem;
    left: 0;
    position: absolute;
    right: 0;
    width: 100%
}

.home-intro__subline {
    position: relative;
    z-index: 2
}

@media (max-width:900px) {
    .home-intro__subline {
        display: none
    }
}

.home-intro__subline-versions {
    width: var(--column-inner-width)
}

@media (min-width:901px) {
    .home-intro__subline-versions {
        min-width: -moz-max-content;
        min-width: max-content
    }
}

.home-intro__player {
    --ping-size: .6rem
}

.home-intro__player>div {
    background-color: #4fe03e;
    border: 1px solid #65f154;
    border-radius: 100%;
    height: var(--ping-size);
    margin-right: .3rem;
    position: relative;
    width: var(--ping-size)
}

.home-intro__player>div:before {
    animation: online-expand 4s linear infinite;
    animation-delay: -2s
}

.home-intro__player>div:after,
.home-intro__player>div:before {
    border-radius: 100%;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.home-intro__player>div:after {
    animation: online-expand 4s linear infinite
}

@keyframes online-expand {
    0% {
        background-color: #4fe03e80;
        transform: scale(.8)
    }

    to {
        background-color: #4fe03e00;
        transform: scale(6)
    }
}

@media (max-width:1360px) {
    .home-intro__player {
        justify-content: end;
        width: var(--column-width)
    }
}

@media (max-width:900px) {
    .home-intro__player {
        justify-content: start;
        width: auto
    }
}

@media (min-width:1361px) {
    .world-hosting {
        justify-content: center
    }
}

@media (min-width:901px) {
    .world-hosting__text {
        width: calc(var(--column-width)*2)
    }
}

.world-hosting__media {
    position: relative;
    z-index: 5
}

.world-hosting__media video-frame {
    margin-top: -4rem;
    transform: translateY(4rem)
}

@media (max-width:1360px) {
    .world-hosting__media video-frame {
        margin-top: unset;
        transform: translateY(0)
    }

    .world-hosting__media {
        margin-bottom: unset;
        padding-bottom: var(--layout-size-m-vertical);
        padding-left: var(--layout-size-s-horizontal);
        padding-right: var(--layout-size-s-horizontal)
    }
}

.world-hosting__modloaders {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    left: calc(100% - var(--layout-size-xl-horizontal));
    margin: unset;
    margin-top: 4rem;
    padding-left: 1.7rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: -moz-max-content;
    width: max-content
}

.world-hosting__modloaders figcaption {
    position: relative
}

.world-hosting__modloaders figcaption svg {
    position: absolute;
    right: calc(100% + .5rem);
    top: .4rem;
    width: 1.2rem;
    fill: currentColor
}

@media (max-width:1360px) {
    .world-hosting__modloaders {
        display: none
    }
}

.world-hosting__mods>figure {
    display: flex;
    height: 3rem;
    position: relative;
    transition: transform .2s ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.world-hosting__mods>figure picture {
    background-color: rgba(var(--color-grey), 1);
    height: 3rem;
    width: 3rem
}

.world-hosting__mods>figure figcaption {
    align-items: center;
    background-color: rgba(var(--color-grey), 1);
    display: flex;
    height: 100%;
    left: 3rem;
    margin: 0;
    max-width: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 0;
    transition: max-width .2s ease-in-out
}

.world-hosting__mods>figure p {
    margin-left: .7rem;
    margin-right: .7rem;
    transform: translateY(1px)
}

.world-hosting__mods>figure:hover figcaption {
    max-width: 7rem
}

@media (max-width:1360px) {
    .wardrobe {
        padding-top: var(--layout-size-l-vertical)
    }
}

@media (min-width:1361px) {
    .wardrobe__text {
        grid-template-columns: auto max-content
    }
}

.wardrobe__slider {
    position: relative;
    z-index: 8
}

.wardrobe__slider-item {
    width: 100%
}

.wardrobe__slider-item picture {
    height: 25rem;
    margin-bottom: 3rem;
    max-height: unset;
    position: relative;
    z-index: 2
}

@media (max-width:900px) {
    .wardrobe__slider-item picture {
        height: 18rem
    }
}

.wardrobe-image {
    height: 100%;
    position: relative;
    width: 100%
}

.wardrobe-image figcaption {
    align-items: center;
    display: flex;
    gap: var(--spacer-25);
    margin: 0;
    padding-bottom: 1rem;
    padding-top: 1rem;
    position: absolute
}

.wardrobe-image figcaption svg {
    width: 1.2rem;
    fill: currentColor
}

.wardrobe-image--duo {
    margin: 1rem 0
}

.wardrobe-image--duo figcaption {
    left: 91%;
    top: 13%
}

.wardrobe-image--sitting {
    margin: 1rem .5rem 1rem 0
}

.wardrobe-image--sitting picture {
    padding-top: 2rem
}

.wardrobe-image--community {
    margin: 1rem
}

.wardrobe-image--community figcaption {
    bottom: 15%;
    left: 31%
}

.wardrobe-image--anime-dance {
    margin: 1rem
}

.wardrobe-image--anime-dance .wardrobe-image__first {
    right: 81%;
    top: 5%
}

.wardrobe-image--anime-dance .wardrobe-image__last {
    bottom: 30%;
    left: 78%
}

.wardrobe-image--cape {
    margin: 1rem 0
}

.wardrobe-image--cape picture {
    padding-bottom: 1rem;
    padding-top: 1rem
}

.wardrobe-image--cape figcaption {
    left: 80%;
    top: 30%
}

@media (min-width:1361px) {
    .social-menu {
        justify-content: center
    }
}

@media (max-width:1360px) {
    .social-menu__text h2 {
        max-width: 30rem
    }
}

@media (min-width:901px) {
    .social-menu__text {
        width: calc(var(--column-width)*2)
    }
}

.social-menu__grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 100%;
    width: 100%
}

@media (max-width:1360px) {
    .social-menu__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto auto
    }
}

.social-menu__container {
    background: linear-gradient(180deg, #814ed41f 0, rgba(var(--color-dark), 0)), rgba(var(--color-dark), 1);
    height: 12rem;
    max-width: var(--column-inner-width);
    padding: 1.5rem;
    width: 100%
}

@media (max-width:900px) {
    .social-menu__container {
        height: 10rem;
        padding: 1rem
    }
}

.social-menu__container picture {
    margin: 0 auto;
    max-width: 15rem
}

@media (min-width:1361px) {
    .quality-life__text {
        grid-template-columns: calc(var(--column-width)*2) max-content
    }
}

@media (max-width:1360px) {
    .quality-life__text {
        gap: var(--spacer-50)
    }

    .quality-life__text h2 {
        max-width: 50rem
    }
}

.quality-life__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 100%
}

@media (max-width:900px) {
    .quality-life__grid {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto
    }
}

@media (min-width:1361px) {
    .testimonials {
        justify-content: center
    }
}

@media (max-width:1360px) {
    .testimonials__text h2 {
        max-width: 30rem
    }
}

@media (min-width:901px) {
    .testimonials__text {
        width: calc(var(--column-width)*2)
    }
}

.testimonials__slider {
    display: grid;
    grid-template-areas: "overlay";
    grid-template-columns: 1fr;
    justify-items: center;
    overflow: hidden;
    position: relative;
    z-index: 8
}

.testimonials__slider:hover .testimonials__controls svg {
    opacity: 1
}

.testimonials__slider:after,
.testimonials__slider:before {
    bottom: 0;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 25%;
    z-index: 3
}

@media (max-width:1360px) {

    .testimonials__slider:after,
    .testimonials__slider:before {
        width: 15%
    }
}

@media (max-width:1200px) {

    .testimonials__slider:after,
    .testimonials__slider:before {
        display: none
    }
}

.testimonials__slider:after {
    background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .64));
    right: 0
}

.testimonials__slider:before {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .64), transparent);
    left: 0
}

@media (min-width:1361px) {
    .testimonials__slider {
        justify-content: center;
        justify-items: center
    }
}

@media (max-width:1360px) {
    .testimonials__slider {
        padding-left: var(--layout-size-container-horizontal);
        padding-right: var(--layout-size-container-horizontal)
    }
}

.testimonials__item {
    align-self: center;
    grid-area: overlay;
    height: 100%;
    opacity: 0;
    padding: var(--layout-size-s-vertical) var(--layout-size-s-horizontal);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: calc(var(--column-width)*2)
}

@media (max-width:1700px) {
    .testimonials__item {
        width: 60%
    }
}

@media (max-width:1360px) {
    .testimonials__item {
        width: calc(var(--column-width)*1.5)
    }
}

@media (max-width:900px) {
    .testimonials__item {
        width: calc(var(--column-width))
    }
}

.testimonials__item a {
    transition: color .2s ease-in-out
}

.testimonials__item a:hover {
    color: rgba(var(--color-white), 1)
}

.testimonials__item:not([active]) {
    animation: unset;
    animation-fill-mode: none;
    opacity: 0 !important;
    pointer-events: none;
    transform: unset !important;
    z-index: -1
}

.testimonials__item[active] {
    opacity: 1
}

.testimonials__item card-frame {
    height: 100%;
    max-height: unset;
    position: relative;
    z-index: 2
}

.testimonials__controls {
    align-items: center;
    display: grid;
    height: 100%;
    padding: 0 6rem;
    pointer-events: auto;
    width: calc(var(--column-width) + var(--layout-size-container-horizontal))
}

@media (max-width:1700px) {
    .testimonials__controls {
        padding: 0 8rem;
        width: var(--column-width)
    }
}

@media (max-width:1360px) {
    .testimonials__controls {
        padding: 0 1rem;
        width: calc(var(--column-width)*.25)
    }
}

@media (max-width:900px) {
    .testimonials__controls {
        background: rgba(var(--color-dark), 1);
        padding: var(--spacer-50);
        width: unset
    }
}

.testimonials__controls-wrapper {
    bottom: 0;
    display: flex;
    justify-content: space-between;
    left: 50%;
    max-width: var(--screen-width-limit);
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(-50%);
    width: 100%;
    z-index: 4
}

@media (max-width:900px) {
    .testimonials__controls-wrapper {
        padding-left: var(--layout-size-s-horizontal);
        padding-right: var(--layout-size-s-horizontal);
        position: relative;
        width: 100%
    }
}

.testimonials__controls svg {
    height: 2rem;
    width: 2rem;
    stroke: rgba(var(--color-white), 1);
    stroke-width: .1rem;
    opacity: 0;
    transition: opacity .2s ease-in-out
}

@media (max-width:900px) {
    .testimonials__controls svg {
        opacity: 1
    }
}

.testimonials__controls:hover svg {
    opacity: 1
}

.testimonials__controls--left {
    justify-items: right;
    left: 0
}

.testimonials__controls--left svg {
    transform: rotate(180deg)
}

.testimonials__controls--right {
    right: 0
}

.faq__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 100%
}

@media (max-width:900px) {
    .faq__grid {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto
    }

    .faq__grid accordion-group>:first-child {
        border-top: solid var(--border-width) var(--border-color)
    }

    .faq__grid accordion-group>* {
        border-left: unset;
        border-right: unset
    }
}

.faq__media {
    align-items: start;
    display: grid;
    justify-items: center
}

@media (min-width:1201px) {
    .faq__media {
        transform: translateY(-4rem)
    }
}

@media (max-width:900px) {
    .faq__media {
        padding-bottom: var(--spacer-200);
        padding-top: var(--spacer-200)
    }
}

.faq__media picture {
    height: auto;
    width: 55%
}

@media (max-width:1360px) {
    .faq__media picture {
        height: auto;
        padding-left: var(--layout-size-s-horizontal);
        padding-right: var(--layout-size-s-horizontal);
        width: 70%
    }
}

@media (max-width:900px) {
    .faq__media picture {
        height: 18rem
    }
}

.faq__markdown a {
    color: rgba(var(--color-blue), 1);
    text-decoration: underline;
    transition: filter .2s ease-in-out
}

.faq__markdown a:hover {
    filter: brightness(1.1)
}

.faq__markdown a:not(.no-arrow):after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0ncmdiKDI5LDEwNiwyNTUpJyBzdHJva2Utd2lkdGg9JzEuOCcKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXR5cGU9J3N0cm9rZScgZD0iTTQgMTJMMTEgNSIgLz4KICAgIDxwYXRoIGRhdGEtdHlwZT0nc3Ryb2tlJyBkPSJNMTEgMTJMMTEgNUg0IiAvPgo8L3N2Zz4K);
    background-size: contain;
    content: "";
    display: inline-block;
    height: 1em;
    margin-bottom: -.2em;
    margin-left: .1em;
    width: 1em
}

.faq__markdown a:not(.no-arrow):hover:after {
    animation: diagonal-arrow .3s ease-in-out forwards
}