@charset "utf-8";

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

@media all and (max-width: 640px) {
#bo_v_con * {max-width:100%;}
	.bo_fx	{
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 20px 10px !important;
	}
	.bo_fx a	{
		display: block;
		width: 100%;
	}
}

@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;
}

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

.pair_list {margin-bottom: 20px;}
.pair_list * {box-sizing: border-box;}
.pair_list .pair_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%; max-width: 190px;}
.ul_pair li > a {display: block; width: 100%; height: 300px; overflow: hidden; position: relative; border-radius: 10px; box-shadow: 0 0 8px rgba(0,0,0,0.2); transition: all 0.3s;}
.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; top: 5px; right: 5px; z-index: 2;}
.ul_pair li .adm_btn a {display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.5); width: 18px; height: 18px; border-radius: 20px; box-shadow: 0 0 5px rgba(0,0,0,0.5); font-size: 10px;}
.ul_pair li .adm_btn i {color: #333;}

.ul_pair li .pair_info {position: absolute; bottom: 0; width: 100%; padding-bottom: 10px; text-align: center; color: #fff; text-shadow: 0 0 5px BLACK; word-break: keep-all;}
.ul_pair li .pair_info .pair_name {position: relative; padding: 0 10px; font-family: 'TTHakgyoansimKkwabaegiR'; font-size: 1.5rem; z-index: 1;}
.ul_pair li .pair_info .pair_sub {font-size: 1.7rem; font-family: 'yleeMortalHeartImmortalMemory';}
.ul_pair li .back_img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;}
.ul_pair li .back_img:after {content: ''; position: absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(to top, rgba(16, 16, 20,0.8) 0%, rgba(16, 16, 20,0.6) 10%, rgba(16, 16, 20,0) 55%)}
.ul_pair li .back_img img {width: 100%; height: 100%; 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);}
}

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


/* view 스타일 */
#hidden_capture {position: fixed;top: -9999px;left: -9999px; max-width: 980px; width: 100%;}

.pair_wrap {position: relative; overflow: hidden; margin: 0 auto; max-width: 980px; border-radius: 10px; background: #fff; font-size:14px; line-height: 1; font-family: 'Pretendard'; border-bottom: 15px solid #7b84af;}
.pair_wrap * {box-sizing: border-box;}
.pair_viewer .pair_title {position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px 10px 15px; background: #7b84af;}
.pair_viewer .pair_title .pair_name {font-size:2.5em; font-family: 'TTHakgyoansimKkwabaegiR';}
.pair_viewer .pair_title .subname {font-family: 'yleeMortalHeartImmortalMemory';}
.pair_viewer .pair_title .pair_keyword {display:flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 5px; font-size: 0.9em;}
.pair_viewer .pair_title .pair_btn_wrap {position: absolute; display: flex; justify-content: space-between; top: 10px; padding: 0 10px; width: 100%; z-index: 5;}
.pair_viewer .pair_title .pair_btn_wrap .pair_btn {display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; width: 22px; height: 22px; background: #fff; font-size: 12px;}

.pair_viewer .pair_img_wrap {position: relative; padding: 15px; width: 100%;}
.pair_viewer .pair_img_wrap .pair_img {overflow: hidden; position: relative; border-radius: 10px; height: 30vw; max-height: 300px;}
.pair_viewer .pair_img_wrap .pair_img img {width: 100%; height: 100%; object-fit: cover;}
.pair_viewer .pair_img_wrap .pair_sd {position: absolute; left: 50%; bottom: -100px; max-width: 220px; transform: translateX(-50%);}
.pair_viewer .pair_img_wrap .pair_sd img {width: 100%;}
.view_ul_pair {margin-top: 20px;}

@media (max-width:992px) {
    .pair_viewer .pair_img_wrap .pair_sd {max-width: 160px; bottom: -30px !important;}
}

@media (max-width:576px) {
    .pair_viewer .pair_title .pair_name {font-size: 2em;}
    .pair_viewer .pair_img_wrap .pair_sd {left: auto; right: 20px; transform: none; max-width: 100px;}
}

/* 레이아웃 */
.cha_viewer {display: grid; grid-template-columns: 1fr 120px 5px 120px 1fr; grid-template-rows: auto; gap: 10px; padding: 15px; color: #333; word-break: keep-all;}
.cha_viewer .cha_row_1 {grid-row:1;}
.cha_viewer .cha_row_2 {grid-row:2;}
.cha_viewer .cha_row_3 {grid-row:3;}
.cha_viewer .cha_row_4 {grid-row: 4;}
.cha_viewer .cha_sub {grid-row:5;}
.cha_viewer .cha_row_6 {grid-row:6;}
.cha_viewer .cha_sd {grid-row: 2 / 5; grid-column: 2 / 5;}
.cha_viewer .cha_right {grid-column: 5;}
.cha_viewer .cha_sub.cha_left,
.cha_viewer .cha_row_6.cha_left {grid-column: 1 / 3;}
.cha_viewer .cha_sub.cha_right,
.cha_viewer .cha_row_6.cha_right {grid-column: 4 / 6;}
.cha_viewer .cha_row_7 {grid-column: 1 / 6;}

@media (max-width:992px) {
    .cha_viewer {grid-template-columns: 1fr 1fr;}
    .cha_viewer .cha_right {grid-column: 2;}
    .cha_viewer .cha_sub.cha_left,
    .cha_viewer .cha_row_6.cha_left {grid-column: 1;}
    .cha_viewer .cha_sub.cha_right,
    .cha_viewer .cha_row_6.cha_right {grid-column: 2;}
    .cha_viewer .cha_row_7 {grid-column: 1 / 3;}
    .cha_viewer .cha_sd {grid-row: 8; grid-column: 1 / 3;}
}

@media (max-width:576px) {
    .cha_viewer {display: flex; flex-direction: column; gap: 10px;}
}

/* 공통 */
.cha_left, .cha_right {position: relative;}
.cha_viewer .cha_title {position: absolute; top: -12px; left: 20px; font-family: 'KyoboHand'; font-size: 1.5em; z-index: 1;}
.cha_viewer .cha_app ul,
.cha_viewer .cha_character,
.cha_viewer .cha_relation {position: relative; margin-top: 20px; border-radius: 10px; padding: 20px 15px 10px; background: #f5f5f5;}
.pic_source {position: absolute; bottom: 8px; left: 8px; color: #fff; font-size: 11px; text-shadow: 0 0 2px black;}


/* 기본정보 */
.cha_viewer .cha_basic {position: relative; padding: 10px 0;}
.cha_viewer .cha_basic:before {content: ''; position: absolute; top: 0; width: 4px; height: 100%; border-radius:10px; background: #eee;}
.cha_viewer .cha_basic .cha_name {font-size: 1.3em; font-weight: 600;}
.cha_viewer .cha_basic .cha_name span {display: inline-block; font-weight: 300; font-size: 0.7em; font-style: italic; font-family: 'KyoboHand';}
.cha_viewer .cha_basic .cha_info {margin-top: 5px; font-weight: 300;}
.cha_viewer .cha_basic .cha_keyword {display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; color: #999; font-weight: 300;}

.cha_viewer .cha_left.cha_basic {padding-left: 15px;}
.cha_viewer .cha_right.cha_basic {padding-right: 15px; text-align: right;}
.cha_viewer .cha_right.cha_basic .cha_keyword {justify-content: end;}
.cha_viewer .cha_left.cha_basic:before {left: 0;}
.cha_viewer .cha_right.cha_basic:before {right: 0;}

/* 캐릭터 이미지 */
.cha_viewer .cha_body {overflow: hidden; display: flex; align-items: center; justify-content: center; border-radius: 20px; background: #f5f5f5; height: 100%;}
.cha_viewer .cha_body img {max-height: 100%; max-width: 100%;}
.cha_viewer .cha_head {display: flex; justify-content: space-between;}
.cha_viewer .cha_head > div {overflow: hidden; position: relative; border-radius: 10px; padding-top: 49%; width: 49%; background: #f5f5f5;}
.cha_viewer .cha_head > div img {position: absolute; top: 0; left: 0; width: 100%;}
.cha_viewer .cha_sd {display: flex; flex-direction: column; justify-content: center; gap: 10px; text-align: center;}

/* 외형정보 */
.cha_viewer .cha_app > div {position: relative; margin-top: 15px;}
.cha_viewer .cha_app ul {margin-top: 0;}
.cha_viewer .cha_app ul li {position: relative; padding-left: 10px; line-height: 1.5;}
.cha_viewer .cha_app ul li:before {content: '-'; position: absolute; left: 0; top: 0; font-weight: bold;}

/* 추가정보 */
.cha_viewer .cha_theme_color {padding: 5px 10px; border-radius: 5px; width: 100%; color: #fff; background: #333; text-align: right;}
.cha_viewer .cha_sub .color_box {display: flex; gap: 5px; margin-top: 10px;}
.cha_viewer .cha_sub .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;}
.cha_viewer .cha_sub dl {display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin-top: 10px; padding: 15px; border-radius: 10px; border: 1px dashed #333;}
.cha_viewer .cha_sub dl dt {width: 80px; padding: 4px 5px; border-radius: 5px; text-align: center; background: #333;}
.cha_viewer .cha_sub dl dd {margin: 0; padding-top: 2px; width: calc(100% - 90px); line-height: 1.3;}
.cha_viewer .cha_character > div {line-height: 1.5;}

/* 관계 */
.cha_viewer .cha_relation > div {line-height: 1.5;}


/* 숨김기능 */
.pair_wrap .hide {display: none !important;}
.pair_view_y:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.5); z-index: 1;}
.pair_box {position: relative;}
.frame_hide {position: absolute; top: 5px; right: 5px; z-index: 10; display: none;}
.pair_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;}


/* 글작성 */
#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: 5px;}
.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);}