@font-face {
    font-family: 'April16th-Promise';
    src: url('../fonts/April16th-Promise.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'April16th-Life';
    src: url('../fonts/April16th-Life.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'April16th-Safety';
    src: url('../fonts/April16th-Safety.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
:root{
    --color-blue: #1E64FF;
    --color-yellow: #FFE600;
    --color-green: #1FCE62;
    --color-purple: #9612FF;
    --color-sky: #50E6FF;
    --color-orange: #FF6012;
    --color-desc: #4E5968;
}
body{
    font-family: "Pretendard", "Apple SD Gothic Neo", "맑은 고딕", "Malgun Gothic", "Helvetica Neue", Helvetica, Arial, "Trebuchet MS", sans-serif;
    color: #000000;
}
.font-april16th{
    font-family: 'April16th-Promise', ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.font-april16th-life{
    font-family: 'April16th-Life', ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.color-blue{
    color: var(--color-blue);
}
.color-yellow{
    color: var(--color-yellow);
}
.color-green{
    color: var(--color-green);
}
.color-purple{
    color: var(--color-purple);
}
.color-sky{
    color: var(--color-sky);
}
.color-orange{
    color: var(--color-orange);
}
.color-white{
    color: #fff;
}

input::placeholder,
textarea::placeholder{
    color: #ADB5BD;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
    color: #ADB5BD;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder{
    color: #ADB5BD;
}
a{
    cursor: pointer;
}
.emoji{
    font-family: 
        Apple Color Emoji,
        Segoe UI Emoji,
        Noto Color Emoji,
        Android Emoji,
        EmojiSymbols,
        EmojiOne Mozilla,
        Twemoji Mozilla,
        Segoe UI Symbol,
        emoji, serif;
}
.text-center{
    text-align: center;
}
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 48px;
    font-size: 16px;
    font-weight: 400;
    line-height: 48px;
    color: #000;
    background: var(--color-yellow);
    border: none;
    border-radius: 60px;
}
.btn.active{
    font-weight: 700;
}
.btn.btn-blue{
    color: #fff;
    background: var(--color-blue);
}
.btn.btn-lg{
    height: 56px;
    line-height: 56px;
    border-radius: 8px;
}
.btn.btn-lg:not(.active){
    font-weight: 500;
}

/* layout */
#bg{
    position: relative;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    background-color: #fff;
}
.container{
    position: relative;
    width: 100%;
    padding: 0 32px;
}

/* main */
.main-container{
    padding: 0 20px;
    background: var(--color-blue);
	transition: all 1s;
    overflow: hidden;
}
.main-container.before-page-2,
.main-container.page-2{
    background: var(--color-yellow);
}
.main-container.before-page-3,
.main-container.page-3{
    background: var(--color-green);
}
.main-container.before-page-4,
.main-container.page-4{
    background: var(--color-purple);
}
.main-container.before-page-5,
.main-container.page-5{
    background: var(--color-sky);
}
.main-container.before-page-6,
.main-container.page-6{
    background: var(--color-orange);
}
.section{
    position: relative;
    padding-top: 40px;
    padding-bottom: 100px;
}
.section .section-title{
    font-size: 32px;
    line-height: 1.375;
    color: #000;
}
.section.section-last .section-title{
    font-size: 22px;
    margin-top: 30px;
}
.section .section-desc{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    margin-top: 20px;
}
.section-1 h3{
    margin-top: -8px;
    margin-bottom: 40px;
}
.section-1 h2{
    margin-bottom: 21px;
}
.section-1 h1{
    margin-bottom: 20px;
}
.section-1 h4{
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}
.section-1 .main-ribbon{position: absolute;}
.section-1 .main-ribbon-1{top: 394px;left: calc(-20px - 4.2vw);width: 45vw;}
.section-1 .main-ribbon-2{top: 373px;right: calc(-20px - 41.8vw);width: 79.7vw;}
.section-1 .main-ribbon-3{top: 555px;left: -20px;width: 50vw;}
.section-1 .main-ribbon-4{top: 458px;left: 18vw;width: 58.9vw;}
.section-1 .main-ribbon-5{top: 570px;right: calc(-20px - 10vw);width: 52vw;}
.section-2 .main-ship{position: absolute;}
.section-2 .main-ship-1{top: 211px;right: calc(-20px - 2.6vw);width: 14.4vw;}
.section-2 .main-ship-2{top: 312px;left: calc(-20px - 5.3vw);width: 48.2vw;}
.section-2 .main-ship-3{top: 329px;right: calc(-20px - 11.7vw);width: 69vw;}
.section-3 .main-picket{position: absolute;}
.section-3 .main-picket-1{top: 264px;right: -14px;width: 47.7vw;}
.section-3 .main-picket-2{top: 339px;right: calc(-20px - 4.2vw);width: 47.7vw;}
.section-3 .main-picket-3{top: 397px;left: 9.6vw;width: 45vw;}
.section-3 .main-picket-4{top: 331px;left: calc(-20px - 5.3vw);width: 56.8vw;}
.section-4 .main-whale{position: absolute;}
.section-4 .main-whale-1{top: 279px;right: 12.5vw;width: 37vw;}
.section-4 .main-whale-2{top: 155px;right: calc(-20px - 11.2vw);width: 50.6vw;}
.section-4 .main-whale-3{top: 306px;right: calc(-20px - 8vw);width: 82vw;}
.section-5 .main-5-img{width: 128.8vw;max-width: 128.8vw;margin-left: -10.6vw;margin-top: -45px;}
@media screen and (min-width: 481px){
    .section-1 .main-ribbon-1{left: -40px;width: 216px;}
    .section-1 .main-ribbon-2{right: -220px;width: 382px;}
    .section-1 .main-ribbon-3{top: 598px;width: 240px;}
    .section-1 .main-ribbon-4{top: 478px;left: calc(50% - 133px);width: 282px;}
    .section-1 .main-ribbon-5{top: 613px;right: -68px;width: 249px;}
    .section-2 .main-ship-1{right: -32px;width: 69px;}
    .section-2 .main-ship-2{left: -45px;width: 231px;}
    .section-2 .main-ship-3{top: 360px;right: -76px;width: 331px;}
    .section-3 .main-picket-1{width: 228px;}
    .section-3 .main-picket-2{top: 370px;right: -40px;width: 228px;}
    .section-3 .main-picket-3{top: 430px;left: 46px;width: 216px;}
    .section-3 .main-picket-4{top: 346px;left: -45px;width: 272px;}
    .section-4 .main-whale-1{top: 296px;right: 60px;width: 177px;}
    .section-4 .main-whale-2{right: -73px;width: 243px;}
    .section-4 .main-whale-3{top: 347px;right: -58px;width: 395px;}
    .section-5 .main-5-img{width: 618px;max-width: 618px;margin-left: -50px;margin-top: -85px;}
}
.section.section-last{
    padding-top: 140px;
    padding-bottom: 40px;
}
.section-last .btn-next{
    display: block;
    width: 100%;
    height: 72px;
    line-height: 72px;
    font-size: 20px;
    background: #fff;
    border-radius: 8px;
    text-align: center;
}


/* steps */
.steps-bar-wrap{
    margin-top: 27px;
    margin-bottom: 30px;
}
.steps-bar-text{
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    color: #8B95A1;
    margin-bottom: 10px;
}
.steps-bar{
    position: relative;
    width: 100%;
    height: 5px;
    background-color: #E5E5E5;
}
.steps-bar .bar{
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    background: var(--color-yellow);
}
.title-wrap .title{
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-blue)
}
.title-wrap .desc{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--color-desc);
    margin-top: 20px;
}

/* step 1 */
#img-upload{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 125%;
    margin-top: 34px;
    background: url(../img/ico-upload.svg) 50% 50% no-repeat, #fff;
    border: 1px solid #CED4DA;
}
#img-upload.active{
    border: none;
}
#img-upload .img{
    position: absolute;
    inset: 0px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.img-btn-wrap{
    margin-top: 18px;
}
.img-btn-wrap .btn:not(.active) img{
    display: none;
}
.img-btn-wrap .btn + .btn{
    margin-top: 8px;
}
#img-select {
    display: flex;
    flex-wrap: wrap;
    margin: 13px -5px -5px -5px;
}
#img-select li{
    width: 50%;
    padding: 5px;
    cursor: pointer;
}
#img-select li .res-box{
    position: relative;
}
#img-select li.selected .res-box:before{
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border: 2px solid #FFDA00;  
}
#img-select li .res-box:after{
    content: '';
    position: absolute;
    top: 12px;
    right: 12px;
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/ico-radio.svg) no-repeat center / 20px;
}
#img-select li.selected .res-box:after{
    background-image: url(../img/ico-radio-checked.svg);
}
#img-select img{
    max-width: 100%;
}
.btn-wrap{
    display: flex;
    gap: 8px;
    width: 100%;
    padding: 40px 20px;
}
.btn-wrap .btn-lg.prev{
    width: 78px;
    font-weight: 500;
    color: #fff;
    background: #495057;
}
.btn-wrap .btn-lg.next{
    flex: 1;
    font-weight: 500;
}
.canvas-container{
    margin-top: 38px;
}
.textarea-wrap{
    margin: 14px 0;
}
.textarea-wrap textarea{
    width: 100%;
    height: 90px;
    font-size: 14px;
    line-height: 1.6;
    color: #000;
    padding: 20px 10px;
    border: 1px solid #ADB5BD;
    text-align: center;
    outline: none;
    resize: none;
}
#text-select{
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    color: var(--color-desc);
    margin-top: 22px;
    text-align: left;
}
#text-select li{
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}
#text-select li.selected{
    font-weight: 700;
}
#text-select li:before{
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    background: url(../img/ico-radio.svg) no-repeat center / 20px;
}
#text-select li.selected:before{
    background-image: url(../img/ico-radio-checked.svg);
}
.sticker-container{
    margin-top: 10px;
}
.sticker-container .sticker-info{
    font-size: 12px;
    font-weight: 400;
    line-height: 24px;
    color: #8B95A1;
    margin-bottom: 20px;
}
.sticker-container .inner{
    padding: 17px 32px 20px 32px;
    margin: 0 -32px;
    background: #F1F3F5;
}
.sticker-container .btn + .btn{
    margin-top: 8px;
}
#sticker-select{
    display: flex;
    flex-wrap: wrap;
    margin: -6px;
}
#sticker-select li{
    width: 25%;    
    min-width: 78px;
    padding: 6px;
}
#sticker-select li .res-box{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    background: #ddd;
    border-radius: 50%;
}
#sticker-select li.selected .res-box:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-yellow);
    border-radius: 50%;
}
#sticker-select li.selected .res-box span{
    position: absolute;
    top: 0;
    left: 3px;
    width: 17px;
    height: 17px;
    font-size: 10px;
    font-weight: 700;
    line-height: 17px;
    color: var(--color-blue);
    background: var(--color-yellow);
    border-radius: 50%;
}
#sticker-select li .res-box img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.loader-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: #8B95A1;
    margin-top: -8px;
    margin-bottom: 30px;
}
.loader-wrap img{
    width: 56px;
}
#agreement{
    margin-top: 34px;
}
#agreement .quiz-text-wrap{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-desc);
    margin-top: 30px;
}
#agreement .title{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
}
#agreement .quiz-text-wrap .title{
    margin-bottom: 14px;
}
.quiz-form{
    margin-bottom: 3px;
}
.quiz-form .field-group{
    margin-top: 40px;
}
.quiz-form .field-group .title{
    display: flex;
    column-gap: 5px;
    margin-bottom: 20px;
}
.quiz-form .field-group .title.quiz-title::before{
    content: 'Q. ';
}
.quiz-form #text-select li:before{
    background-image: url(../img/ico-radio-2.svg);
}
.quiz-form #text-select li.selected:before{
    background-image: url(../img/ico-radio-2-checked.svg);
}
.quiz-form .input-wrap + .input-wrap{
    margin-top: 9px;
}
.quiz-form .input-wrap .input{
    width: 100%;
    height: 38px;
    font-size: 14px;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid #F1F3F5;
    outline: none;
}
.js-form-type-checkbox{
    margin-top: 20px;
}
.js-form-type-checkbox .privacy-text, 
.js-form-type-checkbox .privacy-text .popup-btn{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--color-desc);
}
.js-form-type-checkbox .privacy-text .popup-btn{
    text-decoration: underline;
}
.js-form-type-checkbox input {
    position: absolute;
    width: 0!important;
    border-color: transparent;
    background-color: transparent;
}
.js-form-type-checkbox label {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
}
.js-form-type-checkbox label span {
    cursor: pointer;
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('../img/ico-checkbox.svg') no-repeat 50% 50%;
    margin-right: 8px;
    margin-top: 2px;
}
.js-form-type-checkbox input:checked + label span {
    background: url('../img/ico-checkbox-checked.svg') no-repeat 50% 50%;
}
input[type='number'] {
    -moz-appearance:textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.result-image-container,
.hashtag-container{
    margin-top: 40px;
}
.result-image-container .sub-title,
.hashtag-container .sub-title{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
    margin-bottom: 20px;
}
.hashtag-container .hashtag{
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-blue);
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--color-blue);
    border-radius: 14px;
}


/* loader */
.back-loader-wrap{
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
    background-color: rgba(255,255,255,0.5);
    z-index: 100;
    display: none;
  }
.back-loader-wrap.active{
    display: flex;
}
.back-loader-wrap img{
    width: 56px;
}
/* --------- POPUP ---------- */
.popup-wrap {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: center;
    z-index: 100;
    display: none;
}
.popup-wrap.active {
    display: flex;
}
.popup-wrap .popup-back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}
.popup-wrap .popup {
    position: relative;
    width: 100vw;
    max-width: 480px !important;
    padding-top: 72px;
    background-color: #fff;
    text-align: left;
}
.popup-wrap .popup-close{
    position: absolute;
    top: 28px;
    right: 32px;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
}
.popup-wrap .popup .content {
    overflow-x: hidden;
    overflow-y: auto;
    padding: 20px 30px;
}
.popup-wrap .popup h6 {
    font-size: 20px;
    font-weight: 700;
    line-height: 52px;
    color: #000;
    margin-bottom: 20px;
}
.popup-wrap .popup p {
    font-size: 13px;
    line-height: 22px;
    color: var(--color-desc);
}
  