@charset "utf-8";

#bo_v_bot	{ padding: 20px 0; overflow: hidden; }
.bo_v_nb	{ float: left; }
.bo_v_com	{ float: right; }


@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'TTHakgyoansimKkwabaegiR';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2402_keris@1.0/TTHakgyoansimKkwabaegiR.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'KyoboHand';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@1.0/KyoboHand.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'yleeMortalHeartImmortalMemory';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2205@1.0/yleeMortalHeartImmortalMemory.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'GongGothicMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* list 스타일 */
#navi_category { text-align: center; padding: 20px 0; }
#navi_category li { display: inline-block; padding: 0 20px; }

.cha_list {margin-bottom: 20px;}
.cha_list * {box-sizing: border-box;}
.cha_list .cha_cate {margin-bottom: 0.6rem; font-size: 2rem; font-weight: bold; line-height: 1.5; color: #fff;}

.ul_pair {display: flex; gap: 10px 1%; flex-wrap: wrap; margin-bottom: 2rem;}
.ul_pair:last-child {margin-bottom: 0;}

.ul_pair > li {position: relative; width: 19.2%;}
.ul_pair > li > a {display: block; width: 100%; height: 300px; overflow: hidden; position: relative; border-radius: 10px 10px 0 0; transition: all 0.3s; border-bottom: 4px solid #333; box-shadow: 0 0 7px rgba(0,0,0,0.2);}
.ul_pair > li > a:hover .back_img img,
.ul_pair > li > a:focus .back_img img {transform: scale(1.05,1.05);}

.ul_pair > li .adm_btn {position: absolute; bottom: 7px; right: 5px; z-index: 2;}
.ul_pair > li .adm_btn a {display: inline-flex; align-items: center; justify-content: center; font-size: 10px; margin: 0 3px;}


.ul_pair > li .cha_info {position: absolute; bottom: 0; width: 100%; padding: 5px 10px; color: #333; word-break: keep-all; z-index: 1; line-height: 1;}
.ul_pair > li .cha_info .cha_name {position: relative; font-family: 'GongGothicMedium'; font-size: 1.4rem; z-index: 1; letter-spacing: -0.05em; word-break: keep-all;}
.ul_pair > li .cha_info .cha_sub {font-size: 1.7rem; font-family: 'yleeMortalHeartImmortalMemory'; margin-top: -7px;}
.ul_pair > li .back_img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(255,255,255,0.9), rgba(255,255,255,0.5)); backdrop-filter: blur(10px);}
.ul_pair > li .back_img .back_color {position: absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(to top, white 15%, rgba(16, 16, 20,0) 45%)}
.ul_pair > li .back_img img {width: 100%; height: 85%; object-fit: cover; transition: all 0.3s;}
.ul_pair > li .back_img .pic_source {position: absolute; top: 5px; left: 5px; color: #fff; font-size: 11px; text-shadow: 0 0 2px black; font-family: 'Pretendard';}


@media (max-width:768px) {
    .ul_pair > li {width: calc(25% - 3%/4)}
}

@media (max-width:576px) {
    .ul_pair > li {width: calc(33.33% - 2% /3);}
    .ul_pair > li .cha_info .cha_name {font-size: 1.2rem;}
}

@media (max-width:412px) {
    .ul_pair {gap: 10px 2%;}
    .ul_pair > li {width: 49%;}
}


/* view 스타일 */

#hidden_capture {position: fixed;top: -9999px;left: -9999px; max-width: 980px; width: 100%;}
#cha_bgm {position: absolute;width: 1px; height: 1px; overflow: hidden; opacity: 0;}

.cha_wrap {position: relative; margin: 0 auto; max-width: 980px; border-radius: 11px 11px 10px 10px; background: #fff; font-size:14px; line-height: 1; font-family: 'Pretendard'; min-height: max-content; border-bottom: 15px solid #333;}
.cha_wrap * {box-sizing: border-box;}
.cha_viewer .cha_title {position: relative; height: 40px; background: #333; border-radius: 10px 10px 0 0;}

.cha_viewer .cha_title .cha_typo img {max-height: 200px;}

.cha_viewer .cha_title .cha_btn_wrap {position: absolute; display: flex; justify-content: space-between; top: 10px; padding: 0 10px; width: 100%; z-index: 5;}
.cha_viewer .cha_title .cha_btn_wrap .cha_btn {display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; width: 22px; height: 22px; background: #fff; font-size: 12px;}



/* 공통 */
.pic_source {position: absolute; top: 8px; left: 8px; color: #fff; font-size: 11px; text-shadow: 0 0 2px black;}
.cha_box:has(.hide) {padding-bottom: 10px;}

/* 캐릭터 레이아웃 */
.ch_profile_wrap {display: flex; flex-wrap:wrap; gap: 10px; padding: 15px 15px 30px; color: #333; word-break: keep-all;}
.cha_move .ch_profile_wrap .cha_img_box:not(:has(div)),
.cha_move .ch_profile_wrap .cha_bottom_box:not(:has(div)) {display: flex; padding: 10px 0;}
.ch_profile_wrap .cha_img_box:not(:has(div)),
.ch_profile_wrap .cha_bottom_box:not(:has(div)) {display: none;}
.ch_profile_wrap .cha_img_box:has(div) {display: flex; flex-direction: column; gap: 10px; padding-bottom: 10px;}
.ch_profile_wrap .cha_bottom_box:has(div) {display: flex; flex-direction: column; gap: 10px; padding-top: 10px;}
.ch_profile_wrap .cha_img_wrap {position: relative; width: 100%;}
.ch_profile_wrap .cha_img_wrap .cha_img {overflow: hidden; position: relative; border-radius: 10px; height: 22vw; max-height: 220px;}
.ch_profile_wrap .cha_img_wrap .cha_img img {width: 100%; height: 100%; object-fit: cover;}

.ch_profile_wrap .cha_body {position: relative; width: 46%; display: flex; flex-direction: column; gap: 10px;}
.ch_profile_wrap .body_img {overflow: hidden; position: relative; height: 100%; display: flex; align-items: center; justify-content: center;}

.ch_profile_wrap .cha_head {display: flex; justify-content: space-between;}
.ch_profile_wrap .cha_head > div {overflow: hidden; position: relative; border-radius: 10px; padding-top: 49%; width: 49%; background: #f5f5f5;}
.ch_profile_wrap .cha_head > div img {position: absolute; top: 0; left: 0; width: 100%; top: 50%; transform: translateY(-50%);}

.ch_profile_wrap .cha_profile {width: calc(54% - 10px); display: flex; flex-direction: column; gap: 20px;}

.ch_profile_wrap .cha_basic {position: relative;}
.ch_profile_wrap .cha_basic > div {position: relative; padding: 10px 0 10px 15px;}
.ch_profile_wrap .cha_basic > div:before {content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; border-radius:10px; background: #eee;}
.ch_profile_wrap .cha_basic > ul {padding: 10px 0 10px 0;}
.ch_profile_wrap .cha_basic .cha_name {font-size: 1.3em; font-weight: 600;}
.ch_profile_wrap .cha_basic .cha_name span {display: inline-block; font-weight: 300; font-size: 0.7em; font-style: italic; font-family: 'KyoboHand';}
.ch_profile_wrap .cha_basic .cha_info {margin-top: 5px; font-weight: 300;}
.ch_profile_wrap .cha_basic .cha_keyword {display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; color: #999; font-weight: 300;}
.ch_profile_wrap .cha_basic .cha_link {position: absolute; top: 10px; right: 0;}
.ch_profile_wrap .cha_basic .cha_link li + li {margin-top: 2px;}

.ch_profile_wrap .cha_character {position: relative; margin:10px 0 0; border-radius: 10px; padding: 20px 15px 10px; background: #f5f5f5;}
.ch_profile_wrap .cha_title {position: absolute; top: -12px; left: 20px; font-family: 'KyoboHand'; font-size: 1.5em; z-index: 1;}
.ch_profile_wrap .cha_phrase {position: relative; margin-bottom:15px; padding: 15px; border-radius: 15px; background: #333; font-size: 1.6em; text-align: center; font-family: 'GongGothicMedium'; line-height: 1.3;}
.ch_profile_wrap .cha_phrase:after {content:''; position: absolute; top: 99%; left: 10px;width: 35px;height: 20px;clip-path: polygon(30% 0, 100% 0, 0 100%);}
.ch_profile_wrap .cha_body .cha_phrase:after {left: auto; right: 50px;}
.ch_profile_wrap .cha_img_box .cha_phrase:after {left: 40%; transform: translateX(-50%);}

.ch_profile_wrap .cha_character_con {display: flex; gap: 10px; justify-content: space-between; line-height: 1.5;}
.ch_profile_wrap .cha_character_con .img {max-width: 200px;}

.ch_profile_wrap .etc_img {display: flex; flex-wrap: wrap; justify-content: space-between;}
.ch_profile_wrap .etc_img > div {width: 49%;}
.ch_profile_wrap .etc_img.etc_img_1 > div {width: 100%;}


/* 추가정보 */
.ch_profile_wrap .cha_theme_color {padding: 5px 10px; border-radius: 5px; width: 100%; color: #fff; background: #333; text-align: right;}
.ch_profile_wrap .cha_color .color_box {display: flex; gap: 5px; margin-top: 10px;}
.ch_profile_wrap .cha_color .color_box li {display: flex; align-items: end; justify-content: end; padding: 5px; border-radius: 5px; width: calc(33.33% - 10px/3); height: 40px; font-size:12px;}
.ch_profile_wrap .cha_ect_box dl {display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 15px; border-radius: 10px; border: 1px dashed #333;}
.ch_profile_wrap .cha_ect_box dl dt {width: 80px; padding: 4px 5px; border-radius: 5px; text-align: center; background: #333;}
.ch_profile_wrap .cha_ect_box dl dd {margin: 0; padding-top: 2px; width: calc(100% - 90px); line-height: 1.3;}
.ch_profile_wrap .cha_character > div {line-height: 1.5;}


/* 숨김기능 */
.cha_wrap .hide {display: none !important;}
.cha_view_y:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.5); z-index: 1;}
.cha_box {position: relative;}
.frame_hide {position: absolute; top: 5px; right: 5px; z-index: 10; display: none;}
.cha_view_y .frame_hide {display: block;}
.frame_hide:hover {z-index: 20;}
.frame_hide button {width: 25px; height: 25px; border-radius:20px; background: rgba(255,255,255,0.9); border: none; box-shadow: 0 0 5px rgba(0,0,0,0.5);}
.cha_row_2 .frame_hide,
.cha_row_4 .frame_hide,
.cha_sd_0 .frame_hide,
.cha_row_7 .frame_hide,
.cha_ect_box .frame_hide {left: 5px; right: auto;}


@media all and (max-width:768px) {
    .cha_viewer .cha_title .cha_btn_wrap .cha_btn.object_change {display: none;}
    .ch_profile_wrap > div {width: 100% !important;}
    .ch_profile_wrap .cha_phrase {margin: 0; font-size: 1.3em;}
    .ch_profile_wrap .cha_profile .cha_phrase:after {content: none;}
    .ch_profile_wrap .cha_img_box .cha_phrase:after {transform: none; left: auto; right: 20%;}
}

@media all and (max-width:420px) {
    .ch_profile_wrap .cha_basic .more_profile {max-width: 150px;}
}

.cha_move * {cursor: move !important;}
.cha_move .ch_profile_wrap > div > div {opacity: 0.7;}
.cha_move .ch_profile_wrap > div > div:hover {opacity: 1;}
.cha_move img {pointer-events: none;}

.resize_handle {display: none; position: absolute; top: 0; left: calc(100% + 3px); z-index: 10; height: 100%; width: 4px; background: rgba(0,0,0,0.3); border-radius: 5px; cursor: col-resize !important;}
.cha_wrap.resizing {user-select: none;}
.cha_move .resize_handle {display: block;}


.more_profile {margin-top: 20px;}
.more_profile .adm_btn,
.more_profile .cha_info,
.more_profile .back_img .back_color {display: none;}
.more_profile > li > a {height:200px; border-radius: 10px; border: none;}
.more_profile > li .back_img img {height: 100%;}


/* 글작성 */
#ca_name option[value="공지"] {display: none;}
.board-write	{  padding: 0 10px; }
.board-write h3	{font-size: 26px;text-align: center;padding: 30px 0 20px;} 
.board-write .write-notice	{padding: 10px;font-size: 11px;}
.board-write dl {position:relative; margin-bottom: 8px;}
.board-write dl > dt { width:90px;position:absolute;line-height:32px;text-align:center; }
.board-write dl > dd { width:100%;margin-left:0;padding-left:100px;box-sizing:border-box;line-height:32px;}
.board-write input.frm_input.full	{ width: 100%; display:block;margin:1px 0;}

.cha_ect_wrap {display: flex; gap: 5px; align-items: center;}
.add_cha_ect {margin: 5px auto 0;}

.square .clr-field button {width: 22px;height: 22px;left: 5px;right: auto;border-radius: 5px;}
.square .clr-field input {padding-left: 36px; width: 120px;}
.btn_fold {margin: 5px 0;}
.file_head_wrap {display: flex; gap: 10px;}
.file_head_wrap > div {width: calc(50% - 5px);}

.ui-sortable-placeholder {border: 2px dashed rgba(0,0,0,0.15); background: rgba(255,255,255,0.5);}
.loader{display: none; position: fixed;top: 0; left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0, 0.7);z-index: 9999;opacity: 1;transition: 0.5s ease;}
.loader i{font-size: 80px;position: absolute;top: 50%; left: 50%;margin: -40px 0 0 -40px;color: #fff;}

/* 라공에디션용 */
.ui-btn {display:inline-block;}