@charset "utf-8";


#bo_list tbody .even td {background:#fbfbfb}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* 게시판 목록 */
#bo_list {position:relative;margin-bottom:20px}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1}
#bo_list .td_date {width:60px;text-align:center}
#bo_list .td_datetime {width:60px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}
#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid #253dbe}

#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
    -webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
    -moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
    box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:5px}

/* 게시판 목록 공통 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}


#bo_btn_top {margin:10px 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:5px;float:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f}

.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:#000}
.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_tit {display:block;color:#000;font-weight:bold}
.bo_current {color:#e8180c}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:#ff0000}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right {color:#bbb}
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all}

#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:10px}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {color:#000}
#bo_v_info .if_date {margin:0;color:#888}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
    -webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
    -moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
    box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#3a8afd}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
    -webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
    -moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
    box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#3a8afd}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}

#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:20px 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px}
.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1}
.bo_v_nb li:hover {background:#f6f6f6}
.bo_v_nb li i {font-size:13px;color:#b3b3b3}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3}
.bo_v_nb li .nb_date {float:right;color:#b3b3b3}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f}
#bo_v_act i {font-size:1.4em;margin-right:5px}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}


/*
------------------------------------------------------------------------------------------------------------------------
소독증명서신청 폼 스타일
------------------------------------------------------------------------------------------------------------------------
*/
.sub0403 .sub_wrap {
  border-left: none;
  border-right: none;
  background: #f4f7fb;
  padding-top: 56px;
  padding-bottom: 80px;
}
.sub0403 .sec1 {
  text-align: center;
  margin-bottom: 40px;
}
.sub0403 .sec1 .sf-eyebrow {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #3a7fbf;
}
.sub0403 .sec1 h1 {
  margin: 0 0 12px;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #111;
}
.sub0403 .sec1 p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #666;
  font-weight: 400;
}

.sf-form {
  max-width: 880px;
  margin: 0 auto 80px;
}

#formmail-write.sf-card {
  position: relative;
  max-width: none;
  margin: 0;
  padding: 40px 48px 36px;
  border: 0;
  border-top: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow:
    0 4px 24px rgba(15, 23, 42, 0.06),
    0 24px 64px rgba(15, 23, 42, 0.05);
  font-size: 15px;
  box-sizing: border-box;
}

.sf-admin-link {
  position: absolute;
  top: 18px;
  right: 24px;
  font-size: 13px;
  color: #3a7fbf;
  text-decoration: underline;
}

.sf-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid #eee;
}
.sf-card__logo {
  height: 28px;
  width: auto;
  flex-shrink: 0;
}
.sf-card__title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: #111;
  letter-spacing: -0.02em;
}

.sf-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sf-row {
  display: block;
}
.sf-row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.sf-field {
  min-width: 0;
}

.sf-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #222;
  letter-spacing: -0.02em;
}

.sf-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #e74c3c;
  color: #fff;
  font-size: 10px;
  flex-shrink: 0;
}
.sf-check--opt {
  background-color: #c5cdd6;
}

.sf-input,
.sf-select,
.sf-textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dde3ea;
  border-radius: 10px;
  background: #f8fafc;
  color: #111;
  font-size: 15px;
  letter-spacing: -0.02em;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.sf-input,
.sf-select {
  height: 48px;
  padding: 0 16px;
}
.sf-textarea {
  padding: 14px 16px;
  min-height: 120px;
  resize: vertical;
  line-height: 1.55;
}
.sf-input::placeholder,
.sf-textarea::placeholder {
  color: #9aa3af;
}
.sf-input:focus,
.sf-select:focus,
.sf-textarea:focus {
  outline: none;
  border-color: #3a7fbf;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(58, 127, 191, 0.15);
}

.sf-select-wrap {
  position: relative;
}
.sf-select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #666 50%),
    linear-gradient(135deg, #666 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  background-color: #f8fafc;
}

.sf-hint {
  margin: 8px 0 0;
  font-size: 13px;
  color: #888;
  letter-spacing: -0.02em;
}

.sf-captcha {
  padding-top: 2px;
}

.sf-footer {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid #eee;
  text-align: center;
}

.sf-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 240px;
  height: 54px;
  padding: 0 36px;
  border: 0;
  border-radius: 999px;
  background: #3a7fbf;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  box-shadow: 0 8px 24px rgba(58, 127, 191, 0.28);
}
.sf-submit:hover {
  background: #2f6eaa;
  color: #fff;
  transform: translateY(-1px);
}
.sf-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* 캡챠 보정 */
#formmail-write.sf-card .form-group--captcha,
#formmail-write.sf-card .sf-row--captcha {
  align-items: flex-start;
}
#formmail-write.sf-card #captcha {
  display: inline-block;
  position: relative;
  vertical-align: top;
}
#formmail-write.sf-card #captcha #captcha_img {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  height: 40px;
  margin: 0;
  border: 1px solid #898989;
  border-radius: 6px;
  vertical-align: top;
}
#formmail-write.sf-card #captcha #captcha_key {
  display: inline-block;
  box-sizing: border-box;
  width: 90px;
  height: 40px;
  margin: 0 0 0 6px;
  padding: 0 8px;
  border: 1px solid #dde3ea;
  border-radius: 8px;
  background: #fff;
  font-size: 1.2em;
  font-weight: 700;
  text-align: center;
  vertical-align: top;
}
#formmail-write.sf-card #captcha #captcha_mp3,
#formmail-write.sf-card #captcha #captcha_reload {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 0 0 4px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background-color: transparent !important;
  background-image: url("../../../img/captcha2.png") !important;
  background-repeat: no-repeat !important;
  vertical-align: top;
  overflow: hidden;
  cursor: pointer;
  text-indent: -999px;
  color: transparent;
  font-size: 0;
}
#formmail-write.sf-card #captcha #captcha_mp3 { background-position: 0 0 !important; }
#formmail-write.sf-card #captcha #captcha_reload { background-position: 0 -40px !important; }
#formmail-write.sf-card #captcha #captcha_info {
  display: block;
  margin: 8px 0 0;
  font-size: 13px;
  letter-spacing: -0.02em;
  color: #666;
  line-height: 1.4;
}


.sf-input-unit {
  position: relative;
}
.sf-input-unit .sf-input {
  padding-right: 48px;
}
.sf-unit {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  font-weight: 600;
  color: #666;
  pointer-events: none;
}

@media (max-width: 768px) {
  .sub0403 .sec1 {
    margin-bottom: 28px;
  }
  .sub0403 .sec1 h1 {
    font-size: 26px;
  }
  .sub0403 .sec1 p {
    font-size: 14px;
  }
  .sf-form {
    margin-bottom: 48px;
  }
  #formmail-write.sf-card {
    padding: 28px 20px 24px;
    border-radius: 12px;
  }
  .sf-card__head {
    margin-bottom: 24px;
    padding-bottom: 16px;
  }
  .sf-card__title {
    font-size: 18px;
  }
  .sf-row--half {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .sf-submit {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   HiCOP 소독증명서신청 — modern board UI
   ========================================================= */
.on-board .sub_wrap {
  border-left: none;
  border-right: none;
  background: #f4f7fb;
  padding-top: 48px;
  padding-bottom: 80px;
}

.on-intro {
  max-width: 880px;
  margin: 0 auto 28px;
  text-align: center;
}
.on-intro__eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #3a7fbf;
}
.on-intro__title {
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #111;
}
.on-intro__desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #666;
}

.on-list,
.on-write,
.on-view {
  max-width: 960px !important;
  margin: 0 auto 60px !important;
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.on-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
  float: none;
}
.on-toolbar:after { display: none; }
.on-toolbar__total {
  float: none;
  line-height: 1.4;
  font-size: 14px;
  color: #667085;
}
.on-toolbar__total strong {
  color: #111;
  font-weight: 700;
}
.on-toolbar__total em {
  margin-left: 10px;
  font-style: normal;
  color: #98a2b3;
}
.on-toolbar__actions {
  float: none;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.on-toolbar__actions > li {
  float: none;
  width: auto;
  margin: 0;
  background: transparent;
  position: relative;
}

.on-icon-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #dde3ea;
  border-radius: 10px;
  background: #fff !important;
  color: #445 !important;
  font-size: 15px;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.on-icon-btn:hover {
  border-color: #3a7fbf;
  color: #3a7fbf !important;
  box-shadow: 0 4px 12px rgba(58, 127, 191, 0.12);
}

.on-write-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: #3a7fbf;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(58, 127, 191, 0.25);
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.on-write-btn:hover {
  background: #2f6eaa;
  color: #fff !important;
  transform: translateY(-1px);
}
.on-write-btn--ghost {
  background: #fff;
  color: #3a7fbf !important;
  border: 1px solid #cfe0f2;
  box-shadow: none;
}
.on-write-btn--ghost:hover {
  background: #f0f7fd;
  color: #2f6eaa !important;
}

.on-card {
  background: #fff;
  border-radius: 16px;
  box-shadow:
    0 4px 24px rgba(15, 23, 42, 0.06),
    0 24px 64px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}
.on-card--form {
  padding: 36px 40px 32px;
}

.on-card__head {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 110px 72px 88px;
  gap: 12px;
  align-items: center;
  padding: 14px 24px;
  background: #f8fafc;
  border-bottom: 1px solid #eef2f6;
  font-size: 13px;
  font-weight: 600;
  color: #667085;
  letter-spacing: -0.02em;
}
.on-card__head .on-col--chk { grid-column: auto; }
.on-board .on-card__head:has(.on-col--chk) {
  grid-template-columns: 40px 72px minmax(0, 1fr) 110px 72px 88px;
}

.on-rows {
  margin: 0;
  padding: 0;
  list-style: none;
}
.on-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 110px 72px 88px;
  gap: 12px;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid #f1f4f8;
  transition: background-color 0.15s ease;
}
.on-row:last-child { border-bottom: 0; }
.on-row:hover { background: #f8fbfe; }
.on-row.is-notice { background: #fff8fb; }
.on-board .on-row:has(.on-col--chk) {
  grid-template-columns: 40px 72px minmax(0, 1fr) 110px 72px 88px;
}

.on-col { min-width: 0; }
.on-col--num,
.on-col--hit,
.on-col--date,
.on-col--chk {
  text-align: center;
}
.on-col--name {
  text-align: center;
  font-size: 14px;
  color: #445;
}
.on-col--subject {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  text-align: left !important;
}
.on-num {
  font-size: 13px;
  color: #98a2b3;
}
.on-subject {
  display: inline;
  font-size: 15px;
  font-weight: 600;
  color: #111;
  letter-spacing: -0.02em;
  text-decoration: none;
  line-height: 1.45;
}
.on-subject:hover { color: #3a7fbf; }
.on-cate-tag {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  background: #eaf3fb;
  color: #3a7fbf;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.on-cmt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #eaf3fb;
  color: #3a7fbf;
  font-size: 11px;
  font-weight: 700;
}
.on-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
}
.on-badge--notice {
  background: #ffe8f0;
  color: #e11d74;
}
.on-badge--current {
  background: #fff4e5;
  color: #c2410c;
}
.on-badge--new {
  min-width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 4px;
  background: #dcfce7;
  color: #15803d;
}
.on-meta-label {
  display: none;
}
.on-col--hit,
.on-col--date {
  font-size: 13px;
  color: #667085;
}

.on-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 72px 24px !important;
  text-align: center;
  color: #667085;
}
.on-empty i {
  font-size: 36px;
  color: #c5d0dc;
}
.on-empty p {
  margin: 0 0 8px;
  font-size: 15px;
}

.on-bottom {
  float: none;
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.on-bottom:after { display: none; }

.on-cate {
  margin: 0 0 20px;
  text-align: center;
}
.on-cate ul { justify-content: center; }
.on-cate a {
  border-color: #d6e4f2;
  color: #3a7fbf;
  border-radius: 999px;
}
.on-cate #bo_cate_on,
.on-cate a:hover {
  background: #3a7fbf;
  border-color: #3a7fbf;
  box-shadow: none;
}

.on-board .pg_wrap {
  margin-top: 28px;
  text-align: center;
}
.on-board .pg_page,
.on-board .pg_current {
  border-radius: 8px;
}

/* Write form */
.on-card__brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
.on-card__logo {
  height: 28px;
  width: auto;
}
.on-card__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #111;
  letter-spacing: -0.02em;
}
.on-field {
  margin: 0 0 18px;
}
.on-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}
.on-label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #222;
  letter-spacing: -0.02em;
}
.on-input,
.on-select,
#bo_w.on-write .frm_input,
#bo_w.on-write textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dde3ea !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #111;
  font-size: 15px;
  letter-spacing: -0.02em;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
#bo_w.on-write .frm_input,
.on-input,
.on-select {
  height: 48px;
  padding: 0 16px !important;
  margin: 0 !important;
  float: none !important;
}
#bo_w.on-write .frm_input:focus,
.on-input:focus,
.on-select:focus,
#bo_w.on-write textarea:focus {
  outline: none;
  border-color: #3a7fbf !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(58, 127, 191, 0.15);
}
.on-select-wrap { position: relative; }
.on-select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px !important;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #666 50%),
    linear-gradient(135deg, #666 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.on-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.on-form-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 28px !important;
  padding-top: 24px;
  border-top: 1px solid #eee;
}
.on-cancel-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 48px !important;
  padding: 0 24px !important;
  border: 1px solid #dde3ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #445 !important;
  font-size: 15px !important;
  font-weight: 600;
}
.on-submit-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 180px;
  height: 48px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #3a7fbf !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(58, 127, 191, 0.28);
}
.on-submit-btn:hover { background: #2f6eaa !important; }

#bo_w.on-write .bo_w_tit .frm_input { padding-right: 140px !important; }
#bo_w.on-write #btn_autosave {
  top: 9px;
  right: 9px;
  height: 30px;
  line-height: 30px;
  border-radius: 8px;
}
#bo_w.on-write .bo_w_link label,
#bo_w.on-write .bo_w_flie .lb_icon {
  border-radius: 10px 0 0 10px;
  height: 48px;
  line-height: 48px;
}
#bo_w.on-write .bo_w_link .frm_input { padding-left: 50px !important; }
#bo_w.on-write .bo_w_flie .file_wr {
  border-radius: 10px;
  height: 48px;
  border-color: #dde3ea;
}

/* View */
#bo_v.on-view {
  background: #fff;
  border-radius: 16px;
  padding: 36px 40px !important;
  box-shadow:
    0 4px 24px rgba(15, 23, 42, 0.06),
    0 24px 64px rgba(15, 23, 42, 0.05);
}
.on-view__head {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eef2f6;
}
#bo_v.on-view #bo_v_title .bo_v_tit {
  margin-top: 8px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #111;
  line-height: 1.35;
}
.on-view__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
  border-bottom: 0;
}
.on-view__meta .profile_info {
  float: none;
  margin: 0;
}
.on-view__meta .profile_info_ct {
  padding: 0;
  line-height: 1.6;
  color: #667085;
  font-size: 14px;
}
.on-view__sep {
  margin: 0 6px;
  color: #c5cdd6;
}
.on-view__actions {
  float: none !important;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}
.on-view__actions > li {
  float: none;
  margin: 0;
  width: auto;
  background: transparent;
}
.on-text-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #dde3ea;
  border-radius: 999px;
  background: #fff;
  color: #445 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}
.on-text-btn:hover {
  border-color: #3a7fbf;
  color: #3a7fbf !important;
}
#bo_v.on-view #bo_v_atc {
  margin-top: 12px;
}
#bo_v.on-view #bo_v_con {
  font-size: 16px;
  line-height: 1.8;
  color: #222;
}
#bo_v.on-view .bo_v_nb {
  margin-top: 28px;
}
#bo_v.on-view .bo_v_nb li {
  border-color: #eef2f6;
  border-radius: 10px;
  margin-bottom: 8px;
}
#bo_v.on-view .bo_v_nb li:hover {
  background: #f8fbfe;
}

@media (max-width: 860px) {
  .on-intro__title { font-size: 22px; }
  .on-card__head { display: none; }
  .on-row,
  .on-board .on-row:has(.on-col--chk) {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 18px;
  }
  .on-col--chk { order: -1; text-align: left; }
  .on-col--num { display: none; }
  .on-col--name,
  .on-col--hit,
  .on-col--date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-align: left;
    font-size: 12px;
  }
  .on-meta-label {
    display: inline;
    color: #98a2b3;
  }
  .on-col--name::before,
  .on-row {
    /* keep stacked meta readable */
  }
  .on-field-grid { grid-template-columns: 1fr; }
  .on-card--form,
  #bo_v.on-view {
    padding: 24px 18px !important;
    border-radius: 12px;
  }
  .on-toolbar {
    flex-wrap: wrap;
  }
  .on-view__meta {
    flex-direction: column;
  }
  #bo_v.on-view #bo_v_title .bo_v_tit {
    font-size: 20px;
  }
}

/* request board — 3열 목록 */
.request-board .on-card__head,
.request-board .on-row {
  grid-template-columns: 72px minmax(0, 1fr) 140px;
}
.request-board .on-card__head:has(.on-col--chk),
.request-board .on-row:has(.on-col--chk) {
  grid-template-columns: 40px 72px minmax(0, 1fr) 140px;
}
@media (max-width: 860px) {
  .request-board .on-row,
  .request-board .on-row:has(.on-col--chk) {
    grid-template-columns: 1fr;
  }
}

.request-board .sf-form { margin-top: 0; }
.on-board .sub_wrap .sf-form { max-width: 880px; margin-left: auto; margin-right: auto; }
