@import url(https://cdn.jsdelivr.net/gh/moonspam/NanumSquare@1.0/nanumsquare.css);
@import url("https://fonts.googleapis.com/earlyaccess/notosanskr.css");
* { font-family: 'Noto Sans KR','NanumSquare', 'MalgunGothic';margin: 0; padding: 0;}


/* normalize */
body {margin: 0; background:#efefef;}
body* {font-size: 14px;line-height: 1.4;color: #666;}
ul, ol { list-style: none;}
a:hover, a:focus, a:link, a:visited { color: #666; text-decoration: none; font-style: normal; }

/* wrapper는 부트스트랩의 container로 대체 가능 */
.wrapper { max-width: 1200px; margin: 0 auto; position: relative; content:""; display:block; clear:both;}

/* 많이 사용하지만 부트스트랩의 d-none으로  대체가능 */
.hidden { display: none !important; }

caption { display: none; }

body.sbg01 {background:#f1f3ef;}


/*list - list-b만 사용중 */
.list-a {}
.list-a li {padding-left:15px;  background:url('../img/common/bullet04.png') no-repeat 2px 8px; margin-bottom:10px; margin-top:10px; line-height:1.2em; letter-spacing:-0.5px; text-align: left;}
.list-indent {}
.list-indent li {padding-left:15px; background:url('../img/common/bullet04.png') no-repeat 2px 8px; margin-left:10px;line-height:1.5em;}
.list-b {}
.list-b li {padding-left:15px; background:url('../img/common/ding_01.gif') no-repeat 4px 9px;line-height:1.5em;}
.list-c {}
.list-c li {padding-left:15px; line-height:1.5em;}

/******** header ********/
#header {height:150px; z-index:9999 ;border-bottom:1px solid #aaa;  box-sizing:border-box; padding:0 25px; }


/******** gnb ********/
#header > .wrapper {height:100%; display:flex; align-items: center; justify-content: space-between;}
#header #gnb {display:flex;}
#header #gnb>ul {display:flex; align-items: center; justify-content: space-between;}
#header #gnb>ul>li {margin-left: 10px;}
#header #gnb>ul>li:first-child a:hover {background:#223765 !important;}
#header #gnb>ul>li>a:hover {background:#b01f24 !important;}

/*.aside { border-bottom:1px solid #aaa; }*/
.aside .wrapper {padding:25px 25px; box-sizing:border-box; }


/******** btn ********/
/* 공통 버튼 스타일 기본값 (Bootstrap 위에 덮어쓰기) */
.btn {
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  border-width: 1px;
  border-style: solid;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

/* 공통: 아이콘 있는 버튼들 */
.btn-del,
.btn-import,
.btn-export,
.btn-email,
.btn-plus,
.btn-reset {
  position: relative;
  /* 텍스트와 아이콘 사이 간격 약간 확보 */
  padding-right: 14px;
}

/* 공통 아이콘 스타일 */
.btn-del::after,
.btn-import::after,
.btn-export::after,
.btn-email::after,
.btn-plus::after,
.btn-reset::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  margin-left: 6px;
  font-size: 0.9em;          /* 텍스트보다 약간 작게 */
  line-height: 1;
  color: currentColor;       /* 버튼 글자색과 맞추기 */
  transform: translateY(1px);
  transition:
    transform 0.12s ease,
    opacity 0.12s ease,
    color 0.12s ease;
}

/* 버튼 hover 시 아이콘도 살짝 반응 */
.btn-del:hover::after,
.btn-import:hover::after,
.btn-export:hover::after,
.btn-email:hover::after,
.btn-plus:hover::after,
.btn-reset:hover::after {
  transform: translateY(0);  /* 살짝 위로 올라오는 느낌 */
  opacity: 0.95;
}

.btn-sm {
  padding: 4px 10px;
  font-size: 12px;
}

.btn-lg {
  padding: 9px 22px;
  font-size: 14px;
}

/* 호버/포커스 공통 효과 */
.btn:hover,
.btn:focus {
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
}

.btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.18);
}

/* 공통 텍스트 컬러 */
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-info,
.btn-black,
.btn-red,
.btn-blue {
  color: #ffffff !important;
}

/* PRIMARY – 메인 파랑 */
.btn-primary {
  background-color: #2563eb !important;
  border-color: #1d4ed8 !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #1d4ed8 !important;
  border-color: #1e40af !important;
}

/* SECONDARY – 그레이 */
.btn-secondary {
  background-color: #4b5563 !important;
  border-color: #374151 !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #374151 !important;
  border-color: #111827 !important;
}

/* SUCCESS – 그린 */
.btn-success {
  background-color: #16a34a !important;
  border-color: #15803d !important;
}

.btn-success:hover,
.btn-success:focus {
  background-color: #15803d !important;
  border-color: #166534 !important;
}

/* DANGER – 레드 */
.btn-danger {
  background-color: #dc2626 !important;
  border-color: #b91c1c !important;
}

.btn-danger:hover,
.btn-danger:focus {
  background-color: #b91c1c !important;
  border-color: #7f1d1d !important;
}

/* INFO – 하늘색 */
.btn-info {
  background-color: #0ea5e9 !important;
  border-color: #0284c7 !important;
}

.btn-info:hover,
.btn-info:focus {
  background-color: #0284c7 !important;
  border-color: #0369a1 !important;
}

/* BLACK – 딥 블랙 */
.btn-black {
  background-color: #111827 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
}

.btn-black:hover,
.btn-black:focus {
  background-color: #000000 !important;
  border-color: #000000 !important;
}

/* RED – 브랜드 레드 느낌 유지하되 hover 때만 살짝 진하게 */
.btn-red {
  background-color: #b01f24 !important;
  border-color: #991b1f !important;
  color: #ffffff !important;
}

.btn-red:hover,
.btn-red:focus {
  background-color: #991b1f !important;
  border-color: #7f1d1d !important;
}

/* BLUE – 메인 CTA 느낌(Secondary Primary) */
.btn-blue {
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}

.btn-blue:hover,
.btn-blue:focus {
  background-color: #1e40af !important;
  border-color: #1e40af !important;
}

/* WHITE – 라이트 버튼 */
.btn-white {
  background-color: #ffffff !important;
  color: #111827 !important;
  border-color: #d1d5db !important;
}

.btn-white:hover,
.btn-white:focus {
  background-color: #f9fafb !important;
  color: #1d4ed8 !important;
  border-color: #93c5fd !important;
}

/* 드롭다운 메뉴 */
a.dropdown-item:active {background-color: #f3f3f3; color: #000;}

/******** tab ********/
ul.tab-a { overflow:hidden; *zoom:1; margin:0; padding:0; }
ul.tab-a li {float:left; background: url('../img/custom/tab_off.png') no-repeat center bottom; border-right:1px solid #fff;  box-sizing:border-box;  }
ul.tab-a li a {display:block; font-size:14px; color:#646464; line-height:70px; text-align:center;  line-height:16px; text-align:center; padding:15px 0; font-weight:400;}
ul.tab-a li.on,
ul.tab-a li:hover {background: url('../img/custom/taba_on.png') no-repeat center bottom; color:#fff;  box-sizing:border-box;  }
ul.tab-a li:hover a,
ul.tab-a li.on a {color:#fff;}

ul.tab-b { overflow:hidden; *zoom:1; margin:0; padding:0; }
ul.tab-b li {float:left; background: url('../img/custom/tab_off.png') no-repeat center bottom; border-right:1px solid #fff;  box-sizing:border-box;  }
ul.tab-b li a {display:block; font-size:14px; color:#646464; line-height:70px; text-align:center;  line-height:16px; text-align:center; padding:15px 0; font-weight:400;}
ul.tab-b li.on,
ul.tab-b li:hover {background: url('../img/custom/tabb_on.png') no-repeat center bottom; color:#fff;  box-sizing:border-box;  }
ul.tab-b li:hover a,
ul.tab-b li.on a {color:#fff;}

ul.tab-c { overflow:hidden; *zoom:1; margin:0; padding:0; }
ul.tab-c li {float:left; background: url('../img/custom/tab_off.png') no-repeat center bottom; border-right:1px solid #fff;  box-sizing:border-box;  }
ul.tab-c li a {display:block; font-size:14px; color:#646464; line-height:70px; text-align:center;  line-height:16px; text-align:center; padding:15px 0; font-weight:400;}
ul.tab-c li.on,
ul.tab-c li:hover {background: url('../img/custom/tabc_on.png') no-repeat center bottom; color:#fff;  box-sizing:border-box;  }
ul.tab-c li:hover a,
ul.tab-c li.on a {color:#fff;}


/******** width ********/
.w0_5 {width:0.5%;}
.w2 {width:2%;}
.w5 {width:5%;}
.w10 {width:10%;}
.w15 {width:15.2%;}
.w20 {width:20%;}
.w30 {width:29%;}
.w40 {width:40%;}
.w50 {width:50%;}
.w60 {width:60%;}
.w70 {width:70%;}
.w100 {width:100%;}


/******** ul > li width & height ********/
ul.h1 li {height:60px;}
ul.h2 li {height:74px;}
ul.h3 li {height:90px;}
ul.h4 li {height:105px;}
ul.h5 li {height:125px;}
ul.w1 li {width: 100%;}
ul.w2 li {width: 49.9%;}
ul.w3 li {width: 33.3%;}
ul.w4 li {width: 25%;}
ul.w5 li {width: 20%;}
ul.w6 li {width: 16.6%;}
ul.w7 li {width: 14.2%;}
ul.w8 li {width: 12.5%;}
ul.w9 li {width: 11.1%;}


/******** box ********/
.box-a {
    background: #f3f3f3;
    border: 1px solid #cfcfcf;
    padding: 20px;
    box-sizing: border-box;
    
    /* ✅ 테이블 반응형용 추가 */
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 선택: 스크롤바 살짝만 보여주고 싶으면 */
.box-a::-webkit-scrollbar {
    height: 6px;
}
.box-a::-webkit-scrollbar-thumb {
    background: #d4d4d4;
    border-radius: 999px;
}
.box-a::-webkit-scrollbar-track {
    background: #f9fafb;
}

.box-a p { font-size:14px; line-height:1.2em; color:#494949; }

.box-a2 { background:#f3f3f3; border:1px solid #cfcfcf; padding:20px; box-sizing:border-box;}
.box-a2 p { font-size:14px; line-height:1.4em; color:#494949; }

.box-b { background:#fff; border:1px solid #cfcfcf; padding:20px; box-sizing:border-box; margin:10px 0;}
.box-b p { font-size:12px; line-height:1.2em; color:#494949; }

.box-c { background:#f9f9f9; border:1px solid #cfcfcf; padding:20px; box-sizing:border-box; margin:10px 0; text-align:center;}
.box-c p { margin:5px 0;}
.box-c .blue {color:#446199; font-size:18px;}
.box-c p.red { color:#ff3800; font-size:18px;}

.box-c-pop { background:#f9f9f9; padding:20px; box-sizing:border-box; margin:0px 0; text-align:center;}
.box-c-pop p { margin:5px 0;}
.box-c-pop .blue {color:#446199; font-size:18px;}
.box-c-pop p.red { color:#ff3800; font-size:18px;}


/******** title ********/
h4 {clear: both; margin: 40px 0 9px;padding-bottom: 20px; text-align: center; font-size: 36px;font-weight: bold;color: #000;	background:url('../img/custom/h4_bg.png') no-repeat bottom center; }
h5 {clear: both; margin: 17px 0 9px; font-size:18px; color:#093665; font-weight: 600; }
h6 {clear: both; margin: 3px 0 10px; font-size:17px; line-height:16px; color:#1c2238; font-weight: bold; }

h4.title1 {text-align:center; margin: 40px 0 20px 0; font-size:24px; color:#96670d; font-weight: 600; }
h5.title1 {clear: both; margin: 17px 0 9px; font-size:18px; color:#96670d; font-weight: 600; }
h5.title2 {clear: both; margin: 17px 0 9px; font-size:18px; color:#05154f; font-weight: 600; text-align:center; }
h5.title3 {clear: both; margin: 17px 0 9px; font-size:18px; color:#5f3924; font-weight: 600; text-align:center; }


/******** s_wrapper ********/
.s_wrapper { position: relative; border-bottom:1px solid #aaa; padding:25px 25px; box-sizing:border-box;}
.s_wrapper:last-child {  border-bottom:none;  }


/********** table *********/
/* 테이블 기본 */
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing:: 0;
}
.table {
	margin-bottom: 30px;
    border-top: 2px solid #111;
	overflow: hidden;
	margin-left:-1px;
	}
.table tr {
	border-bottom: 1px solid #dcdbdb;
}
.table th {
	border-bottom: 1px solid #dcdbdb;
	color: #333;
	font-size:14px;
    height: 48px;
    background: #f6f5f2;
	}
.table td {
	border-bottom: solid 1px #dcdbdb;
    height: 48px;
    font-size: 14px;
    letter-spacing: -0.06px;
	}
.table a {
	color: #000;
	}
.table a:hover {
	color: #15814b;
	}

.table-a { width:100%;border-top:3px solid #000;border-collapse:collapse;  }
.table-a .center { text-align:center;  padding:10px 0px;}
.table-a .left { text-align:left; }
.table-a .right { text-align:right; }
.table-a caption span { position:absolute; top:-9999px; overflow:hidden; height:0px; width:0px; }
.table-a thead {  }
.table-a tbody.tbody_tline { border-top:2px solid #121212; }
.table-a thead th { background:#f3f3f3; padding:15px 15px 13px 15px;  }
.table-a tfoot th,
.table-a tfoot td,
.table-a tbody th {padding:17px 15px 15px 20px;  border-bottom:1px solid #a8a8a8; text-align:left;   background: #f3f3f3 url('../img/custom/sec_th.png') no-repeat right center;  font-weight:bold; font-size:16px; }
.table-a tbody td { padding:10px 15px 10px 34px; border-bottom:1px solid #a8a8a8; text-align:left;    }
.table-a thead th {padding:10px 0px;  border-bottom:1px solid #a8a8a8; text-align:center;   background: #f3f3f3 url('../img/custom/sec_th.png') no-repeat right center;  font-weight:bold; font-size:16px; }
.table-a thead th:last-child {background:none;}
.table-a .br_none {border-right: none;}

.table-a3 { width:100%;border-top:3px solid #000;border-collapse:collapse; float: center; }
.table-a3 .center { text-align:center;  padding:10px 0px;}
.table-a3 .left { text-align:left; }
.table-a3 .right { text-align:right; }
.table-a3 caption span { position:absolute; top:-9999px; overflow:hidden; height:0px; width:0px; }
.table-a3 thead {  }
.table-a3 tbody.tbody_tline { border-top:2px solid #121212; }
.table-a3 thead th { background:#f3f3f3; padding:15px 15px 13px 15px;  }
.table-a3 tfoot th,
.table-a3 tfoot td,
.table-a3 tbody th {padding:17px 15px 15px 20px;  border-bottom:1px solid #a8a8a8; text-align:left;   background: #f3f3f3 url('../img/custom/sec_th.png') no-repeat right center;  font-weight:400; font-size:16px; }
.table-a3 tbody td { padding:10px 15px 10px 34px; border-bottom:1px solid #a8a8a8; text-align:left;    }
.table-a3 thead th {padding:10px 0px;  border-bottom:1px solid #a8a8a8; text-align:center;   background: #f3f3f3 url('../img/custom/sec_th.png') no-repeat right center;  font-weight:400; font-size:16px; }
.table-a3 thead th:last-child {background:none;}
.table-a3 tfoot td,
.table-a3 tfoot th {background:#ddd;  text-align:center;}


.table-b { width:100%;border-top:2px solid #121212;border-collapse:collapse; box-sizing:border-box;}
.table-b .center { text-align:center; }
.table-b .left { text-align:left; }
.table-b .right { text-align:right; }
.table-b caption span { position:absolute; top:-9999px; overflow:hidden; height:0px; width:0px; }
.table-b thead th,
.table-b tfoot th,
.table-b tfoot td,
.table-b tbody th {padding:17px 15px 15px 20px;  border-right:1px solid #d2d2d2; border-bottom:1px solid #d2d2d2;  border-left:1px solid #d2d2d2;  text-align:left;  }
.table-b tbody td { padding:10px 15px 8px 15px;  border-right:1px solid #d2d2d2; border-bottom:1px solid #d2d2d2;  border-left:1px solid #d2d2d2;  background:#fff; }
.table-b thead th,
.table-b tfoot th,
.table-b tbody th { color:#121212; }
.table-b thead th { background:#f6f5f2;padding:15px 15px 13px 15px; }
.table-b tfoot th { background:#f0e9e9; font-weight:bold; }
.table-b tfoot td { background:#f0e9e9;  font-weight:bold; }
.table-b tbody th { background:#f0e9e9; }
.table-b .br_none {border-right: none;}


.table-c { width:100%;border-top:2px solid #121212;border-collapse:collapse; }
.table-c .center { text-align:center; }
.table-c .left { text-align:left; }
.table-c .right { text-align:right; }
.table-c caption span { position:absolute; top:-9999px; overflow:hidden; height:0px; width:0px; }
.table-c thead th,
.table-c tfoot th,
.table-c tfoot td,
.table-c tbody th {padding:17px 15px 15px 20px;  border-right:1px solid #d2d2d2; border-bottom:1px solid #d2d2d2;  border-left:1px solid #d2d2d2;  text-align:center;  }
.table-c tbody td { padding:10px 15px 8px 15px;  border-right:1px solid #d2d2d2; border-bottom:1px solid #d2d2d2;  border-left:1px solid #d2d2d2;  background:#fff;  text-align:center; }
.table-c thead th,
.table-c tfoot th,
.table-c tbody th { color:#121212; }
.table-c thead th { background:#f6f5f2;padding:15px 15px 13px 15px; }
.table-c tfoot th { background:#f0e9e9; font-weight:bold; }
.table-c tfoot td { background:#f0e9e9;  font-weight:bold; }
.table-c tbody th { background:#f0e9e9; }
.table-c .br_none {border-right: none;}


/* 색 */
.requiredmark {color:#ff0000;}
.addtxt {font-size:14px; color:#000; font-weight:600;display:inline-block; padding-left:20px;}
.stxt { font-size:14px; color:#000; font-weight:500; margin:8px 0;}
span.red {color:#ff0000;}
span.blue {color:#006a91;}
.blue {color:#006a91;}
p.red, a.red {color:#ff0000;}
p.title {font-size:18px; color:#000; font-weight:600;display:inline-block; margin:10px 0 5px -20px; }
p.sec-box  { margin:15px 0; vertical-align:middle; }


/******** footer ********/
#footer > .wrapper {padding: 26px 0; text-align:center;}
#footer address {font-size: 12px; color: #000; line-height:18px; font-style: normal;  font-weight:bold;}
#footer p {color: #4d4d4d; font-size: 12px;  line-height:18px; margin-top:4px;}
#footer p span {display:inline block; padding: 0 11px;}


/********* 페이지 넘버링 *********/
.board_pager {
	margin-top: 20px;
	text-align: center;
	clear:both;
	}
.board_pager a {
	display: inline-block;
	width: 32px;
	height: 32px;
	line-height: 32px;
	color: #5f5f5f;
	border: 1px solid #d7d7d7;
	box-sizing: border-box;
	vertical-align: top;
	margin:0 2px;
	}
.board_pager a.active {
	background-color: #15814b;
	border-color: #15814b;
	color: #fff;
	}
.board_pager .first, .board_pager .prev, .board_pager .next, .board_pager .last {
    border-color: #efeeeb;
}


.pt0 {padding-top: 0;}
.pl0 {padding-left: 0;}
.pr0 {padding-right: 0;}
.pb0 {padding-bottom: 0;}
.pt5 {padding-top: 5px;}
.pb5 {padding-bottom: 5px;}
.pl5 {padding-left: 5px;}
.pr5 {padding-right: 5px;}
.pt10 {padding-top: 10px;}
.pb10 {padding-bottom: 10px;}
.pl10 {padding-left: 10px;}
.pr10 {padding-right: 10px;}
.pt15 {padding-top: 15px;}
.pb15 {padding-bottom: 15px;}
.pl15 {padding-left: 15px;}
.pr15 {padding-right: 15px;}
.pt20 {padding-top: 20px !important;}
.pb20 {padding-bottom: 20px !important;}
.pl20 {padding-left: 20px !important;}
.pr20 {padding-right: 20px !important;}

.pt6 {padding-top: 6px;}
.pt7 {padding-top: 7px;}
.pt8 {padding-top: 8px;}
.pt9 {padding-top: 9px;}

.pd0 {padding: 0px;}
.pd5 {padding: 5px;}
.pd10 {padding: 10px;}

.mt-20 {margin-top: -20px;}
.mt-10 {margin-top: -10px;}

.mt0 {margin-top: 0px !important;}
.mt5 {margin-top: 5px;}
.mt6 {margin-top: 6px;}
.mt7 {margin-top: 7px;}
.mt8 {margin-top: 8px;}
.mt9 {margin-top: 9px;}
.mt10 {margin-top: 10px;}
.mt11 {margin-top: 11px;}
.mt12 {margin-top: 12px;}
.mt13 {margin-top: 13px;}
.mt14 {margin-top: 14px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}

.ml0 {margin-left: 0px;}
.ml5 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml15 {margin-left: 15px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}
.ml35 {margin-left: 35px;}
.ml40 {margin-left: 40px;}

.mr0 {margin-right: 0px;}
.mr5 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr25 {margin-right: 25px;}
.mr30 {margin-right: 30px;}
.mr35 {margin-right: 35px;}
.mr40 {margin-right: 40px;}

.mb0 {margin-bottom: 0px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}

.fs12 {font-size: 12px;}
.fs13 {font-size: 13px;}
.fs14 {font-size: 14px;}
.fs15 {font-size: 15px;}
.fs16 {font-size: 16px;}
.fs17 {font-size: 17px;}
.fs18 {font-size: 18px;}

/********* 페이징 *********/
ul.pagination {
	padding-top:10px;
	display: inline-flex;
}

ul.pagination li {
	padding: 2px;
	margin:3px;
	width:34px;
	font-size: 18px;
	border: 1px solid #d3caca;
	background-color: #e9e9e9;
}

ul.pagination li.active {
	background-color: #fff;
}

/* ===== Abstract Submission 폼 전체 레이아웃 ===== */
.abstract-form {
  max-width: 1080px;
  margin: 0 auto 40px;
}

/* 섹션 간 간격 */
.abstract-form .s_wrapper {
	margin-bottom: 32px;
	padding: 14px 14px;              /* 섹션 안쪽 여유 */
	background: #f3f4f6;             /* 아주 연한 회색 */
	border-radius: 14px;
}

/* 섹션 제목 (h5) */
.abstract-form .s_wrapper > h5 {
  display: flex;
  align-items: center;
  gap: 8px;

  margin: 0 0 12px 0;
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}

/* 제목 앞에 컬러 바 */
.abstract-form .s_wrapper > h5::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 18px;
  border-radius: 999px;
  background: #2563eb;
}

/* 섹션 박스 (기존 box-a 위에 덮어쓰기) */
.abstract-form .box-a {
  background: #f9fafb;             /* 흰색보다 살짝 회색 */
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px 18px;
  box-sizing: border-box;
}

/* 섹션 안 안내문/문단 간격 */
.abstract-form .box-a p {
  margin: 0 0 8px 0;
  font-size: 13px;
  color: #4b5563;
}

/* 라디오 그룹 간격 */
.abstract-form .box-a input[type="radio"] {
  margin-right: 6px;
}

.abstract-form .box-a input[type="radio"] + label {
  margin-right: 16px;
  font-size: 13px;
}

/* ===== 기본 form 테이블 ===== */
.abstract-form .table-a {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}

.abstract-form .table-a colgroup col:first-child {
  width: 22%;
}

/* 셀 공통 */
.abstract-form .table-a th,
.abstract-form .table-a td {
  padding: 8px 10px;
  border-bottom: 1px solid #e5e7eb;
}

/* 왼쪽 헤더 셀 */
.abstract-form .table-a th {
  background: #f9fafb;
  font-weight: 600;
  color: #111827;
  text-align: left;
  vertical-align: middle;
}

/* 마지막 행은 보더 제거 */
.abstract-form .table-a tr:last-child th,
.abstract-form .table-a tr:last-child td {
  border-bottom: none;
}

/* 입력 필드 기본 스타일 */
.abstract-form .table-a input[type="text"],
.abstract-form .table-a input[type="password"],
.abstract-form .table-a textarea,
.abstract-form .table-a select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 13px;
  box-sizing: border-box;
}

/* 가로폭 클래스(w50 등)는 그대로 사용 */
.abstract-form .table-a .w15,
.abstract-form .table-a .w20,
.abstract-form .table-a .w25,
.abstract-form .table-a .w30,
.abstract-form .table-a .w50,
.abstract-form .table-a .w100 {
  max-width: 100%;
}

/* 힌트 텍스트 */
.abstract-form .table-a .addtxt,
.abstract-form .stxt {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

/* 필수 마크 */
.abstract-form .requiredmark {
  color: #dc2626;
  margin-left: 4px;
}

/* Abstract Template 버튼 영역 */
.abstract-form .s_wrapper h5 .btn {
  margin-left: auto;
  font-size: 12px;
  padding: 4px 10px;
}

/* 파일 업로드 영역 정리 */
.abstract-form .custom-file-label {
  font-size: 13px;
}

/* 파일 업로드 하단 설명 */
.abstract-form .table-a td .row > .col-md-12 {
  margin-top: 6px;
  font-size: 12px;
}

/* ===== Authors 테이블 ===== */

/* 바깥 박스 내에서 테이블 스크롤 영역 */
.abstract-form .authorsInformation {
  margin-top: 8px;
}

/* 헤더 */
.abstract-form .authorsInformation thead th {
  font-size: 12px;
  padding: 6px 6px;
  background: #f3f4f6;
  text-align: center;
}

/* 바디 */
.abstract-form .authorsInformation tbody td {
  font-size: 12px;
  padding: 4px 6px;
}

.abstract-form .authorsInformation tbody tr:nth-child(even) td {
  background: #f9fafb;
}

/* 체크박스 중앙 정렬 */
.abstract-form .authorsInformation td.center {
  text-align: center;
}

/* Authors 테이블 안 input/select 꽉 차게 */
.abstract-form .authorsInformation input[type="text"],
.abstract-form .authorsInformation select {
  width: 100%;
}

/* Authors 수 선택 셀 */
.abstract-form #AUTHORS_SU {
  max-width: 140px;
}

/* 동의 체크박스 블록 */
.abstract-form .checkbox {
  margin-top: 12px;
  font-size: 13px;
  color: #374151;
}

.abstract-form .checkbox input[type="checkbox"] {
  margin-right: 6px;
}

/* 제출 버튼 영역 */
.abstract-form .text-center.mt15.mb15 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.abstract-form .text-center.mt15.mb15 .btn {
  min-width: 120px;
  margin: 0 4px;
}

/* ===== 반응형 ===== */
@media (max-width: 768px) {
  .abstract-form {
    padding: 0 10px;
  }

  .abstract-form .s_wrapper > h5 {
    font-size: 16px;
  }

  .abstract-form .table-a th,
  .abstract-form .table-a td {
    padding: 6px 6px;
  }

  /* 내용 영역이 좁아질 때 힌트 텍스트 간격 줄이기 */
  .abstract-form .table-a .addtxt,
  .abstract-form .stxt {
    font-size: 11px;
  }

  /* Authors 테이블은 가로 스크롤 */
  .abstract-form .authorsInformation {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }

  .abstract-form .authorsInformation table {
    min-width: 800px;
  }
}
/* === 온사이트 등록 폼 전용 스코프 === */
.abstract-form {
  /* 전체 여백은 기존 레이아웃 유지 */
}

/* 섹션 제목 여백 */
.abstract-form .title h4 {
  margin-bottom: 16px;
}

/* s_wrapper 기본 레이아웃 */
.abstract-form .s_wrapper {
  margin-bottom: 24px;
}

/* box-a 살짝 톤 다운 + 안쪽 여백 */
.abstract-form .box-a {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 18px 16px;
}

/* 각 행 간격 */
.abstract-form .box-a .row {
  margin-bottom: 10px;
}

/* ===== 라벨 + 입력 컬럼 반응형 ===== */
/* (Bootstrap grid 안 쓰더라도 강제로 1열로 떨어뜨리기) */
@media (max-width: 768px) {
  .abstract-form .box-a .row > [class^="col-"],
  .abstract-form .box-a .row > [class*=" col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* 라벨/입력 순으로 쌓이게 첫 번째 컬럼 아래 약간 간격 */
  .abstract-form .box-a .row > [class^="col-"]:first-child,
  .abstract-form .box-a .row > [class*=" col-"]:first-child {
    margin-bottom: 4px;
  }

  /* 휴대폰 번호 같이 여러 input이 한 줄에 있는 경우 */
  .abstract-form .box-a .row .row {
    margin-bottom: 0;
  }
}

/**********************************************/

/* === TOTAL 테이블 기본 스타일 (PC 기준) ================== */
.abstract-form .total-table-wrap {
  width: 100%;
  margin-top: 20px;
}

.abstract-form .total-table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* 칸 폭 균등 분배 */
}

/* 기존 .table-d 영향 덮어쓰기 */
.abstract-form .total-table th,
.abstract-form .total-table td {
  padding: 10px 12px;
  font-size: 14px;
  white-space: normal !important; /* 어디선가 nowrap 걸려있어도 무조건 줄바꿈 */
}

.abstract-form .total-table .total-row th {
  text-align: left;
  font-weight: 600;
  width: 35%;
}

.abstract-form .total-table .total-row td {
  text-align: right;
}

/* 통화 / 금액 정렬 */
.abstract-form .total-table .total-amount-label {
  float: left;
  font-weight: 500;
}

.abstract-form .total-table .total-amount-value {
  font-weight: 700;
  margin-left: 8px;
}

/* input도 박스 안에서 줄어들게 */
.abstract-form .total-table #TOTAL_AMOUNT {
  max-width: 40%;
  min-width: 80px;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #e5e7eb;
}

/* === 모바일용: 테이블을 '카드'처럼 세로로 쪼개기 ================== */
@media (max-width: 768px) {
  /* 테이블 → 블록 카드처럼 */
  .abstract-form .total-table,
  .abstract-form .total-table tbody,
  .abstract-form .total-table tr,
  .abstract-form .total-table th,
  .abstract-form .total-table td {
    width: 100% !important;
  }  

  /* 한 줄(행)을 두 줄(제목/내용) 카드로 보이게 */
  .abstract-form .total-table .total-row th {
    border-radius: 8px 8px 0 0;
    border-bottom: 1px solid rgba(255,255,255,0.3);
  }

  .abstract-form .total-table .total-row td {
    border-radius: 0 0 8px 8px;
    margin-top: 0;
  }

  /* 왼쪽 float 제거해서 위아래로 정렬 */
  .abstract-form .total-table .total-amount-label,
  .abstract-form .total-table .total-amount-value {
    float: none;
    display: inline-block;
  }

  .abstract-form .total-table .total-amount-label {
    margin-right: 6px;
  }

  .abstract-form .total-table .total-amount-value {
    font-size: 16px;
  }

  /* input은 줄 아래에 배치 */
  .abstract-form .total-table #TOTAL_AMOUNT {
    display: inline-block;
    max-width: 60%;
    margin-top: 6px;
  }
  
  .abstract-form .total-table .total-row th,
  .abstract-form .total-table .total-row td {
    text-align: center !important;
  }

  /* 혹시 text-right / text-left 같은 클래스를 쓴 경우도 커버 */
  .abstract-form .total-table .total-row th.text-right,
  .abstract-form .total-table .total-row td.text-right,
  .abstract-form .total-table .total-row th.text-left,
  .abstract-form .total-table .total-row td.text-left {
    text-align: center !important;
  }  
}


/**********************************************/

/* 안내 리스트 공통 스타일 */
.listRho {
  margin: 18px 0;
  padding-left: 0;
  list-style: none;
  font-size: 14px;
  color: #374151;              /* 기본 글자색 (짙은 회색) */
}

/* 각 항목 */
.listRho li {
  position: relative;
  padding-left: 20px;          /* 왼쪽 여백 (불릿 자리) */
  margin-bottom: 10px;
  line-height: 1.7;
}

/* 영어 굵은 텍스트는 살짝 강조 */
.listRho b {
  font-weight: 600;
  color: #111827;
}

/* 강조 색상(red 클래스) – 너무 쨍하지 않게 톤다운 레드 */
.listRho .red {
  color: #b91c1c;
}

/* 밑줄 강조 */
.listRho .underline {
  text-decoration: underline;
  text-decoration-thickness: 1.2px;
  text-underline-offset: 2px;
}

/* 괄호 안 한글 문장은 살짝 흐리게 하고 싶으면(선택) */
.listRho li br + span,
.listRho li br + (중간 한국어 설명용 span이 있다면) {
  /* 필요하면 여기다가 color 조정 가능 */
}

/* 반응형 – 모바일에서 글자 살짝 줄이기 */
@media (max-width: 768px) {
  .listRho {
    font-size: 13px;
  }
  .listRho li {
    padding-left: 16px;
  }
}