.wheel-wrapper {
    position: relative;
    transform-origin: center center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.wheel-wrapper:before {
    content: '';
    position: absolute;
    width: 180%;
    height: 180%;
    background: url('../img/wheel/wheel_bg.webp') no-repeat center center;
    background-size: contain;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wheel-container {
    position: relative;
    aspect-ratio: 600 / 673;
    width: 600px;
    transition: opacity 0.3s ease;
    z-index: 1;
    color: #281A03;
}

.wheel__frame {
    position: absolute;
    width: 100%;
    top: 0;
    aspect-ratio: 600 / 673;
    z-index: 3;
}

.wheel {
    position: absolute;
    bottom: 0;
    aspect-ratio: 600 / 600;
    width: 600px;
    z-index: 2;
}

.wheel__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.wheel__text-wrapper {
    position: absolute;
    aspect-ratio: 530 / 530;
    width: 530px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
}

.wheel__text-container {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
}

.wheel__text-container > .wheel__text-block:nth-child(1) {
    padding-left: 15%;
}

.wheel__text-container > .wheel__text-block:nth-child(2) {
    padding-right: 15%;
}

.wheel__text-container:nth-child(1) {
    transform: translateX(-50%) translateY(-50%) rotate(-90deg);
    color: #041470;
}

.wheel__text-container:nth-child(1) > .wheel__text-block:nth-child(2) {
    transform: rotate(180deg);
    padding-left: 15% !important;
    padding-right: 0 !important;
}

.wheel__text-container:nth-child(2) > .wheel__text-block:nth-child(2) {
    transform: rotate(180deg);
    padding-left: 15% !important;
    padding-right: 0 !important;
}

.wheel__text-container:nth-child(3) > .wheel__text-block:nth-child(2) {
    transform: rotate(180deg);
    padding-left: 15% !important;
    padding-right: 0 !important;
}

.wheel__text-container:nth-child(4) > .wheel__text-block:nth-child(2) {
    transform: rotate(180deg);
    padding-left: 15% !important;
    padding-right: 0 !important;
}

.wheel__text-container:nth-child(2) {
    transform: translateX(-50%) translateY(-50%) rotate(-135deg);
    color: #14A0FF;
}

.wheel__text-container:nth-child(3) {
    transform: translateX(-50%) translateY(-50%) rotate(-180deg);
    color: #041470;
}

.wheel__text-container:nth-child(4) {
    transform: translateX(-50%) translateY(-50%) rotate(-225deg);
    color: #14A0FF;
}

.wheel__text-block {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wheel__btn {
    position: absolute;
    width: 79px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 256px;
    z-index: 4;
}

.wheel__sway {
    -webkit-animation: 2s sway ease-in-out infinite;
    animation: 2s sway ease-in-out infinite;
}

.wheel__btn {
    cursor: pointer;
}

.wheel__btn-pulse {
    -webkit-animation: 1.5s pulse-centered ease-in-out infinite;
    animation: 1.5s pulse-centered ease-in-out infinite;
    transform-origin: center center;
}

.wheel__btn-rotate {
    -webkit-animation: spin 5s linear infinite;
    animation: spin 5s linear infinite;
    transform-origin: center center;
}

.wheel__spin-first {
    -webkit-animation: 3s spin-first ease-in-out forwards;
    animation: 3s spin-first ease-in-out forwards
}

.wheel__spin-second {
    -webkit-animation: 3s spin-second ease-in-out forwards;
    animation: 3s spin-second ease-in-out forwards
}

@media (orientation: portrait) and (min-width: 0px) {
    .wheel-wrapper:before {
        content: '';
        position: absolute;
        width: 200%;
        height: 180%;
        background: url('../img/wheel/wheel_bg.webp') no-repeat center center;
        background-size: cover;
        z-index: -1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

@media (orientation: portrait) and (min-width: 768px) {
    .wheel-wrapper:before {
        content: '';
        position: absolute;
        width: 170%;
        height: 170%;
        background: url('../img/wheel/wheel_bg.webp') no-repeat center center;
        background-size: contain;
        z-index: -1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

@-webkit-keyframes pulse-centered {
    0% {
        -webkit-transform: translateX(-50%) scale(1);
        transform: translateX(-50%) scale(1);
    }
    50% {
        -webkit-transform: translateX(-50%) scale(1.05);
        transform: translateX(-50%) scale(1.05);
    }
    100% {
        -webkit-transform: translateX(-50%) scale(1);
        transform: translateX(-50%) scale(1);
    }
}

@keyframes pulse-centered {
    0% {
        -webkit-transform: translateX(-50%) scale(1);
        transform: translateX(-50%) scale(1);
    }
    50% {
        -webkit-transform: translateX(-50%) scale(1.05);
        transform: translateX(-50%) scale(1.05);
    }
    100% {
        -webkit-transform: translateX(-50%) scale(1);
        transform: translateX(-50%) scale(1);
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: translateX(-50%) rotate(0deg);
        transform: translateX(-50%) rotate(0deg);
    }
    100% {
        -webkit-transform: translateX(-50%) rotate(360deg);
        transform: translateX(-50%) rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: translateX(-50%) rotate(0deg);
        transform: translateX(-50%) rotate(0deg);
    }
    100% {
        -webkit-transform: translateX(-50%) rotate(360deg);
        transform: translateX(-50%) rotate(360deg);
    }
}

@-webkit-keyframes spin-first {
    0% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
    70% {
        -webkit-transform: rotate(1265deg);
        transform: rotate(1265deg)
    }
    80% {
        -webkit-transform: rotate(1256deg);
        transform: rotate(1256deg)
    }
    100% {
        -webkit-transform: rotate(1260deg);
        transform: rotate(1260deg)
    }
}

@keyframes spin-first {
    0% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
    70% {
        -webkit-transform: rotate(1265deg);
        transform: rotate(1265deg)
    }
    80% {
        -webkit-transform: rotate(1256deg);
        transform: rotate(1256deg)
    }
    100% {
        -webkit-transform: rotate(1260deg);
        transform: rotate(1260deg)
    }
}

@-webkit-keyframes spin-second {
    0% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
    70% {
        -webkit-transform: rotate(1445deg);
        transform: rotate(1445deg)
    }
    80% {
        -webkit-transform: rotate(1436deg);
        transform: rotate(1436deg)
    }
    100% {
        -webkit-transform: rotate(1440deg);
        transform: rotate(1440deg)
    }
}

@keyframes spin-second {
    0% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
    70% {
        -webkit-transform: rotate(1445deg);
        transform: rotate(1445deg)
    }
    80% {
        -webkit-transform: rotate(1436deg);
        transform: rotate(1436deg)
    }
    100% {
        -webkit-transform: rotate(1440deg);
        transform: rotate(1440deg)
    }
}
