#event {
    background: #FFF7F7;
    overflow: hidden;
}

.event {
    padding: 224px 0;
    max-width: 1488px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
}

.event_head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 730px;
    width: 100%;
    position: relative;
    z-index: 2;
}

.event_title {
    color: #ED5256;
    font-family: 'Shadow';
    font-size: 64px;
    line-height: 100%;
    letter-spacing: -0.64px;
    will-change: transform, opacity;
    opacity: 0;
}

.event_text {
    color: #720913;
    font-size: 22px;
    line-height: 130%;
    will-change: transform, opacity;
    opacity: 0;
}

.event_date {
    display: flex;
    padding: 6px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    background: #FFEAEC;
    color: #720913;
    font-size: 22px;
    line-height: 130%;
    width: fit-content;
    will-change: transform, opacity;
    opacity: 0;
}

#event.show .event_date {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) forwards;
}

#event.show .event_title {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.3s forwards;
}

#event.show .event_text {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.4s forwards;
}

#event.show .event_step:nth-child(1) {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.5s forwards;
}

#event.show .event_step:nth-child(2) {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.6s forwards;
}

#event.show .event_step:nth-child(3) {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.7s forwards;
}

#event.show .event_step:nth-child(4) {
    animation: slideHit 0.9s cubic-bezier(.18, .89, .32, 1.28) 0.8s forwards;
}

#event.show .event_numbers_last {
    animation: bumpUp 0.9s cubic-bezier(.22, 1.4, .36, 1) 0.9s forwards
}

.event_up {
    display: flex;
    flex-direction: column;
    gap: 27px;
}

.event_numbers {
    display: flex;
    flex-direction: row;
    gap: 56px;
}

.event_numbers_last {
    border-radius: 32px;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='32' ry='32' stroke='%23FFE7E8' stroke-width='6' stroke-dasharray='20' stroke-dashoffset='0' stroke-linecap='butt'/%3e%3c/svg%3e");
    display: flex;
    height: 496px;
    padding: 48px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 487px;
    will-change: transform, opacity;
    opacity: 0;
}

.event_step {
    display: flex;
    padding: 32px;
    align-items: center;
    gap: 24px;
    border-radius: 18px;
    background: #FFE4E6;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='18' ry='18' stroke='%23F5C0C4' stroke-width='6' stroke-dasharray='15' stroke-dashoffset='0' stroke-linecap='butt'/%3e%3c/svg%3e");
    position: relative;
    will-change: transform, opacity;
    opacity: 0;
}

.event_step::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    aspect-ratio: 1/1;
    border-radius: 100%;
    background: #ED5256;
    top: 50%;
    z-index: 2;
    left: -70px;
    transform: translate(0, -50%);
    pointer-events: none;
}

.event_step img {
    width: 48px;
    height: 48px;
    aspect-ratio: 1/1;
    border-radius: 6px;
}

.event_step p {
    color: #121212;
    font-size: 16px;
    line-height: 130%;
}

.event_numbers_todo {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-left: 70px;
    position: relative;
}

.event_numbers_todo::before {
    content: '';
    z-index: 0;
    position: absolute;
    width: 1.5px;
    height: 605px;
    background: repeating-linear-gradient(0deg, #ECC8CB 0 13px, transparent 13px 32px);
    top: -55px;
    left: 7px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    pointer-events: none;
}

.event_img {
    width: 100%;
    min-height: 100%;
    position: relative;
}

.event_content {
    min-width: 966px;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.event_boy {
    position: absolute;
    max-width: 680px;
    bottom: -90px;
    right: -293px;
}

.event_heart1,
.event_heart2,
.event_heart3,
.event_heart4,
.event_heart5,
.event_heart6 {
    position: absolute;
    animation: float 4s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0) rotate(10deg);
    }

    50% {
        transform: translateY(-12px) rotate(-6deg);
    }

    100% {
        transform: translateY(0) rotate(10deg);
    }
}

.event_heart1 {
    top: -46px;
    left: 62px;
    width: 100px;
    animation-delay: 0s;
}

.event_heart2 {
    top: 220px;
    left: 60px;
    width: 60px;
    animation-delay: 1s;
}

.event_heart3 {
    top: 150px;
    left: 10px;
    width: 42px;
    animation-delay: 0.5s;
}

.event_heart4 {
    top: 35px;
    right: -230px;
    width: 85px;
    animation-delay: 0.5s;
}

.event_heart5 {
    top: -130px;
    right: -85px;
    width: 65px;
    animation-delay: 1s;
}

.event_heart6 {
    top: 235px;
    right: -275px;
    width: 45px;
    animation-delay: 0s;
}

.event_buy {
    padding: 24px;
    border-radius: 11px;
    background: #FFEAEC;
    color: #684749;
    font-size: 16px;
    line-height: 130%;
}

.event_last_name {
    color: #ED5256;
    font-family: 'HelveticaNeue-Bold';
    font-size: 24px;
    line-height: 100%;
    letter-spacing: -0.24px;
}

.event_last_items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.event_last {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.event_line {
    background: #FFDCDE;
    height: 1.5px;
    width: 100%;
}

.event_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.event_right {
    color: #ED5256;
    font-size: 32px;
    line-height: 100%;
}

.event_left {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.event_left img {
    width: 32px;
    height: 32px;
    aspect-ratio: 1/1;
    border-radius: 6px;
}

.event_left p {
    color: #121212;
    text-align: right;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: -0.16px;
}



@media (max-width: 1600px) {
    .event_boy {
        max-width: 540px;
        bottom: -47px;
        right: -160px;
    }

    .event_heart1 {
        top: 105px;
        left: -30px;
        width: 80px;
    }

    .event_heart2 {
        top: 315px;
        left: -30px;
        width: 45px;
    }

    .event_heart3 {
        top: 255px;
        left: -70px;
        width: 35px;
    }

    .event_heart4 {
        top: 35px;
        right: 10px;
        width: 55px;
    }

    .event_title {
        font-size: 48px;
        line-height: 100%;
        letter-spacing: -0.48px;
    }

    .event_content {
        min-width: 1030px;
        display: flex;
        flex-direction: column;
        gap: 80px;
        padding-left: 64px;
    }

    .event_head {
        max-width: 545px;
    }
}

@media (max-width: 1400px) {
    .event {
        padding: 110px 0;
    }

    .event_boy {
        max-width: 325px;
        bottom: 242px;
        right: -142px;
        transform: rotate(-30deg);
    }

    .event_date {
        font-size: 18px;
        line-height: 130%;
    }

    .event_head {
        max-width: 440px;
        gap: 12px;
    }

    .event_title {
        font-size: 38px;
        line-height: 100%;
        letter-spacing: -0.38px;
    }

    .event_text {
        font-size: 18px;
        line-height: 130%;
    }

    .event_up {
        gap: 20px;
    }

    .event_content {
        gap: 64px;
        min-width: 945px;
    }

    .event_numbers_todo {
        padding-left: 40px;
    }

    .event_step {
        padding: 24px;
    }

    .event_numbers_last {
        height: 432px;
        padding: 29px 30px;
        max-width: 455px;
    }

    .event_numbers {
        gap: 32px;
    }

    .event_step::after {
        left: -40px;
    }

    .event_step p {
        font-size: 14px;
        line-height: 130%;
    }

    .event_last_name {
        font-size: 20px;
        line-height: 100%;
        letter-spacing: -0.2px;
    }

    .event_left p {
        font-size: 14px;
        line-height: 130%;
        letter-spacing: -0.14px;
    }

    .event_right {
        font-size: 24px;
        line-height: 100%;
    }

    .event_buy {
        padding: 22px;
        font-size: 14px;
        line-height: 130%;
    }

    .event_last {
        gap: 29px;
    }

    .event_last_items {
        gap: 15px;
    }

    .event_heart1 {
        top: 87px;
        left: -224px;
        width: 55px;
    }

    .event_heart2 {
        top: 206px;
        left: -148px;
        width: 32px;
    }

    .event_heart3 {
        top: 181px;
        left: -197px;
        width: 20px;
    }

    .event_heart4 {
        top: -55px;
        right: 75px;
        width: 37px;
    }

    .event_heart5 {
        top: -18px;
        right: -23px;
        width: 45px;
    }
}

@media (max-width: 1000px) {
    .event_date {
        font-size: 14px;
        line-height: 130%;
        padding: 6px 16px;
    }

    .event_up {
        gap: 16px;
    }

    .event_title {
        font-size: 30px;
        line-height: 110%;
        letter-spacing: -0.3px;
    }

    .event_text {
        font-size: 16px;
        line-height: 130%;
    }

    .event_head {
        max-width: 340px;
        gap: 8px;
    }

    .event_step p {
        font-size: 16px;
        line-height: 130%;
    }

    .event_content {
        padding-left: 16px;
        gap: 64px;
        min-width: fit-content;
    }

    .event_numbers_todo {
        padding-left: 36px;
        gap: 25px;
    }

    .event_step::after {
        left: -36px;
        width: 12px;
        height: 12px;
    }

    .event_step {
        max-width: 308px;
        max-height: 96px;
    }

    .event_numbers_last {
        border-radius: 18px;
        background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='18' ry='18' stroke='%23FFE7E8' stroke-width='6' stroke-dasharray='20' stroke-dashoffset='0' stroke-linecap='butt'/%3e%3c/svg%3e");
        height: fit-content;
        padding: 32px;
        max-width: 343px;
        gap: 32px;
    }

    .event_last {
        gap: 34px;
    }

    .event_right {
        font-size: 32px;
        line-height: 100%;
    }

    .event_buy {
        padding: 12px 16px;
        font-size: 14px;
        line-height: 130%;
        max-height: 78px;
    }

    .event_last_items {
        gap: 16px;
    }

    .event_numbers_todo::before {
        height: 520px;
        top: -43px;
    }
}

@media (max-width: 800px) {
    .event_boy {
        max-width: 165px;
        bottom: auto;
        right: -90px;
        transform: rotate(-26deg);
        top: -120px;
    }

    .event_heart1 {
        top: -57px;
        left: -110px;
        width: 29px;
    }

    .event_heart2 {
        top: 15px;
        left: -87px;
        width: 18px;
    }

    .event_heart3 {
        top: -3px;
        left: -110px;
        width: 10px;
    }

    .event_heart4,
    .event_heart5,
    .event_heart6 {
        display: none;
    }

    .event_step {
        max-width: 100%;
        max-height: 96px;
    }

    .event_numbers {
        flex-direction: column;
    }

    .event_numbers_last {
        max-width: 100%;
    }

    .event_content {
        padding: 0 16px;
        gap: 64px;
        min-width: 100%;
    }

    .event_buy {
        width: 100%;
    }

    .event_numbers_todo {
        gap: 16px;
    }
}