:root {
    --primary-color: #573cfa;
    --sub1-color: #BFC3FF;
    --sub2-color: #CCFC06;
    --font-primary1: "NanumSquareNeoBold";
    --font-primary2: "NanumSquareNeoExtraBold";
    --font-primary3: "NanumSquareNeoHeavy";
}

.root_daum_roughmap .cont {display: none;}
.root_daum_roughmap .wrap_controllers {display: none;}
.root_daum_roughmap {margin: auto !important; height: 100vh;}

/* ====== 로그인 페이지 ====== */

.login {display: flex; flex-direction: column; align-items: center;}
.login .logo {width: 200px; margin-top: 100px; margin-bottom: 50px;}
.login .login-form-wrap {width: 100%;}
.login-form-wrap .login-input {display: flex; flex-direction: column; align-items: center; gap: 8px; margin-bottom: 10px;}
.login-form-wrap .login-btn {display: flex; flex-direction: column; gap: 8px;}
.login-form-wrap .login-btn button {width: 100%;}
.login-form-wrap > p {font-size: 14px; text-align: center; text-decoration: underline; margin-top: 25px;cursor: pointer;}
/* .other-log {display: flex; flex-direction: column; gap: 8px; width: 100%; margin-top: 70px;} */
.other-log {display: flex;align-items: center; gap: 25px; width: 100%; margin-top: 25px; justify-content: center;}
/* .other-log button {width: 100%;} */
/* .other-log button em {width: 20px;} */
.other-log button {width: 60px; height: 60px; border-radius: 50% !important;}
.other-log button em {width: 25px;}
.other-log .sns1 {background: #06BE34;}
.other-log .sns1 p {color: #fff;}
.other-log .sns2 {background: #FAE100;}
.other-log .sns2 p {color: #371D1E;}
.other-log .sns3 {border: 1px solid #eee; background-color: #fff;}
.other-log .sns4 { background-color: #000;}
.login .pass {font-size: 14px; color: #8888; text-decoration: underline; margin-top: 30px; padding-bottom: 30px;}


/* ====== 본인인증 ====== */
.in-tit {font-size: 22px; font-family: var(--font-primary1);}

/* ====== 회원가입 ====== */
.join-wrap {padding: 30px 20px 20px 20px; display: flex; flex-direction: column; gap: 30px;}
.input > p {font-size: 16px; margin-bottom: 8px; position: relative; width: fit-content; font-weight: 500;}
.input > p span {color: #999; font-size: 15px;}
.input > p.ess::after {content: "*"; display: block; color:var(--primary-color); position: absolute; top: 50%; right: -11px; transform: translateY(-50%);}
.input .input-txt {display: flex; flex-direction: column; gap: 5px;}
.input .input-txt .in-btn {display: flex; gap: 8px;}
.input .input-txt .in-btn button {width: 80px; font-size: 14px;  display: inline-block;
    white-space: nowrap;}
.input .input-txt .in-btn input {width: calc(100% - 80px);}
.chk-wrap p {font-size: 13px;}
.chk-wrap p.confirm {color: #3c8efa;}
.chk-wrap p.wrong {color: #FF0000;}

.chk-wrap ul {display: flex; align-items: center; gap: 15px;}
.chk-wrap ul li {font-size: 13px; color: #cdcdcd; display: flex; align-items: center; gap: 3px;}
.chk-wrap ul li.on {color: #3c8efa;}
.chk-wrap ul li em {background: url(../img/chk.png) no-repeat center/cover; width: 12px; height: 12px;}
.chk-wrap ul li.on em {background: url(../img/chk_on.png) no-repeat center/cover; width: 12px; height: 12px;}

.btn-wrap {display: flex; align-items: center; gap: 10px;}
.btn-wrap input + label {border: 1px solid #eee; width: 50%; display: inline-block; text-align: center; padding: 13px 0; border-radius: 6px; color: #666; font-size: 14px;}
.btn-wrap input:checked + label {background-color: var(--primary-color); color: #fff;}

/* ====== 서비스 이용약관 ====== */

.all-ag {padding: 15px 20px; border: 1px solid #573cfa; border-radius: 5px; margin-bottom: 20px;}
.all-ag input + label {display: flex; align-items: center; gap: 10px;}
input + label em {background: url(../img/chkbx.png) no-repeat center/cover; width: 23px; height: 23px;flex-shrink: 0;}
input:checked + label em {background: url(../img/chkbx_on.png) no-repeat center/cover; width: 23px; height: 23px; flex-shrink: 0;}
.all-ag input:checked + label p {font-weight: 600;}
input[type="radio"] + label em {background: url(../img/radio.png) no-repeat center/cover; width: 21px; height: 21px;}
input[type="radio"]:checked + label em {background: url(../img/radio_on.png) no-repeat center/cover; width: 21px; height: 21px;}

.sub-ag ul {display: flex; flex-direction: column; gap: 15px;}
.sub-ag ul li {display: flex; align-items: center; justify-content: space-between; gap: 8px;}
.sub-ag ul li span {font-size: 12px; text-decoration: underline; color: #757575; cursor: pointer;}
.sub-ag ul li label {display: flex; align-items: center; gap: 8px;}
.sub-ag ul li input + label em {background: url(../img/sub_chk.png) no-repeat center/cover; width: 15px; height: 9px; flex-shrink: 0;} 
.sub-ag ul li input:checked + label em {background: url(../img/sub_chk_on.png) no-repeat center/cover; width: 15px; height: 9px;} 

.sub-ag ul li input + label p {font-size: 15px; font-weight: 400;}
.sub-ag ul li input:checked + label p {font-weight: 600;}

/* ====== 접근권한설정 ====== */

.in-tit-wrap {display: flex; flex-direction: column; gap: 8px;}
.in-tit-wrap span {font-size: 15px; color: #8d8d8d;}
.authen ul {display: flex; flex-direction: column; gap: 30px;}
.authen ul li {display: flex; align-items: flex-start; gap: 10px;}
.authen ul li em {width: 22px; flex-shrink: 0;}
.authen ul li div {display: flex; flex-direction: column; gap: 5px;}
.authen ul li div p {font-size: 16px; font-weight: 600;}
.authen ul li div span {font-size: 14px; color: #666; font-weight: 400;}

/* ====== 아이디/비밀번호 찾기 ====== */
.l-tab {border-bottom: 1px solid #eee;  width: 100%; overflow: hidden; background-color: #fff;}
.l-tab ul {display: flex; overflow-y: auto;padding: 0 20px;}

/* 스크롤바 안보이게 xxxxxx */
.l-tab ul::-webkit-scrollbar {
    display: none;
}
.l-tab ul li {flex-grow: 1; text-align: center; padding: 10px; font-size: 15px; color: #aaa;cursor: pointer;}
.l-tab ul li.on {border-bottom: 2px solid #573cfa; color: var(--primary-color); font-weight: 500;;}
.sub-in p {font-size: 15px; color: #8d8d8d;}
.id-info {width: 100%; height: 100px; background-color: #f8f8f8; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 600;}

/* ====== 가입완료 ====== */
.done {display: flex; align-items: center; flex-direction: column; margin-top: 150px;}
.done em {width: 90px; margin-bottom: 20px;}
.done .done-txt {display: flex; flex-direction: column; align-items: center; gap: 10px;}
.done .done-txt h3 {font-family: var(--font-primary1); text-align: center; font-size: 21px;}
.done .done-txt h3 b {font-family: var(--font-primary2); color: var(--primary-color);}
.done .done-txt span {font-size: 14px; color: #555;}

/* ====== 펫친구등록 ====== */

.pet-profile {display: flex; position: relative; width: 165px; height: 165px; margin: 0 auto;}
.pet-profile em {width: 100%; height: 100%; border-radius: 6px; overflow: hidden;cursor: pointer;}
.pet-profile span {background: url(../img/camera.png) no-repeat center/cover; width: 28px; height: 28px; position: absolute; bottom: 10px; right: 9px;}

.sel-wrap {display: flex; gap: 5px;}
.sel-wrap select {flex-grow: 1; border: 1px solid #ddd; border-radius: 6px; padding: 10px; height: 50px; background: url(../img/sel-angle.png) no-repeat; background-position: 91% 50%; background-size: 12px 12px; font-size: 15px; font-family: inherit;}

.p-gender {display: flex; justify-content: space-around;}
.p-gender div label {display: flex; gap: 10px; display: flex; flex-direction: column; align-items: center;cursor: pointer;}
.p-gender div label p {font-size: 14px; color: #aaa;}
.p-gender div input:checked + label p {font-weight: 500; color: #222;}
.p-gender div.pet-m input + label em {background: url(../img/gender_m.png) no-repeat center/cover; width: 115px; height: 115px; } 
.p-gender div.pet-m input:checked + label em {background: url(../img/gender_m_on.png) no-repeat center/cover; width: 115px; height: 115px; } 
.p-gender div.pet-w input + label em {background: url(../img/gender_w.png) no-repeat center/cover; width: 115px; height: 115px; } 
.p-gender div.pet-w input:checked + label em {background: url(../img/gender_w_on.png) no-repeat center/cover; width: 115px; height: 115px; } 

.my-pet {display: flex; align-items: center; gap: 15px; padding: 20px; border: 1px solid #eee; border-radius: 6px; position: relative; flex-direction: column;}
.edit-btn {font-size: 14px; color: #3f3f3f; padding: 5px 8px; border-radius: 3px;  background-color: #f4f4f4;cursor: pointer;}
.my-pet .edit-btn {position: absolute; top: 15px; right: 15px;}
.my-pet .pet-img {aspect-ratio: 1 / 1; width: 30%; border-radius: 6px; overflow: hidden; flex-shrink: 0;}
.my-pet .my-pet-info {display: flex; flex-direction: column; gap: 5px; align-items: center;}
.my-pet .my-pet-info .pet-name {display: flex; align-items: center; gap: 5px;}
.my-pet .my-pet-info .pet-name li:first-child {font-size: 16px; font-weight: 500;}
.my-pet .my-pet-info .pet-name .age {font-size: 14px; color: #666;}
.gender-w {background: url(../img/gender-w.png) no-repeat center/cover; width: 10px; height: 15px;}
.gender-m {background: url(../img/gender-m.png) no-repeat center/cover; width: 10px; height: 15px;}
.my-pet-info ul.p-kind {display: flex;}
.my-pet-info ul.p-kind li {display: flex; gap: 5px; padding: 0 7px; position: relative;}
.my-pet-info ul.p-kind li.kind {font-size: 14px; color: #666; font-weight: 600;}
.my-pet-info ul.p-kind li p {font-size: 14px; font-weight: 500; color: #666;}
.my-pet-info ul.p-kind li span {font-size: 14px; font-weight: 600; color: #666;}
.my-pet-info ul.p-kind li:last-child::after {content: ""; display: block; width: 2px; height: 2px; border-radius: 50%; background-color: #ddd; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.my-pet-info .etc {display: flex; align-items: center; flex-wrap: wrap; row-gap: 5px; column-gap: 5px; margin-top: 10px;}
.my-pet-info .etc li {font-size: 14px; color: #666; padding: 5px 8px; position: relative; border: 1px solid #eee; border-radius: 3px;}
/* .my-pet-info .etc li:first-child {padding-left: 0;} */
/* .my-pet-info .etc li:last-child::after {content: ""; display: block; width: 2px; height: 2px; border-radius: 50%; background-color: #d9d9d9; position: absolute; top: 50%; left: -1px; transform: translateY(-50%);} */

.my-pet-info {display: flex; flex-direction: column; gap: 8px;}
.info {padding: 15px; border-radius: 6px; background-color: #F2F3FF; display: flex; align-items: center; gap: 5px;}
.info em {background: url(../img/info.png) no-repeat center/cover; width: 12px; height: 12px;}
.info p {font-size: 13px; color: #4b4b4b; font-weight: 500;}

.personal {display: flex; flex-direction: column; gap: 10px;}
.personal label {padding: 13px 8px; border-radius: 6px; border: 1px solid #ddd; color: #aaa; text-align: center;cursor: pointer;}
.personal input:checked + label {background: var(--primary-color); color: #fff;}

.pet-info select {cursor: pointer;}



.commu-sticky {position:sticky;top:55px;z-index: 1000;}
.commu-search {position:static}

#alert_modal {z-index: 99999;}


.intro_bg {width:100%;height: 100vh;}
.intro_bg div {width:100%;height:100vh;position:absolute;}
.splash01 {background:#fff;z-index:9}
/* .splash02 {background:#573cfa;z-index:10} */
.intro_bg figure {position:absolute;width:100%;top:50%;transform:translateY(-50%);left:0;}
.intro_bg figure img {width:100%;height:100%;display:block;object-fit: cover;}




/* .splash02 {
    opacity:1;
    animation: splash 0.7s ;
    animation-iteration-count: 1;
}

@keyframes splash {
    0% {
        opacity:0;
    }
    
    95% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
} */



@media screen and (min-width: 860px) {
   .pc-wrap .personal {flex-direction: row; flex-wrap: wrap;}
   .pc-wrap .personal label {width: calc((100% - 10px) / 2);}
   .pc-wrap .pet-info {padding-bottom: 80px;}

   .pc-wrap .join-wrap {padding-bottom: 80px;}

   .done {margin-top: 0px; padding-top: 100px;}
}


