@charset "UTF-8";
* {
    color: #000000;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-weight: 400;
}

/* common.css reset */
body {
    min-width: auto;
}

div,
p,
span {
    letter-spacing: -0.5px;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
}

img {
    border: 0;
    border-style: none;
}

button {
    border: 0;
    background: none;
    padding: 0;
    cursor: pointer;
}

button,
input,
select,
optgroup,
textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset {
    border: 0;
}

legend {
    color: #000000;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
    font-weight: normal;
}

ol,
ul {
    list-style: none;
}

caption,
th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
    line-height: 1;
}

caption,
hr,
legend {
    width: 0;
    height: 0;
    font-size: 1px;
    text-indent: -9999em;
    line-height: 0;
}

a {
    color: inherit;
    text-decoration: none;
    background-color: transparent;
}

a:visited span {
    border: inherit;
}

main {
    display: block;
}

abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
}

@supports (text-decoration-style: dotted) {
    abbr[title] {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted; /* 점선 밑줄을 지원하는 브라우저에서만 적용 */
    }
}
small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

button,
input {
    /* 1 */
    overflow: visible;
}

input[type=number] {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox의 스핀 버튼 제거 */
input[type=number] {
    -moz-appearance: textfield;
}

/* 포커스 상태 초기화 */
input[type=number]:focus {
    outline: none;
    box-shadow: none;
}

/*
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/*
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/*
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/*
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/*
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

/*
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
}

/*
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/*
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

@font-face {
    font-family: "YunChorokwoosanEoriniMinguk";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408@1.0/YoonChildfundkoreaMinGuk.woff2") format("woff2");
    font-weight: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Light.woff2) format("woff2"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Light.woff) format("woff"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Light.otf) format("opentype");
    font-weight: 300;
}
@font-face {
    font-family: "Pretendard";
    src: url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Regular.woff2) format("woff2"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Regular.woff) format("woff"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Regular.otf) format("opentype");
    font-weight: 400;
}
@font-face {
    font-family: "Pretendard";
    src: url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Medium.woff2) format("woff2"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Medium.woff) format("woff"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Medium.otf) format("opentype");
    font-weight: 500;
}
@font-face {
    font-family: "Pretendard";
    src: url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Bold.woff2) format("woff2"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Bold.woff) format("woff"), url(https://cdn.gni.kr/assets/font/Pretendard/Pretendard-Bold.otf) format("opentype");
    font-weight: 600;
}
@font-face {
    font-family: "116Subakhwa";
    src: url("https://gcore.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.0/116watermelon.woff") format("woff");
    font-weight: normal;
    font-display: swap;
}
@font-face {
    font-family: "Paperlogy";
    src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Paperlogy";
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.woff2") format("woff2");
}
@font-face {
    font-family: "Paperlogy";
    src: url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Paperlogy";
    src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "Paperlogy";
    src: url("https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --soo: "116Subakhwa" !important;
    --pap: "Paperlogy" !important;
    --pre: "Pretendard" !important;
    --yoon: "YunChorokwoosanEoriniMinguk" !important;
}
body div, p, span{
    font-family: var(--pap);
    line-height: 1.5;
}
.header-wrap {
    border-bottom: 1px solid #d0cdcb;
}
.header-wrap .inner {
    padding: 10px 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header-wrap .btn-guide {
    border: 1px solid #91a23a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    width: 210px;
    border-radius: 50px;
    transition: 0.3s ease;
}
.header-wrap .btn-guide:hover {
    background: #91a23a;
    border: 1px solid #fff;
}
.header-wrap .btn-guide:hover .guide-txt {
    color: #fff;
}
.header-wrap .btn-guide .guide-txt {
    color: #91a23a;
    font-weight: 600;
    font-size: 24px;
}

.kukka-wrap {
    width: 100%;
    min-width: 1400px;
    max-width: 1920px;
    margin: 0 auto;
}
.kukka-wrap img {
    display: block;
    width: 100%;
}
.kukka-wrap .quick-area {
    position: fixed;
    top: 100px;
    right: calc(50% - 600px - 355px);
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.kukka-wrap .quick-area .btn-quick {
    display: flex;
    /*width: 90%;*/
}
.kukka-wrap .quick-area.hide {
    visibility: hidden;
    opacity: 0;
}
.kukka-wrap .quick-area:hover::after {
    animation: arrowXBounce 0.7s ease-in-out infinite;
}
.kukka-wrap .quick-area::after {
    content: "";
    display: block;
    position: absolute;
    top: 81%;
    left: 35%;
    background: url(/assets/images/campaign/kukka_bloom/arrow_quick.png) no-repeat center;
    background-size: contain;
    width: 32px;
    height: 8px;
}

.kukka {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}
.kukka .inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.kukka .content-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.kukka .support-btn {
    background: #936ad6;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px 20px;
    position: relative;
}
.kukka .support-btn:hover::before {
    animation-name: hvr-ripple-out;
}
.kukka .support-btn:hover .ico-arrow-right {
    animation: arrowXBounce 0.7s ease-in-out infinite;
}
.kukka .support-btn::before {
    content: "";
    border: 6px solid #936ad6;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    animation-duration: 1s;
}
.kukka .support-btn .btn-txt {
    color: #fff;
    font-size: calc(28px + 28 * (100vw - 720px) / 720);
}
@media (min-width: 720px) {
    .kukka .support-btn .btn-txt {
        font-size: 28px;
        font-weight: 700;
    }
}
.kukka .support-btn .ico-arrow-right {
    position: absolute;
    top: 53%;
    right: 8%;
    display: block;
    background: url(/assets/images/campaign/kukka_bloom/top_arrow.png) no-repeat center;
    background-size: contain;
    width: 34px;
    height: 11px;
}
.kukka.kukka1 {
    overflow: hidden;
    background: url(/assets/images/campaign/kukka_bloom/ku_bg1_pat.png) center repeat;
    background-size: cover;
}
.kukka.kukka1 .content-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 720px;
    z-index: 5;
}
.kukka.kukka1 .content-area .tit-eng {
    margin: 0 auto;
    font-family: var(--pre);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    padding-top: 20px;
    padding-left: 70px;
    text-transform: uppercase;
    letter-spacing: normal;
    color: #221f20;
}
.kukka.kukka1 .content-area .tit-wrap {
    margin-left: 70px;
}
.kukka.kukka1 .content-area .tit-area {
    position: relative;
    background: url(/assets/images/campaign/kukka_bloom/tit_paper.png) no-repeat center;
    background-size: cover;
    width: 609px;
    height: 277px;
    margin-top: 80px;
}
.kukka.kukka1 .content-area .tit-area .inner-tit {
    position: absolute;
}
.kukka.kukka1 .content-area .tit-area .inner-tit .tit1 {
    font-weight: 700;
    font-size: 35px;
    text-align: right;
    transform: translate(-56px, 60px);
}
.kukka.kukka1 .content-area .tit-area .inner-tit .tit2 {
    line-height: normal;
    text-align: center;
    margin: 0 auto;
    width: 603px;
    padding-top: 20px;
    animation: aurora 1.2s ease-out forwards;
    opacity: 0;
}
.kukka.kukka1 .content-area .tit-area .inner-tit .tit2 .purple {
    display: inline-block;
    font-family: var(--soo) !important;
    line-height: normal;
    font-size: 165px;
    color: #936ad6;
}
.kukka.kukka1 .content-area .tit-area .inner-tit .tit2 .normal {
    font-size: 120px;
    font-family: var(--soo) !important;
    line-height: normal;
}
.kukka.kukka1 .content-area .txt-area {
    text-align: center;
    font-family: var(--pre) !important;
    font-size: 24px;
    margin: 20px 0 0 -37px;
}
.kukka.kukka1 .content-area .btn-area .btn-start1 {
    width: 420px;
    margin-left: 125px;
    margin-top: 30px;
    padding: 15px 30px 15px 0;
}
.kukka.kukka1 .content-area .logo-collabo {
    width: 30%;
    margin-left: 190px;
    margin-top: 40px;
}
.kukka.kukka1 .inner::after {
    content: "";
    display: block;
    padding-top: 75.2%;
}
.kukka.kukka1 .light-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.kukka.kukka1 .ob {
    position: absolute;
}
.kukka.kukka1 .ob.light1 {
    left: -470px;
    top: -40px;
    width: 590px;
    height: 623px;
    animation: twinkle 3s ease-in-out forwards infinite;
}
.kukka.kukka1 .ob.light2 {
    left: 150px;
    top: 524px;
    width: 767px;
    height: 548px;
    animation: twinkle 3.5s ease-in-out forwards infinite;
    animation-delay: 1s;
}
.kukka.kukka1 .ob.light3 {
    left: 440px;
    top: -166px;
    width: 100%;
    animation: twinkle 4s ease-in-out forwards infinite;
    animation-delay: 0.5s;
}
.kukka.kukka1 .ob.l-blur {
    bottom: -360px;
    left: -372px;
    width: 30%;
}
.kukka.kukka1 .ob.l-flo1 {
    width: 303px;
    height: 338px;
    left: -360px;
    bottom: -130px;
    z-index: 2;
}
.kukka.kukka1 .ob.l-flo2 {
    width: 442px;
    height: 885px;
    left: -460px;
    bottom: 0;
    transform-origin: center center;
    animation: sway 5s linear infinite;
}
.kukka.kukka1 .ob.l-flo3 {
    width: 315px;
    height: 520px;
    left: -300px;
    top: 590px;
}
.kukka.kukka1 .ob.l-flo4 {
    width: 248px;
    height: 760px;
    bottom: -401px;
    left: -50px;
    animation: sway 5s linear infinite 0.5s;
}
.kukka.kukka1 .ob.l-flo5 {
    width: 225px;
    height: 497px;
    bottom: -320px;
    left: 120px;
}
.kukka.kukka1 .ob.r-blur {
    top: -70px;
    left: 1040px;
    width: 25%;
}
.kukka.kukka1 .ob.r-flo1 {
    width: 25%;
    bottom: -88px;
    left: 839px;
    z-index: 2;
    transform-origin: bottom center;
}
.kukka.kukka1 .ob.r-flo1-1 {
    width: 23%;
    bottom: -80px;
    left: 1070px;
    z-index: 1;
}
.kukka.kukka1 .ob.r-flo2 {
    top: 520px;
    left: 1150px;
    width: 25%;
    transform-origin: bottom center;
    animation: sway 5s linear infinite;
    animation-delay: 0.5s;
}
.kukka.kukka1 .ob.r-flo3 {
    width: 14%;
    bottom: -42px;
    left: 1320px;
}
.kukka.kukka1 .ob.r-flo4 {
    top: 30px;
    left: 1220px;
    width: 40%;
}
.kukka.kukka1 .ob.center {
    width: 47%;
    top: 91px;
    left: 570px;
}
.kukka.kukka1 .ob.r-txt {
    background: url(/assets/images/campaign/kukka_bloom/txt_bloom.png) no-repeat left center/contain;
    top: 290px;
    left: 1060px;
    width: 216px;
    height: 131px;
    animation: revealClip 1.2s ease-in-out both;
    will-change: clip-path;
    filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.15));
}
.kukka.kukka2 {
    position: relative;
    overflow: hidden;
    background: url(/assets/images/campaign/kukka_bloom/ku_bg2_pat.png) center repeat;
    background-size: cover;
}
.kukka.kukka2 .inner {
    padding: 80px 0;
}
.kukka.kukka2 .inner .bubble-area {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.kukka.kukka2 .inner .bubble {
    opacity: 0;
    background: #fff;
    border-radius: 20px;
    padding: 10px 20px;
    width: fit-content;
}
.kukka.kukka2 .inner .bubble .pink {
    color: #f86e9a;
    font-weight: 600;
}
.kukka.kukka2 .inner .bubble.bubble1 {
    margin-right: 160px;
}
.kukka.kukka2 .inner .bubble.bubble1.active {
    animation: aurora 1s ease-out forwards;
}
.kukka.kukka2 .inner .bubble.bubble2.active {
    animation: aurora 1s ease-out forwards 0.5s;
}
.kukka.kukka2 .inner .main-tit {
    text-align: center;
}
.kukka.kukka2 .inner .main-tit .normal {
    font-size: 45px;
    font-weight: 700;
}
.kukka.kukka2 .inner .main-tit .purple {
    font-family: var(--soo) !important;
    font-size: 65px;
    color: #936ad6;
}
.kukka.kukka2 .inner .transfer-area {
    position: relative;
    cursor: none;
}
.kukka.kukka2 .inner .transfer-area::after {
    content: "";
    display: block;
    padding-top: 52%;
}
.kukka.kukka2 .inner .transfer-area .transfer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.kukka.kukka2 .inner .transfer-area .transfer.before {
    opacity: 1;
    z-index: 1;
    cursor: none;
}
.kukka.kukka2 .inner .transfer-area .transfer.after {
    opacity: 1;
    z-index: 2;
    pointer-events: none;
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
}
.kukka.kukka2 .inner .transfer-area .transfer [class^=item-txt] {
    opacity: 0;
    text-align: center;
    position: absolute;
    font-size: 18px;
    font-family: var(--pre) !important;
    transition: opacity 0.5s ease-in-out;
}
.kukka.kukka2 .inner .transfer-area .transfer .item-txt1 {
    left: 150px;
    bottom: 18px;
}
.kukka.kukka2 .inner .transfer-area .transfer .item-txt2 {
    left: 510px;
    bottom: 18px;
}
.kukka.kukka2 .inner .transfer-area .transfer .item-txt3 {
    left: 880px;
    bottom: 18px;
}
.kukka.kukka2 .inner .transfer-area .cursor-circle {
    position: absolute;
    width: 100px;
    height: 100px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    pointer-events: none;
    z-index: 10;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.kukka.kukka2 .inner .transfer-area:hover .cursor-circle {
    opacity: 1;
}
.kukka.kukka2 .inner .transfer-area.active {
    cursor: default;
}
.kukka.kukka2 .inner .transfer-area.active .transfer.after {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 0.5s cubic-bezier(0.36, 0.13, 1, 1);
    transition: clip-path 0.5s cubic-bezier(0.36, 0.13, 1, 1);
    transition: clip-path 0.5s cubic-bezier(0.36, 0.13, 1, 1), -webkit-clip-path 0.5s cubic-bezier(0.36, 0.13, 1, 1);
}
.kukka.kukka2 .inner .transfer-area.active [class^=item-txt] {
    opacity: 1;
}
.kukka.kukka2 .inner .ico-click-area {
    position: absolute;
    display: flex;
    align-items: center;
    z-index: 3;
    top: 770px;
    left: 510px;
}
.kukka.kukka2 .inner .ico-click-area .ico-click {
    display: inline-block;
    background: url(/assets/images/campaign/kukka_bloom/click_up.png) no-repeat center;
    background-size: 42px 47px;
    background-position: 0 -2px;
    width: 68px;
    height: 73px;
    transform: translateY(-5px);
    margin-bottom: 0px;
    animation: bounceUp 0.7s linear infinite;
}
.kukka.kukka2 .inner .ico-click-area .click-img {
    width: 22%;
    margin-left: -13px;
}
.kukka.kukka2 .inner .ico-click-area .txt {
    font-size: 20px;
    font-weight: 700;
    margin-left: 13px;
    margin-top: 16px;
}
.kukka.kukka3 {
    position: relative;
    overflow: hidden;
}
.kukka.kukka3 .inner {
    padding: 100px 0;
}
.kukka.kukka3 .top-tit {
    text-align: center;
}
.kukka.kukka3 .top-tit .sub-txt1 {
    font-size: 25px;
}
.kukka.kukka3 .top-tit .sub-txt2 {
    font-size: 35px;
    font-weight: 700;
}
.kukka.kukka3 .top-tit .sub-txt2 .purple {
    font-weight: 400;
    color: #936ad6;
    font-size: 65px;
    font-family: var(--soo) !important;
}
.kukka.kukka3 .slide-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.kukka.kukka3 .child-area {
    margin-top: 40px;
}
.kukka.kukka3 .child-area .info {
    text-align: center;
    background: url(/assets/images/campaign/kukka_bloom/yellow_pat.png) repeat center;
    border-radius: 50px 50px 50px 0;
    border: 1px solid #f3e4a5;
    width: 600px;
    height: 290px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.kukka.kukka3 .child-area .info .name {
    font-size: 24px;
    font-weight: 500;
}
.kukka.kukka3 .child-area .info .name .name-el {
    font-weight: 700;
    display: inline-flex;
    max-width: 380px;
    align-items: center;
}
.kukka.kukka3 .child-area .info .name .name-el span {
    color: #f86e9a;
}
.kukka.kukka3 .child-area .info .name .name-el span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.kukka.kukka3 .child-area .info .country {
    font-family: var(--pre) !important;
    font-size: 20px;
}
.kukka.kukka3 .child-area .info .txt {
    line-height: 1.3;
    font-family: var(--pre) !important;
    font-size: 24px;
    font-weight: 700;
    color: #936ad6;
}
.kukka.kukka3 .mask {
    position: relative;
}
.kukka.kukka3 .frame-mask {
    width: 290px;
    height: 290px;
    overflow: hidden;
    padding: 16px;
}
.kukka.kukka3 .frame-origin {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 290px;
    height: 290px;
    z-index: 1;
}
.kukka.kukka3 .swiper {
    position: relative;
    width: 100%;
    height: auto;
}
.kukka.kukka3 .swiper .swiper-controls {
    display: flex;
    width: 890px;
    margin: 20px auto 0;
}
.kukka.kukka3 .swiper [class^=swiper-button] {
    position: initial;
    margin-top: 0;
    transition: background 0.2s ease;
}
.kukka.kukka3 .swiper [class^=swiper-button] + [class^=swiper-button] {
    margin-left: 5px;
}
.kukka.kukka3 .swiper [class^=swiper-button]::after {
    display: none;
}
.kukka.kukka3 .swiper [class^=swiper-button].swiper-button-prev {
    background: url(/assets/images/campaign/kukka_bloom/slide_left.png) no-repeat center;
    background-size: contain;
    width: 50px;
    height: 50px;
}
.kukka.kukka3 .swiper [class^=swiper-button].swiper-button-prev:hover {
    background: url(/assets/images/campaign/kukka_bloom/slide_left_on.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka3 .swiper [class^=swiper-button].swiper-button-next {
    background: url(/assets/images/campaign/kukka_bloom/slide_right.png) no-repeat center;
    background-size: contain;
    width: 50px;
    height: 50px;
}
.kukka.kukka3 .swiper [class^=swiper-button].swiper-button-next:hover {
    background: url(/assets/images/campaign/kukka_bloom/slide_right_on.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka3 .swiper .swiper-pagination-progressbar {
    position: initial;
    background: #ececec;
    height: 3px;
    margin-top: 28px;
    margin-right: 23px;
}
.kukka.kukka3 .swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #3e3e3e;
}
.kukka.kukka3 .btn-area {
    display: flex;
    justify-content: center;
    margin: 30px auto 0;
    position: relative;
}
.kukka.kukka3 .btn-area .btn-start2 {
    width: 640px;
    padding: 20px 0 20px 70px;
}
.kukka.kukka3 .btn-area .btn-start2::after {
    content: "";
    position: absolute;
    top: -12px;
    left: 48px;
    background: url(/assets/images/campaign/kukka_bloom/btn_flower.png) no-repeat center;
    background-size: contain;
    width: 112px;
    height: 100px;
    animation: flowerSway 1.5s linear infinite;
}
.kukka.kukka3 .guide-txt {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    position: relative;
}
.kukka.kukka3 .guide-txt .purple {
    color: #936ad6;
    padding-left: 5px;
}
.kukka.kukka3 .guide-txt::after {
    content: "";
    position: absolute;
    top: 52px;
    left: 50%;
    transform: translateX(-50%);
    width: 33px;
    height: 17px;
    background: url(/assets/images/campaign/kukka_bloom/arrow_bottom.png) no-repeat center;
    background-size: contain;
    animation: arrowSlideDown 2s linear infinite;
}
.kukka.kukka4 {
    position: relative;
    overflow: hidden;
    background: url(/assets/images/campaign/kukka_bloom/ku_bg4.png) center repeat;
    background-size: cover;
}
.kukka.kukka4 .inner {
    display: block;
    padding-top: 56%;
}
.kukka.kukka4 .typing-txt {
    padding-top: 100px;
    max-width: 690px;
    margin: 0 auto;
}
.kukka.kukka4 .typing-txt p {
    color: transparent;
    position: relative;
    font-family: var(--yoon) !important;
    font-size: 32px;
}
.kukka.kukka4 .typing-txt p::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d9d2af;
}
.kukka.kukka4 .center-img {
    width: 90%;
    margin: -14px auto 0 65px;
    position: relative;
}
.kukka.kukka4 .center-img .sub-txt {
    font-size: 18px;
    color: #303030;
    position: absolute;
    bottom: 25px;
    right: 55px;
}
.kukka.kukka4 .btn-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 940px;
    margin: 0 auto;
}
.kukka.kukka4 .btn-area .txt {
    font-size: 29px;
    font-weight: 600;
}
.kukka.kukka4 .btn-area .txt .purple {
    font-size: 31px;
    color: #936ad6;
    font-weight: 600;
}
.kukka.kukka4 .btn-area .btn-start3 {
    width: 380px;
    padding: 20px 0;
}
.kukka.kukka4 .btn-area .btn-start3 .btn-txt {
    padding-right: 30px;
}
.kukka.kukka4 .btn-area .btn-start3 .ico-arrow-right {
    top: 52%;
    right: 15%;
}
.kukka.kukka4 .ob {
    position: absolute;
}
.kukka.kukka4 .ob.ob1 {
    width: 71px;
    height: 77px;
    left: -250px;
    top: -70px;
    animation: petalFall1 20s linear both infinite;
    opacity: 0;
    animation-delay: 0.5s;
}
.kukka.kukka4 .ob.ob2 {
    width: 218px;
    height: 152px;
    left: -40px;
    top: 620px;
}
.kukka.kukka4 .ob.ob3 {
    width: 80px;
    height: 79px;
    left: 1010px;
    top: 70px;
    animation: petalFall2 13s linear both infinite;
    opacity: 0;
}
.kukka.kukka4 .ob.ob4 {
    width: 166px;
    height: 122px;
    left: 1040px;
    top: 270px;
}
.kukka.kukka4 .ob.ob5 {
    width: 95px;
    height: 92px;
    left: 1310px;
    top: 360px;
    animation: sway2 3s linear infinite;
}
.kukka.kukka5 {
    position: relative;
    overflow: hidden;
    background: url(/assets/images/campaign/kukka_bloom/ku_bg5_pat.png) center repeat;
    background-size: cover;
}
.kukka.kukka5 .inner {
    display: block;
    padding-top: 44%;
}
.kukka.kukka5 .inner .top-tit {
    font-size: 32px;
    font-weight: 500;
    text-align: center;
    margin-top: 52px;
}
.kukka.kukka5 .inner .bottom-tit {
    font-family: var(--soo) !important;
    font-size: 60px;
    text-align: center;
}
.kukka.kukka5 .inner .bottom-tit .purple {
    font-family: var(--soo) !important;
    color: #936ad6;
}
.kukka.kukka5 .inner .flo-wrap {
    max-width: 840px;
    margin: 40px 0 0 365px;
    position: relative;
    z-index: 2;
}
.kukka.kukka5 .inner .flo-wrap .flo-list {
    display: flex;
    gap: 20px;
}
.kukka.kukka5 .inner .flo-wrap .flo-list .flo1 {
    width: 44%;
}
.kukka.kukka5 .inner .flo-wrap .flo-list .flo2 {
    width: 36.4%;
}
.kukka.kukka5 .inner .flo-wrap .flo-txt {
    font-size: 15px;
    font-family: var(--pre) !important;
    text-align: right;
    margin-right: 133px;
    margin-top: 10px;
}
.kukka.kukka5 .inner .sub-txt {
    font-weight: 400;
    font-family: var(--pre) !important;
    text-align: center;
    margin-top: 50px;
}
.kukka.kukka5 .inner .ob.ob1 {
    width: 55%;
    position: absolute;
    left: -289px;
    top: -25px;
    z-index: 1;
    opacity: 0;
}
.kukka.kukka6 {
    overflow: hidden;
}
.kukka.kukka6 .inner {
    display: block;
    padding-top: 43%;
}
.kukka.kukka6 .center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.kukka.kukka6 .top-tit {
    font-size: 30px;
    text-align: center;
}
.kukka.kukka6 .top-tit .bold {
    font-weight: 700;
}
.kukka.kukka6 .bottom-tit {
    font-size: 40px;
    font-weight: 600;
}
.kukka.kukka6 .bottom-tit .purple {
    font-family: var(--soo) !important;
    color: #936ad6;
    font-size: 60px;
    font-weight: 400;
}
.kukka.kukka6 .step-wrap {
    padding-top: 50px;
}
.kukka.kukka6 .step-wrap .step-tip {
    width: 44%;
    margin-left: 450px;
    margin-bottom: 20px;
    position: relative;
}
.kukka.kukka6 .step-wrap .step-tip .ob,
.kukka.kukka6 .step-wrap .step-tip .txt {
    position: absolute;
}
.kukka.kukka6 .step-wrap .step-tip .ob {
    left: 40px;
    top: -28px;
    width: 26%;
}
.kukka.kukka6 .step-wrap .step-tip .txt {
    left: 0;
    top: 25px;
    padding-left: 180px;
}
.kukka.kukka6 .step-wrap .step-tip .txt .txt1 {
    font-size: 22px;
    font-weight: 600;
}
.kukka.kukka6 .step-wrap .step-tip .txt .txt2 {
    font-size: 19px;
    font-family: var(--pre) !important;
    line-height: normal;
}
.kukka.kukka6 .step-wrap .step {
    max-width: 1100px;
    overflow: hidden;
    display: flex;
    gap: 40px;
    position: relative;
}
.kukka.kukka6 .step-wrap .step li {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
}
.kukka.kukka6 .step-wrap .step li.on {
    animation: fade-in-left 0.8s linear both;
}
.kukka.kukka6 .step-wrap .step li.on::after {
    animation: line-grow 1s linear both;
}
.kukka.kukka6 .step-wrap .step li::after {
    content: "";
    z-index: -1;
    background: url(/assets/images/campaign/kukka_bloom/dotted.png) repeat-x center;
    background-size: contain;
    width: 0;
    height: 4px;
    position: absolute;
    top: 80px;
    left: 148px;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(2) {
    animation-delay: 0.3s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(2)::after {
    animation-delay: 0.3s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(3) {
    animation-delay: 0.6s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(3)::after {
    animation-delay: 0.6s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(4) {
    animation-delay: 0.9s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(4)::after {
    animation-delay: 0.9s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(5) {
    animation-delay: 1.2s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(5)::after {
    animation-delay: 1.2s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(6) {
    animation-delay: 1.5s;
}
.kukka.kukka6 .step-wrap .step li:nth-of-type(6)::after {
    animation-delay: 1.5s;
}
.kukka.kukka6 .step-wrap .step li:last-child::after {
    display: none;
}
.kukka.kukka6 .step-wrap .step li:last-child .circle::after {
    display: none;
}
.kukka.kukka6 .step-wrap .step li .txt1 {
    margin-top: 10px;
    line-height: normal;
    font-weight: 600;
    font-size: 20px;
}
.kukka.kukka6 .step-wrap .step li .txt2 {
    margin-top: 4px;
    font-family: var(--pre) !important;
    font-weight: 400;
    text-align: center;
    line-height: 1.3;
}
.kukka.kukka6 .step-wrap .circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    position: relative;
    z-index: 2;
}
.kukka.kukka6 .step-wrap .circle.purple {
    background: url(/assets/images/campaign/kukka_bloom/circle_purple.png) repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .circle.blue {
    background: url(/assets/images/campaign/kukka_bloom/circle_blue.png) repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico {
    display: inline-block;
    width: 150px;
    height: 150px;
}
.kukka.kukka6 .step-wrap .ico.ico1 {
    background: url(https://cdn.gni.kr/assets/images/kukka_bloom/icon1.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico.ico2 {
    background: url(/assets/images/campaign/kukka_bloom/icon2.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico.ico3 {
    background: url(https://cdn.gni.kr/assets/images/kukka_bloom/icon3.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico.ico4 {
    background: url(/assets/images/campaign/kukka_bloom/icon4.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico.ico5 {
    background: url(/assets/images/campaign/kukka_bloom/icon5.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka6 .step-wrap .ico.ico6 {
    background: url(/assets/images/campaign/kukka_bloom/icon6.png) no-repeat center;
    background-size: contain;
}
.kukka.kukka7 {
    position: relative;
    overflow: hidden;
    background: url(/assets/images/campaign/kukka_bloom/fixed_bg2.png) center center no-repeat;
    background-size: 110% auto;
    padding: 85px 0;
    transition: background-position 0.3s linear;
}
.kukka.kukka7 .inner {
    display: flex;
    flex-direction: column;
    align-items: start;
    height: 100%;
    justify-content: center;
}
.kukka.kukka7 .inner .txt-area {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
}
.kukka.kukka7 .inner .txt-area .purple {
    color: #936ad6;
}
.kukka.kukka7 .inner .btn-area {
    margin-top: 20px;
}
.kukka.kukka7 .inner .btn-area .btn-start4 {
    width: 380px;
    padding: 20px 0;
}
.kukka.kukka7 .inner .btn-area .btn-start4 .btn-txt {
    padding-right: 30px;
}
.kukka.kukka7 .inner .btn-area .btn-start4 .ico-arrow-right {
    top: 52%;
    right: 15%;
}
.kukka.kukka7 .ico {
    position: absolute;
    display: inline-block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: radial-gradient(circle, white -15%, transparent 100%);
}
.kukka.kukka7 .ico.ico-light1 {
    left: -170px;
    top: 90px;
    animation: lightTwinkle1 2s linear infinite;
    animation-delay: 0s;
}
.kukka.kukka7 .ico.ico-light2 {
    left: 450px;
    top: -70px;
    animation: lightTwinkle2 3s linear infinite;
    animation-delay: 1s;
}
.kukka.kukka7 .ico.ico-light3 {
    left: 540px;
    top: 0px;
    width: 60px;
    height: 60px;
    animation: lightTwinkle3 2.5s linear infinite;
    animation-delay: 1.5s;
}
.kukka.kukka8 {
    background: url(/assets/images/campaign/kukka_bloom/ku_bg8_pat.png) center repeat;
    background-size: cover;
    overflow: hidden;
}
.kukka.kukka8 .tab-wrap {
    padding: 80px 0;
}
.kukka.kukka8 .tab-wrap .tab-list {
    display: flex;
    justify-content: center;
    gap: 10px;
    max-width: 570px;
    margin: 0 auto;
}
.kukka.kukka8 .tab-wrap .tab-list li {
    cursor: pointer;
    padding: 13px 0;
    text-align: center;
    flex: 1 0 auto;
    border: 1px solid #000;
    border-radius: 50px;
    font-size: 28px;
    font-weight: 700;
    transition: background 0.2s ease;
}
.kukka.kukka8 .tab-wrap .tab-list li.on {
    background: #000;
    color: #fff;
}
.kukka.kukka8 .tab-wrap .tab-content {
    padding-top: 60px;
}
.kukka.kukka8 .tab-wrap .tab-content .qna-list {
    border-top: 1px solid #b1b1b1;
    min-height: 507px;
}
.kukka.kukka8 .tab-wrap .tab-content .el {
    position: relative;
}
.kukka.kukka8 .tab-wrap .tab-content .el::before {
    position: absolute;
    left: 20px;
    top: 24px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}
.kukka.kukka8 .tab-wrap .tab-content .qna-item.active .question::after {
    transform: translateY(-50%) rotate(180deg);
}
.kukka.kukka8 .tab-wrap .tab-content .question {
    cursor: pointer;
    background: #f8f8f8;
    position: relative;
    border-bottom: 1px solid #b1b1b1;
    font-size: 27px;
    font-weight: 700;
    padding-left: 90px;
}
.kukka.kukka8 .tab-wrap .tab-content .question .question-inner {
    padding: 30px 0;
}
.kukka.kukka8 .tab-wrap .tab-content .question::before {
    content: "Q.";
    background: #000;
}
.kukka.kukka8 .tab-wrap .tab-content .question::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    background: url(/assets/images/campaign/kukka_bloom/qna_arrow.png) no-repeat;
    background-size: contain;
    width: 32px;
    height: 19px;
    transition: transform 0.3s ease;
}
.kukka.kukka8 .tab-wrap .tab-content .answer {
    font-size: 20px;
    background: #ffffff;
    color: #424242;
    position: relative;
    padding-left: 90px;
    font-family: var(--pre) !important;
    border-bottom: 1px solid #b1b1b1;
}
.kukka.kukka8 .tab-wrap .tab-content .answer .link-hover:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}
.kukka.kukka8 .tab-wrap .tab-content .answer::before {
    content: "A.";
    background: #8e66d7;
}
.kukka.kukka8 .tab-wrap .tab-content .answer .answer-inner {
    font-family: var(--pre) !important;
    padding: 30px 0;
    padding-bottom: 20px;
}
.kukka.kukka8 .tab-wrap .tab-content .answer .bold {
    font-family: var(--pre) !important;
    color: #424242;
    font-weight: 600;
}
.kukka.kukka8 .tab-wrap .tab-content .answer .purple {
    font-family: var(--pre) !important;
    color: #8e66d7;
}
.kukka.kukka8 .tab-wrap .tab-content .answer .purple.bold {
    font-family: var(--pre) !important;
    font-weight: 600;
}

.copyright {
    padding: 30px 0;
    text-align: center;
    color: #222;
    font-size: 15px;
    background: #fff;
    font-family: var(--pre) !important;
    font-size: 18px;
}

@keyframes sway {
    0% {
        transform: rotate(0deg);
    }
    10% {
        transform: rotate(0.5deg);
    }
    20% {
        transform: rotate(0.9deg);
    }
    30% {
        transform: rotate(1deg);
    }
    40% {
        transform: rotate(0.7deg);
    }
    50% {
        transform: rotate(0deg);
    }
    60% {
        transform: rotate(-0.7deg);
    }
    70% {
        transform: rotate(-1deg);
    }
    80% {
        transform: rotate(-0.9deg);
    }
    90% {
        transform: rotate(-0.5deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
@keyframes sway2 {
    0%, 100% {
        transform: translateX(0) rotate(0deg);
    }
    25% {
        transform: translateX(-3px) rotate(-5deg);
    }
    75% {
        transform: translateX(3px) rotate(5deg);
    }
}
@keyframes flowerSway1 {
    0% {
        transform: translateX(0px) rotate(0deg);
    }
    12.5% {
        transform: translateX(3px) rotate(45deg);
    }
    25% {
        transform: translateX(5px) rotate(90deg);
    }
    37.5% {
        transform: translateX(3px) rotate(135deg);
    }
    50% {
        transform: translateX(0px) rotate(180deg);
    }
    62.5% {
        transform: translateX(-3px) rotate(225deg);
    }
    75% {
        transform: translateX(-5px) rotate(270deg);
    }
    87.5% {
        transform: translateX(-3px) rotate(315deg);
    }
    100% {
        transform: translateX(0px) rotate(360deg);
    }
}
@keyframes revealClip {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
    }
    100% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
    }
}
@keyframes twinkle {
    0% {
        opacity: 0.3;
    }
    10% {
        opacity: 0.44;
    }
    20% {
        opacity: 0.58;
    }
    30% {
        opacity: 0.72;
    }
    40% {
        opacity: 0.86;
    }
    50% {
        opacity: 1;
    }
    60% {
        opacity: 0.86;
    }
    70% {
        opacity: 0.72;
    }
    80% {
        opacity: 0.58;
    }
    90% {
        opacity: 0.44;
    }
    100% {
        opacity: 0.3;
    }
}
@keyframes aurora {
    0% {
        opacity: 0;
        transform: translateY(-25px);
        filter: blur(12px);
    }
    60% {
        opacity: 0.9;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}
@keyframes bounceUp {
    0% {
        transform: translateY(-5px);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(-5px);
    }
}
@keyframes flowerSway {
    0% {
        transform: translateX(0px) rotate(0deg);
    }
    25% {
        transform: translateX(-3px) rotate(-2deg);
    }
    50% {
        transform: translateX(0px) rotate(0deg);
    }
    75% {
        transform: translateX(3px) rotate(2deg);
    }
    100% {
        transform: translateX(0px) rotate(0deg);
    }
}
@keyframes arrowSlideDown {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }
    20% {
        opacity: 1;
        transform: translateX(-50%) translateY(-5px);
    }
    80% {
        opacity: 1;
        transform: translateX(-50%) translateY(5px);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(10px);
    }
}
@keyframes petalFall1 {
    0% {
        opacity: 1;
        transform: translateY(0px) translateX(0px) rotate(0deg);
    }
    5% {
        transform: translateY(60px) translateX(8px) rotate(2deg);
    }
    10% {
        transform: translateY(120px) translateX(18px) rotate(4deg);
    }
    15% {
        transform: translateY(180px) translateX(30px) rotate(6deg);
    }
    20% {
        transform: translateY(240px) translateX(45px) rotate(8deg);
    }
    25% {
        transform: translateY(300px) translateX(60px) rotate(10deg);
    }
    30% {
        transform: translateY(360px) translateX(70px) rotate(12deg);
    }
    35% {
        transform: translateY(420px) translateX(75px) rotate(14deg);
    }
    40% {
        transform: translateY(480px) translateX(70px) rotate(16deg);
    }
    45% {
        transform: translateY(540px) translateX(60px) rotate(18deg);
    }
    50% {
        transform: translateY(600px) translateX(45px) rotate(20deg);
    }
    55% {
        transform: translateY(660px) translateX(25px) rotate(18deg);
    }
    60% {
        transform: translateY(720px) translateX(0px) rotate(16deg);
    }
    65% {
        transform: translateY(780px) translateX(-30px) rotate(12deg);
    }
    70% {
        transform: translateY(840px) translateX(-60px) rotate(8deg);
    }
    75% {
        transform: translateY(900px) translateX(-75px) rotate(4deg);
    }
    80% {
        transform: translateY(960px) translateX(-70px) rotate(0deg);
    }
    85% {
        transform: translateY(1020px) translateX(-50px) rotate(-4deg);
    }
    90% {
        transform: translateY(1080px) translateX(-25px) rotate(-8deg);
    }
    95% {
        opacity: 0.5;
        transform: translateY(1110px) translateX(-10px) rotate(-10deg);
    }
    100% {
        opacity: 0;
        transform: translateY(1140px) translateX(0px) rotate(-12deg);
    }
}
@keyframes petalFall2 {
    0% {
        opacity: 1;
        transform: translateY(-140px) translateX(0px) rotate(0deg);
    }
    5% {
        transform: translateY(-120px) translateX(-5px) rotate(-1deg);
    }
    10% {
        transform: translateY(-100px) translateX(-10px) rotate(-2deg);
    }
    15% {
        transform: translateY(-80px) translateX(-14px) rotate(-2.5deg);
    }
    20% {
        transform: translateY(-60px) translateX(-18px) rotate(-3deg);
    }
    25% {
        transform: translateY(-40px) translateX(-22px) rotate(-3.5deg);
    }
    30% {
        transform: translateY(-20px) translateX(-26px) rotate(-4deg);
    }
    35% {
        transform: translateY(0px) translateX(-30px) rotate(-5deg);
    }
    40% {
        transform: translateY(20px) translateX(-34px) rotate(-6deg);
    }
    45% {
        transform: translateY(40px) translateX(-37px) rotate(-7deg);
    }
    50% {
        transform: translateY(60px) translateX(-40px) rotate(-8deg);
    }
    55% {
        transform: translateY(80px) translateX(-42px) rotate(-9deg);
    }
    60% {
        transform: translateY(100px) translateX(-43px) rotate(-10deg);
    }
    65% {
        transform: translateY(120px) translateX(-44px) rotate(-11deg);
    }
    70% {
        transform: translateY(140px) translateX(-44px) rotate(-12deg);
    }
    75% {
        transform: translateY(160px) translateX(-43px) rotate(-13deg);
    }
    80% {
        transform: translateY(180px) translateX(-42px) rotate(-13.3deg);
    }
    85% {
        transform: translateY(200px) translateX(-42px) rotate(-13.5deg);
    }
    90% {
        opacity: 0.9;
        transform: translateY(210px) translateX(-42px) rotate(-13.5deg);
    }
    95% {
        opacity: 0.5;
        transform: translateY(210px) translateX(-42px) rotate(-13.5deg);
    }
    100% {
        opacity: 0;
        transform: translateY(210px) translateX(-42px) rotate(-13.5deg);
    }
}
@keyframes petalFall3 {
    0% {
        opacity: 1;
        transform: translateY(-120px) translateX(0px) rotate(0deg);
    }
    5% {
        transform: translateY(-96px) translateX(5px) rotate(1deg);
    }
    10% {
        transform: translateY(-72px) translateX(10px) rotate(2deg);
    }
    15% {
        transform: translateY(-48px) translateX(15px) rotate(3deg);
    }
    20% {
        transform: translateY(-24px) translateX(20px) rotate(4deg);
    }
    25% {
        transform: translateY(0px) translateX(25px) rotate(5deg);
    }
    30% {
        transform: translateY(20px) translateX(30px) rotate(6deg);
    }
    35% {
        transform: translateY(40px) translateX(35px) rotate(7deg);
    }
    40% {
        transform: translateY(60px) translateX(39px) rotate(9deg);
    }
    45% {
        transform: translateY(80px) translateX(43px) rotate(10deg);
    }
    50% {
        transform: translateY(100px) translateX(46px) rotate(11deg);
    }
    55% {
        transform: translateY(120px) translateX(48px) rotate(12deg);
    }
    60% {
        transform: translateY(140px) translateX(50px) rotate(13deg);
    }
    65% {
        transform: translateY(160px) translateX(51px) rotate(14deg);
    }
    70% {
        transform: translateY(180px) translateX(52px) rotate(15deg);
    }
    75% {
        transform: translateY(200px) translateX(52px) rotate(16deg);
    }
    80% {
        transform: translateY(220px) translateX(51px) rotate(17deg);
    }
    85% {
        transform: translateY(240px) translateX(50px) rotate(18deg);
    }
    90% {
        transform: translateY(260px) translateX(48px) rotate(19deg);
    }
    92% {
        transform: translateY(280px) translateX(46px) rotate(19.5deg);
    }
    94% {
        transform: translateY(300px) translateX(43px) rotate(20deg);
    }
    95% {
        transform: translateY(320px) translateX(40px) rotate(20.5deg);
    }
    96% {
        opacity: 0.9;
        transform: translateY(340px) translateX(36px) rotate(21deg);
    }
    97% {
        opacity: 0.7;
        transform: translateY(350px) translateX(34px) rotate(21deg);
    }
    98% {
        opacity: 0.5;
        transform: translateY(355px) translateX(33px) rotate(21deg);
    }
    99% {
        opacity: 0.2;
        transform: translateY(358px) translateX(32px) rotate(21deg);
    }
    100% {
        opacity: 0;
        transform: translateY(360px) translateX(32px) rotate(21deg);
    }
}
@keyframes flowerBloom {
    0% {
        opacity: 0;
        transform: scale(0) rotate(-30deg);
    }
    15% {
        opacity: 0.1;
        transform: scale(0.05) rotate(-25deg);
    }
    25% {
        opacity: 0.2;
        transform: scale(0.1) rotate(-20deg);
    }
    35% {
        opacity: 0.3;
        transform: scale(0.2) rotate(-15deg);
    }
    45% {
        opacity: 0.4;
        transform: scale(0.3) rotate(-10deg);
    }
    55% {
        opacity: 0.5;
        transform: scale(0.4) rotate(-7deg);
    }
    65% {
        opacity: 0.6;
        transform: scale(0.5) rotate(-5deg);
    }
    70% {
        opacity: 0.7;
        transform: scale(0.6) rotate(-3deg);
    }
    75% {
        opacity: 0.8;
        transform: scale(0.7) rotate(-2deg);
    }
    80% {
        opacity: 0.85;
        transform: scale(0.8) rotate(-1deg);
    }
    85% {
        opacity: 0.9;
        transform: scale(0.9) rotate(-0.5deg);
    }
    90% {
        opacity: 0.95;
        transform: scale(0.95) rotate(0deg);
    }
    95% {
        opacity: 1;
        transform: scale(1.05) rotate(0deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}
@keyframes truckMove {
    0% {
        opacity: 0;
        transform: translateX(10px) rotate(0deg);
    }
    3% {
        opacity: 0.15;
        transform: translateX(8.5px) rotate(0deg);
    }
    6% {
        opacity: 0.25;
        transform: translateX(7px) rotate(0deg);
    }
    9% {
        opacity: 0.35;
        transform: translateX(5.5px) rotate(0deg);
    }
    12% {
        opacity: 0.45;
        transform: translateX(4px) rotate(0deg);
    }
    15% {
        opacity: 0.55;
        transform: translateX(2.5px) rotate(0deg);
    }
    18% {
        opacity: 0.65;
        transform: translateX(1px) rotate(0deg);
    }
    21% {
        opacity: 0.7;
        transform: translateX(-0.5px) rotate(0deg);
    }
    24% {
        opacity: 0.75;
        transform: translateX(-2px) rotate(0deg);
    }
    27% {
        opacity: 0.8;
        transform: translateX(-3.5px) rotate(0deg);
    }
    30% {
        opacity: 0.83;
        transform: translateX(-5px) rotate(0deg);
    }
    33% {
        opacity: 0.86;
        transform: translateX(-6.5px) rotate(0deg);
    }
    36% {
        opacity: 0.88;
        transform: translateX(-8px) rotate(0deg);
    }
    39% {
        opacity: 0.9;
        transform: translateX(-9.5px) rotate(0deg);
    }
    42% {
        opacity: 0.92;
        transform: translateX(-11px) rotate(0deg);
    }
    45% {
        opacity: 0.93;
        transform: translateX(-12.5px) rotate(0deg);
    }
    48% {
        opacity: 0.94;
        transform: translateX(-14px) rotate(0deg);
    }
    51% {
        opacity: 0.95;
        transform: translateX(-15.5px) rotate(0deg);
    }
    54% {
        opacity: 0.96;
        transform: translateX(-17px) rotate(0deg);
    }
    57% {
        opacity: 0.97;
        transform: translateX(-18.5px) rotate(0deg);
    }
    60% {
        opacity: 0.98;
        transform: translateX(-20px) rotate(0deg);
    }
    63% {
        opacity: 0.99;
        transform: translateX(-22px) rotate(0deg);
    }
    66% {
        opacity: 1;
        transform: translateX(-23.5px) rotate(0deg);
    }
    69% {
        opacity: 1;
        transform: translateX(-24.5px) rotate(0deg);
    }
    72% {
        opacity: 1;
        transform: translateX(-25px) rotate(0deg);
    }
    74% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.2deg);
    }
    76% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.4deg);
    }
    78% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.6deg);
    }
    80% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.8deg);
    }
    82% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1deg);
    }
    84% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1.3deg);
    }
    86% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1.6deg);
    }
    88% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1.9deg);
    }
    90% {
        opacity: 1;
        transform: translateX(-25px) rotate(-2deg);
    }
    92% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1.6deg);
    }
    94% {
        opacity: 1;
        transform: translateX(-25px) rotate(-1.2deg);
    }
    96% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.7deg);
    }
    98% {
        opacity: 1;
        transform: translateX(-25px) rotate(-0.3deg);
    }
    100% {
        opacity: 1;
        transform: translateX(-25px) rotate(0deg);
    }
}
@keyframes lightTwinkle1 {
    0% {
        opacity: 0.2;
        transform: scale(0.8);
    }
    5% {
        opacity: 0.3;
        transform: scale(0.85);
    }
    10% {
        opacity: 0.4;
        transform: scale(0.9);
    }
    15% {
        opacity: 0.5;
        transform: scale(0.95);
    }
    20% {
        opacity: 0.6;
        transform: scale(0.98);
    }
    25% {
        opacity: 0.7;
        transform: scale(1);
    }
    30% {
        opacity: 0.8;
        transform: scale(1.02);
    }
    35% {
        opacity: 0.85;
        transform: scale(1.04);
    }
    40% {
        opacity: 0.9;
        transform: scale(1.06);
    }
    45% {
        opacity: 0.95;
        transform: scale(1.08);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
    55% {
        opacity: 0.95;
        transform: scale(1.08);
    }
    60% {
        opacity: 0.9;
        transform: scale(1.06);
    }
    65% {
        opacity: 0.85;
        transform: scale(1.04);
    }
    70% {
        opacity: 0.8;
        transform: scale(1.02);
    }
    75% {
        opacity: 0.7;
        transform: scale(1);
    }
    80% {
        opacity: 0.6;
        transform: scale(0.98);
    }
    85% {
        opacity: 0.5;
        transform: scale(0.95);
    }
    90% {
        opacity: 0.4;
        transform: scale(0.9);
    }
    95% {
        opacity: 0.3;
        transform: scale(0.85);
    }
    100% {
        opacity: 0.2;
        transform: scale(0.8);
    }
}
@keyframes lightTwinkle2 {
    0% {
        opacity: 0.15;
        transform: scale(0.75);
    }
    4% {
        opacity: 0.25;
        transform: scale(0.8);
    }
    8% {
        opacity: 0.35;
        transform: scale(0.85);
    }
    12% {
        opacity: 0.45;
        transform: scale(0.9);
    }
    16% {
        opacity: 0.55;
        transform: scale(0.94);
    }
    20% {
        opacity: 0.65;
        transform: scale(0.97);
    }
    24% {
        opacity: 0.72;
        transform: scale(0.99);
    }
    28% {
        opacity: 0.78;
        transform: scale(1.01);
    }
    32% {
        opacity: 0.83;
        transform: scale(1.03);
    }
    36% {
        opacity: 0.87;
        transform: scale(1.05);
    }
    40% {
        opacity: 0.91;
        transform: scale(1.07);
    }
    44% {
        opacity: 0.94;
        transform: scale(1.09);
    }
    48% {
        opacity: 0.97;
        transform: scale(1.11);
    }
    52% {
        opacity: 1;
        transform: scale(1.12);
    }
    56% {
        opacity: 0.97;
        transform: scale(1.1);
    }
    60% {
        opacity: 0.93;
        transform: scale(1.08);
    }
    64% {
        opacity: 0.88;
        transform: scale(1.06);
    }
    68% {
        opacity: 0.82;
        transform: scale(1.03);
    }
    72% {
        opacity: 0.75;
        transform: scale(1);
    }
    76% {
        opacity: 0.67;
        transform: scale(0.97);
    }
    80% {
        opacity: 0.58;
        transform: scale(0.93);
    }
    84% {
        opacity: 0.48;
        transform: scale(0.89);
    }
    88% {
        opacity: 0.38;
        transform: scale(0.85);
    }
    92% {
        opacity: 0.28;
        transform: scale(0.81);
    }
    96% {
        opacity: 0.2;
        transform: scale(0.77);
    }
    100% {
        opacity: 0.15;
        transform: scale(0.75);
    }
}
@keyframes lightTwinkle3 {
    0% {
        opacity: 0.25;
        transform: scale(0.85);
    }
    3% {
        opacity: 0.32;
        transform: scale(0.88);
    }
    6% {
        opacity: 0.39;
        transform: scale(0.91);
    }
    9% {
        opacity: 0.46;
        transform: scale(0.93);
    }
    12% {
        opacity: 0.53;
        transform: scale(0.95);
    }
    15% {
        opacity: 0.6;
        transform: scale(0.97);
    }
    18% {
        opacity: 0.66;
        transform: scale(0.99);
    }
    21% {
        opacity: 0.71;
        transform: scale(1);
    }
    24% {
        opacity: 0.76;
        transform: scale(1.01);
    }
    27% {
        opacity: 0.8;
        transform: scale(1.02);
    }
    30% {
        opacity: 0.84;
        transform: scale(1.03);
    }
    33% {
        opacity: 0.87;
        transform: scale(1.04);
    }
    36% {
        opacity: 0.9;
        transform: scale(1.05);
    }
    39% {
        opacity: 0.92;
        transform: scale(1.06);
    }
    42% {
        opacity: 0.94;
        transform: scale(1.07);
    }
    45% {
        opacity: 0.96;
        transform: scale(1.08);
    }
    48% {
        opacity: 0.98;
        transform: scale(1.09);
    }
    51% {
        opacity: 1;
        transform: scale(1.1);
    }
    54% {
        opacity: 0.98;
        transform: scale(1.09);
    }
    57% {
        opacity: 0.95;
        transform: scale(1.07);
    }
    60% {
        opacity: 0.92;
        transform: scale(1.05);
    }
    63% {
        opacity: 0.88;
        transform: scale(1.03);
    }
    66% {
        opacity: 0.83;
        transform: scale(1.01);
    }
    69% {
        opacity: 0.78;
        transform: scale(0.99);
    }
    72% {
        opacity: 0.72;
        transform: scale(0.97);
    }
    75% {
        opacity: 0.66;
        transform: scale(0.95);
    }
    78% {
        opacity: 0.6;
        transform: scale(0.93);
    }
    81% {
        opacity: 0.53;
        transform: scale(0.91);
    }
    84% {
        opacity: 0.46;
        transform: scale(0.89);
    }
    87% {
        opacity: 0.39;
        transform: scale(0.87);
    }
    90% {
        opacity: 0.35;
        transform: scale(0.86);
    }
    93% {
        opacity: 0.31;
        transform: scale(0.855);
    }
    96% {
        opacity: 0.28;
        transform: scale(0.853);
    }
    100% {
        opacity: 0.25;
        transform: scale(0.85);
    }
}
@keyframes hvr-ripple-out {
    0% {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 1;
    }
    100% {
        top: -10px;
        right: -10px;
        bottom: -10px;
        left: -10px;
        opacity: 0;
    }
}
@keyframes arrowXBounce {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px);
    }
}
@keyframes fade-in-left {
    0% {
        transform: translateX(-50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes fade-in-right {
    0% {
        transform: translateX(50px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes line-grow {
    0% {
        width: 0;
    }
    100% {
        width: 30%;
    }
}
