@charset "utf-8";


/********************
** 메인배너
********************/
.navBtn{background:linear-gradient(-135deg, #C8B1FF 0%, #FFE8BF 100%); box-shadow: 0 0 8px rgba(0, 0, 0, 0.25); bottom:40px; right:40px}
.navBtn {    transition: all 0.3s ease-in-out;}
.navBtn.hide-nav {    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(20px); }
.mainBanner{background:url('/img/lifepartner/mainBannerBg.jpg'); background-size:cover; background-position:center;}
.mainCard .mainCardBox {    left: 0;    transition: all 0.5s;    box-shadow: 0 0 16px rgba(0,0,0,0.15);     animation: verticalSlide 5s linear infinite;}
.mainCard .mainCardBox:last-child {    animation-delay: -2.5s;}
@keyframes verticalSlide {
    0% {
        top: 20px;         
        transform: scale(0.9); 
        z-index: 1;        
        opacity: 0.7;    
        filter: brightness(90%); 
    }

    20% {
        top: 0px;          
        transform: scale(1);  
        z-index: 2;       
        opacity: 1;      
        filter: brightness(100%);
    }
    50% {
        top: 0px;          
        transform: scale(1);
        z-index: 2;
        opacity: 1;
        filter: brightness(100%);
    }
    60% {
        top: -20px;      
        transform: scale(0.9); 
        z-index: 0;       
        opacity: 0;      
    }
    100% {
        top: 20px;     
        transform: scale(0.9);
        z-index: 0;
        opacity: 0;  
    }
}
.mainBtn{background:linear-gradient(90deg, #8830F7 0%, #54169C 100%);}

.subJobBox{border:1px solid #D9DADE;}

.video{aspect-ratio: 16 / 9;}

.startTxt{border-bottom:1px dashed #B8BAC1;}

.serviceDetailTxt{background:linear-gradient(90deg, #7A1EE3 0%, #6618BF 100%);}

.calculation {    background: url('/img/lifepartner/calculationBg.jpg');     background-size: cover;     background-position: center;}
.calculationBox {    border: 5px solid #340B6A;     border-bottom: none;     border-radius: 36px 36px 0 0;    overflow: hidden;}
.calculationInput {    background: none;    border: none;}
.calculationInput::placeholder {        color: #999999;           font-size: 16px;         font-weight: 400;        opacity: 1;  }
.calculationInput:focus {        outline: none;}
.calculationInput::-webkit-outer-spin-button,
.calculationInput::-webkit-inner-spin-button {        -webkit-appearance: none;        margin: 0;}
.calculationInput[type=number] {        -moz-appearance: textfield;}
.step-section {    transition: all 0.3s ease;}
.hidden {    display: none !important;}

.benefitBox{border:1px solid #883FFF;}
.benefitBoxRight{background:url('/img/lifepartner/benefit-002.svg'); background-size:100%; background-repeat: no-repeat; background-position: top;}
.chat_bubble::after {    content: '';    position: absolute;    left: -12px;      top: 20px;        border-right: 12px solid #fff;     border-top: 8px solid transparent;     border-bottom: 8px solid transparent; }
.chat_bubbleR::before{    content: '';    position: absolute;    right: -12px;      top: 20px;        border-left: 12px solid #DED4FF;     border-top: 8px solid transparent;     border-bottom: 8px solid transparent; }

.portalLifeLeft{border-radius: 16px 0 0 16px; box-shadow: -2px 4px 8px rgba(0, 0, 0, 0.25);}
.portalLifeRight{box-shadow: -2px 4px 8px rgba(246, 242, 255, 0.5);}
.vsIcon{top:50%; left:0;transform: translate(-50%, -50%); }


.stepBox{display:grid; grid-template-columns: repeat(5 , 1fr);}
.stepPoint {    left: 50%;     top: -30px; animation: bounce 2s infinite ease-in-out;}
@keyframes bounce {
    0% {
        transform: translate(-50%, 0);
    }
    50% {
        transform: translate(-50%, -15px);
    }
    100% {
        transform: translate(-50%, 0);
    }
}

/********************
** Contact
********************/
.online{background:url('/img/lifepartner/formBg.jpg'); background-size:cover;}
.inputBox{ padding: 24px; border: 1px solid #D9DADE; border-radius: 4px;}
.inputBox:placeholder-shown{color: #91949f; line-height: 1em;}

.custom-checkbox{width: 20px; height: 20px; padding: 0; border: 1px solid #26272b; border-radius: 4px; background-color: #fff; margin-right: 10px; transition: background-color 0.3s, border 0.3s; position: relative;}
.checkpolicy input[type="checkbox"] {display: none;}
.checkpolicy input[type="checkbox"]:checked + .custom-checkbox{background-color: #883FFF; border-color: #883FFF;}
.checkpolicy input[type="checkbox"]:checked + .custom-checkbox::after{content: ''; position: absolute; top: 2px; left: 5px; width: 5px; height: 8px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg);}

.moreBtn{text-decoration: underline;}

.onlineBtn{ cursor: pointer;}

