@charset "utf-8";

/****************************************************************************************************************************************
레이어 팝업 공통
*****************************************************************************************************************************************/
#layerPopup {display: none; position: fixed; left: 0; right:0; top: 0; bottom:0; z-index: 9999; width: 100%; height: 100%;}
.layer-bg {position:relative; padding:30px 0; width:100%; height: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; background:rgba(0,0,0,0.7); overflow-y: auto;}

.layer-bg::-webkit-scrollbar {width:0; height:0; background:transparent;}
.layer-bg::-webkit-scrollbar-track {background:transparent;}
.layer-bg::-webkit-scrollbar-thumb {background:transparent;}

.layer-wrap {position: relative;}
.layer-close {position: absolute; top: 0; left:0; right:0; margin:0 auto; text-align: center; z-index: 9; transition: 0.3s; cursor: pointer;}
.layer-close > i {padding:12px 12px; font-size: 20px; color:#000; background: #62d5d0; border-radius: 50%;}

.layer-con {position: relative;}

@media (hover: hover) and (pointer: fine) {
    .layer-close:hover {transform: rotate(180deg);} 
}

/****************************************************************************************************************************************
로그인과 회원가입 팝업 공통
*****************************************************************************************************************************************/
/* intro-hd */
.intro-hd {position:relative; margin: 20px 0; width: 100%; display: flex; justify-content: center; align-items: center;}
.intro-hd > i {margin-right:5px; font-size:30px; color: #ffe761;}
.intro-hd > span {font-size: 24px; font-weight: 700; color: #fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);}

/* intro-btns */
.intro-btns {position: relative; margin:0 auto; padding:0; width: 100%; max-width: 400px;}
.intro-btns > button {position: relative; margin:0 0 15px 0; padding: 0; width:100%; height: 48px; font-weight: 600; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); border:1px solid rgba(255,255,255, 0.1); border-radius: 25px;}
.intro-btns > .intro-login {background: linear-gradient(180deg, #46c8bb, #229389); border: solid 1px #7aeae0;}
.intro-btns > .intro-login > i {color: #81fff4;}
.intro-btns > .intro-join {background: linear-gradient(180deg, #d063f9, #974bb3); border: solid 1px #e49bff;}
.intro-btns > .intro-join > i {color:#51eeff;}

@media (hover: hover) and (pointer: fine) {
    .intro-btns > .intro-login:hover {background: linear-gradient(180deg, #3bab9f, #157a71);}
    .intro-btns > .intro-join:hover {background: linear-gradient(180deg, #1398c9, #015879);}
}


/****************************************************************************************************************************************
로그인과 추천인코드
*****************************************************************************************************************************************/
.intro-wrap {position:relative; margin:50px auto 0 auto; padding: 20px; width: 740px; display:flex; justify-content: center; align-items: center; background: #1fa498; border: 1px solid #81d8d0; border-radius: 30px; box-shadow: 0 2px 10px rgba(59, 119, 113, 1.0); overflow: hidden;}
.intro-wrap::before {content:''; position:absolute; left: 0; top: 0; width: 100%; height: 100%; background: url('../img/main-bg.jpg') top center no-repeat; background-size: contain;  mask-image: linear-gradient(rgba(0, 0, 0, 1.0) 0 20%, rgba(0, 0, 0, 0) 50% 100%); opacity: 0.4;}

.intro-body {position:relative; margin:0 auto; padding:30px 30px; width: 100%;}

.popup-logo {margin:30px auto; width: 100% !important; display:flex; justify-content: center; align-items: center;}

.intro-form {position: relative; margin:0; padding:60px 30px; width: 100%; background: #fff; border-radius: 30px; overflow: hidden;}
.intro-form::before {content:''; position:absolute; left: 10px; top: 10px; right:10px; bottom: 10px; width: calc(100% - 20px); height: calc(100% - 20px); background: linear-gradient(180deg, #ceedf2, #ffffff, #ffffff); border-radius: 30px 30px 0 0;}

ul.intro-list {position: relative; margin:0 auto; padding:0; width: 100%; max-width: 400px;}
ul.intro-list > li {position: relative; margin:0 0 15px 0; padding: 0; width: 100%; height: 45px; display: flex; align-items: center; background:#fff; border: solid 1px #c0d9dc; border-radius: 10px;}
ul.intro-list > li > i {padding:0 15px; font-size:18px; color: #0080ab; border-right: solid 1px #c0d9dc;}
ul.intro-list > li > input {padding:0 15px; width: 100%; font-family:"Noto Sans KR"; font-weight: 600; color:#000; background: none; border: none;}
ul.intro-list > li > input:focus {outline: none; font-weight: 600;}
ul.intro-list > li > input::placeholder {color:#aabfc3;}


/****************************************************************************************************************************************
회원가입
*****************************************************************************************************************************************/
.join-wrap {position:relative; margin:50px auto 0 auto; padding:30px 30px; width: 1200px; text-align: center; background: #1fa498; border: 1px solid #81d8d0; border-radius: 30px; box-shadow: 0 2px 10px rgba(59, 119, 113, 1.0); overflow: hidden;}
.join-wrap::before {content:''; position:absolute; left: 0; top: 0; width: 100%; height: 100%; background: url('../img/main-bg.jpg') top center no-repeat; background-size: contain;  mask-image: linear-gradient(rgba(0, 0, 0, 1.0) 0 20%, rgba(0, 0, 0, 0) 50% 100%); opacity: 0.4;}

.join-form {position:relative; margin:0 auto; padding:30px 30px; width: 100%; background: #fff; border-radius: 30px; border-radius: 30px; overflow: hidden;}
.join-form::before {content:''; position:absolute; left: 10px; top: 10px; right:10px; bottom: 10px; width: calc(100% - 20px); height: calc(100% - 20px); background: linear-gradient(180deg, #ceedf2, #ffffff, #ffffff); border-radius: 30px 30px 0 0;}

ul.join-list {position: relative; margin:0 auto 40px auto; padding:0; width: 100%; display: flex; flex-wrap: wrap; gap:10px; justify-content: space-between;  align-items: center;}
ul.join-list > li {position: relative; margin:0 0 10px 0; padding: 0; width: calc(100% / 2 - 10px);}
ul.join-list > li > label {display: block; margin: 0 auto 8px auto; padding:0 10px; width: 100%; text-align: left; font-weight: 600; color: #0080ab;}
.input-list {width:100%; height: 45px; display: flex; align-items: center; background:#fff; border: solid 1px #c0d9dc; border-radius: 10px;}
.input-list > i {padding:0 15px; font-size:18px; color: #0080ab; border-right: solid 1px #c0d9dc;}
.input-list > input {padding:0 15px; width: 100%; color:#fff; font-family:"Noto Sans KR"; background: none; border: none;}
.input-list > input:focus {outline: none;}
.input-list > input::placeholder {color:#aabfc3; font-weight: 600;}

.select-list {width:100%; height: 45px; display: flex; align-items: center; background:#fff; border: solid 1px #c0d9dc; border-radius: 10px;}
.select-list > select {padding:0 15px; width: 100%; font-family:"Noto Sans KR"; background: none; border: none;}
.select-list > select:invalid {color:#aabfc3; font-weight: 600;}
.select-list > select:focus {outline: none;}
.select-list > select > option {color: #000; background: #fff;}

.phone-list > select,
.phone-list > input {padding:0 5px; width: calc(100% / 3 - 10px); height: 90%; color:#000; background: none; border:none; border-left: solid 1px #c0d9dc;}
.phone-list > select {border: none;}


/****************************************************************************************************************************************
board-wrap
*****************************************************************************************************************************************/
.board-wrap {position:relative; margin:50px auto 0 auto; padding:50px 30px; width: 1200px; min-height: 800px; text-align: center; background: #1fa498; border: 1px solid #81d8d0; border-radius: 30px; box-shadow: 0 2px 10px rgba(59, 119, 113, 1.0); overflow: hidden;}
.board-wrap::before {content:''; position:absolute; left: 0; top: 0; width: 100%; height: 100%; background: url('../img/main-bg.jpg') top center no-repeat; background-size: contain;  mask-image: linear-gradient(rgba(0, 0, 0, 1.0) 0 20%, rgba(0, 0, 0, 0) 50% 100%); opacity: 0.4;}
.board-inner {position: relative; margin:0 auto; width: 100%; display: flex; justify-content: center;}

/* board-left */
.board-left {width: 280px;}
.board-left > h3 {margin:0 auto; padding:10px 10px; width: 80%; text-align: center; font-size: 18px; font-weight: 600; color:#fff; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25); background: #5ebeb5; border-radius: 15px;}

ul.bo-menu {position: relative; margin: 30px auto; padding:0; width: 100%;}
ul.bo-menu > li {position: relative; margin:0; padding:0 0 0 30px; width: 100%; height: 50px; display: flex; justify-content: flex-start; align-items: center; font-size: 16px; font-weight: 500; color:#fff; cursor: pointer;}
ul.bo-menu > li > i {margin:3px 5px 0 0; font-size: 18px; color: #81fff4;}
ul.bo-menu > li.active {color: #107f75; background: #fff; border-radius: 25px 0 0 25px;}
ul.bo-menu > li.active > i {color: #107f75;}

@media (hover: hover) and (pointer: fine) {
    ul.bo-menu > li:hover > i {color:#fff64c; animation: shakeAnim 1s ease 1;}
    ul.bo-menu > li.active:hover,
    ul.bo-menu > li.active:hover > i {color: #107f75; animation:unset;}
}

@keyframes shakeAnim {
    0% {transform: rotate(0deg);}
    25% {transform: rotate(20deg);}
    50% {transform: rotate(-10deg);}
    75% {transform: rotate(5deg);}
    100% {transform: rotate(0deg);}
}

/* board-right */
.board-right {position:relative; margin:0; padding:20px 20px; width: calc(100% - 280px); min-height: 698px; background: #fff; border-radius: 40px;}
.boRight-inner {position:relative; margin:0; padding:20px 20px; width: 100%; background: #fff; border-radius: 40px;}

/* page-tit */
.page-tit {margin-bottom:15px; padding:0 0 15px 0; width: 100%; display: flex; justify-content: center; align-items: center; font-size: 28px; font-weight: 600; color:#0a7066;}
.page-tit > i {margin:5px 5px 0 0; font-size: 38px; color:#0a7066}

/* bo-guide */
.bo-guide {margin-bottom:10px; padding:20px 20px; width: 100%; text-align: center; color: #d5fbff; background: linear-gradient(180deg, #25c0cf, #1c8eb9); box-shadow: 0 0 0 3px rgba(36, 190, 206, 0.25); border-radius: 20px;}
.guide-tit {margin-bottom:15px; width: 100%; display: flex; justify-content: flex-start; align-items: center; font-size:16px; font-weight: 600; color:#fff59a; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);}
.guide-tit > i {margin:5px 5px 0 0; font-size: 20px;}
ul.guide-list {display: list-item; position: relative; margin:0 0 0 20px; padding:0; width:calc(100% - 20px); text-align: left;}
ul.guide-list > li {list-style-type: "▶"; padding:0 0 0 10px; line-height: 1.8; display: flex; align-items: center; font-weight: 500; color:#d5fbff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);}
.ask-btn {margin-left:5px; padding:0 15px; line-height: 30px; font-size: 13px; font-weight: 600; color: #8b580c; background: #fffac9; border-radius: 15px;}

/*  chage-tb */
.chage-tb {margin: 20px 0; width: 100%; border-top:2px #0d9d99 solid;}
.chage-tb th,
.chage-tb td {padding:10px 10px; border-bottom: 1px #c0d9dc solid;}
.chage-tb th {width: 150px; text-align: center; font-weight: 600; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); background: #0d9d99;}
.chage-tb td {width: calc(100% - 150px); text-align: left;}
.chage-tb td > input {margin:0 auto; padding:10px 10px; width: 100%; text-align: left; font-weight: 500; background: #f3fffe; border: 1px #c0d9dc solid; border-radius: 8px;}
.chage-tb td > input::placeholder {color:#a7c3c7;}

/* ul.moneyBtns */
ul.moneyBtns {position: relative; margin:15px auto 0 auto; padding:0; width: 100%; display: flex; flex-wrap: wrap; gap:5px; justify-content: center; align-items: center;}
ul.moneyBtns > li {margin:0 auto; padding:10px 0; width: calc(100% / 6 - 5px); text-align: center; font-weight: 600; color:#056b62; background: #d4ecee; border-radius: 5px; cursor: pointer;}
ul.moneyBtns > li.btn-reset {color:#fff; background: #d54a34;}

/* list-tb */
.list-tb {margin: 20px 0; width: 100%;}
.list-tb tbody tr {background: #f3fffe; border-bottom: 1px #c0d9dc solid; cursor: pointer;}
.list-tb th,
.list-tb td {padding:10px 5px; font-weight:600;}
.list-tb th {color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); background: #0d9d99;}
.list-tb td {color:#555;}
.list-tb td.td_cursor {cursor: pointer;}
.list-tb td.td_cursor > p {width: 300px; font-weight: 600; text-align:left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.list-tb td.td_meg {padding:10px 5px; text-align: left; font-weight:600; cursor: pointer;}
.list-tb td.td_meg > font,
.list-tb td.td_meg > span {display: inline-flex;}
.list-tb td.td_meg > span {margin-left:10px; width: 350px; height: 100%; font-weight: 600; text-align:left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

/* 메세지 토굴 */
.meg-view {display: none; background:#fbfbfb;}
.meg-view td {margin:0 auto; padding:10px 5px; width: 100%; height: 100px; text-align: center; font-weight: 600;}

.txt-finish,
.meg-read {font-weight: 600; color:#3a3a3a;}
.txt-cancel,
.meg-important {font-weight: 600; color:#e91e63;}

/* view-tb */
.view-tb {margin: 20px 0; width: 100%;}
.view-tb tbody tr {cursor: pointer;}
.view-tb th,
.view-tb td {padding:10px 5px; text-align: center; font-weight:600;}
.view-tb th {color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); background: #0d9d99;}
.view-tb td {background: #f3fffe; border-bottom: 1px #c0d9dc solid;}

/* write-tb */
.write-tb {margin: 20px 0; width: 100%; border-top:2px #0d9d99 solid;}
.write-tb th,
.write-tb td {padding:10px 10px; border-bottom: 1px #c0d9dc solid;}
.write-tb th {width: 150px; font-weight: 600; text-align: center; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); background: #0d9d99;}
.write-tb td {width: calc(100% - 150px); text-align: left;}
.write-tb td > input {margin:0 auto; padding:10px 10px; width: 100%; text-align: left;background: #f3fffe; border: 1px #c0d9dc solid; border-radius: 8px;}
.write-tb td > textarea {margin:0 auto; padding:10px 10px; width: 100%; height: 150px; text-align: left; background: #f3fffe; border: 1px #c0d9dc solid; border-radius: 8px;}
.write-tb td > input::placeholder,
.write-tb td > textarea::placeholder {color:#a7c3c7;}

/* board-btn  */
.board-btn {position: relative; margin:30px auto 50px auto; padding:0; width: 100%; display: flex; gap:5px; justify-content: center; align-items: center;}
.board-btn > button {margin:0; padding:10px 20px; min-width: 150px; text-align: center; font-weight: 600; color:#fff; border-radius: 25px;}

 @media (hover: hover) and (pointer: fine) {
    .ask-btn:hover,
    ul.moneyBtns > li:hover {color: #fff; background: #37a5af;}
    ul.moneyBtns > li.btn-reset:hover {background: #ff6249;}

    .list-tb tbody tr:hover {background: #e6fffe;}
    .list-tb td.td_cursor:hover,
    .list-tb td.td_meg > span:hover {text-decoration: underline;}
    .board-btn > button:hover {filter: brightness(120%);}
}

/****************************************************************************************************************************************
미디어쿼리문 시작
*****************************************************************************************************************************************/
@media (max-width:1230px) {
    .layer-bg {padding: 30px 15px;}
    .join-wrap, 
    .board-wrap,
    .layer-wrap {width: 100%;}
}/* 미디어쿼리문 끝 */

@media (max-width:992px) {
    .layer-bg {padding:20px 5px;}    

    .intro-hd > i,
    .intro-hd > span {font-size: 18px;}

    .join-wrap {margin:40px 5px 0 5px; padding:20px 5px; width: calc(100% - 10px);}
    .join-form {padding: 40px 30px;}
    ul.join-list {margin: 0 auto 20px auto; gap:5px; flex-direction: column;}
    ul.join-list > li {width: 100%;}
    .input-list {height: 40px;}
    .input-list > i {padding:0 10px;}

    .board-wrap {padding:0 5px; background: none; border: none; border-radius: 0;}
    .board-inner {display: block; justify-content: unset;}
    .board-left {display: none;}
    .board-right {width: 100%; padding:20px 10px; border-radius: 0;}
    .boRight-inner {padding:0; border-radius: 0;}
}/* 미디어쿼리문 끝 */

@media (max-width:767px) {
    .intro-wrap {margin:40px 15px 0 15px; padding:20px 5px; width: calc(100% - 30px);}
    .intro-left {display: none;}

    .intro-form {padding:30px 15px; width: 100%;}

    ul.intro-list {width: 100%;}
    
    ul.intro-list > li > i {padding:0 10px;}

    .board-wrap {min-height: auto;}
    .board-right {min-height: 500px;}

    .page-tit {margin-bottom: 5px; padding:10px 5px; font-size: 18px;}
    .page-tit > i {font-size: 22px;}

    .bo-guide {padding:10px 10px;}
    .guide-tit {margin-bottom: 5px;}
    .guide-tit,
    ul.guide-list > li,
    ul.guide-list > li::marker {font-size: 13px; line-height: 1.3}
    ul.guide-list > li {display: block;}
    .ask-btn {display:block; margin:5px 0 0 0; width: 100%; line-height: 35px;}

    .chage-tb th {padding:10px 5px; width: 20%; font-size: 12px;}
    .chage-tb td {padding:10px 5px; width:80%; font-size: 13px;}
    .chage-tb td > input {padding:10px 5px; font-size: 13px;}

    ul.moneyBtns {gap:3px;}
    ul.moneyBtns > li {padding:8px 0; width: calc(100% / 3 - 3px); font-size: 13px;}

    .list-tb {margin:5px 0;}
    .list-tb th, 
    .list-tb td {padding:8px 2px;}
    .list-tb th {font-size: 12px;}
    .list-tb td {font-size: 13px;}
    .list-tb td.td_cursor > p,
    .list-tb td.td_meg > span {width: 150px;}
    .list-tb td.td_meg > span {margin-left:5px; font-size: 13px;}
    .list-tb td.td_meg > font {font-size: 13px;}

    .charge-list {margin-top: 20px;}
    .mo-hid {display: none;}

    .view-tb {margin:5px 0;}

    .write-tb th {padding:10px 5px; width: 20%; font-size: 12px;}
    .write-tb td {padding:10px 5px; width:80%; font-size: 13px;}
    .write-tb td > input,
    .write-tb td > textarea {font-size: 13px;}

    .board-btn {margin:20px 0 0 0;}
    .board-btn > button {padding:10px 20px; min-width: auto; font-size: 13px;}    
}/* 미디어쿼리문 끝 */

@media (max-width:639px) {
    .popup-logo {margin:20px auto;}
    .intro-body {padding:20px 10px;}
    .intro-form {padding:40px 30px 20px 30px;}
    .join-form {padding: 40px 20px;}

    ul.intro-list,
    .intro-btns  {max-width: 100%;}
}/* 미디어쿼리문 끝 */

@media (max-width:430px) {
    .list-tb td.td_cursor > p,
    .list-tb td.td_meg > span {width: 170px;}
}/* 미디어쿼리문 끝 */