@charset "utf-8";

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

/* 게시판 버튼 */
/* 목록 버튼 */
#bo_gall {
   max-width: 1170px;
   margin: 0 auto;
   padding-left: 10px;
   padding-right: 10px;
}
#bo_gall a.btn_b01 {
}
#bo_gall a.btn_b01:focus,
#bo_gall a.btn_b01:hover {
}
#bo_gall a.btn_b02 {
}
#bo_gall a.btn_b02:focus,
#bo_gall a.btn_b02:hover {
}
#bo_gall a.btn_admin {
   background-color: var(--fontcolordown);
   color: #fff;
   transition: background-color 0.2s ease-in-out;
}
#bo_gall a.btn_admin:hover {
   background-color: var(--fontcolor);
}
#bo_gall .fa-heart {
   width: 16px;
   height: 16px;
   line-height: 16px;
   background: #ff0000;
   color: #fff;
   text-align: center;
   font-size: 10px;
   border-radius: 2px;
}
/* 관리자 전용 버튼 */
#bo_gall a.btn_admin:focus,
#bo_gall .btn_admin:hover {
}

/* 읽기 버튼 */
#bo_v a.btn_b01 {
}
#bo_v a.btn_b01:focus,
#bo_v a.btn_b01:hover {
}
#bo_v a.btn_b02 {
}
#bo_v a.btn_b02:focus,
#bo_v a.btn_b02:hover {
}
#bo_v a.btn_admin {
} /* 관리자 전용 버튼 */
#bo_v a.btn_admin:focus,
#bo_v a.btn_admin:hover {
}

/* 쓰기 버튼 */
#bo_w .btn_confirm {
} /* 서식단계 진행 */
#bo_w .btn_submit {
   padding: 4px 14px;
   font-size: 1.167em;
}
#bo_w button.btn_submit {
}
#bo_w fieldset .btn_submit {
}
#bo_w .btn_cancel {
   font-size: 1.167em;
   border-radius: 6px;
   padding: 4px 14px;
   color: #fff;
   background-color: var(--subcolor2);
   transition: all 0.2s;
}
#bo_w .btn_cancel:hover {
   background-color: var(--subcolor2down);
}
#bo_w button.btn_cancel {
}
#bo_w .btn_cancel:focus,
#bo_w .btn_cancel:hover {
}
#bo_w a.btn_frmline,
#bo_w button.btn_frmline {
} /* 우편번호검색버튼 등 */
#bo_w button.btn_frmline {
}

/* 기본 테이블 */
/* 읽기 내 테이블 */
#bo_v .tbl_head01 {
}
#bo_v .tbl_head01 caption {
}
#bo_v .tbl_head01 thead th {
}
#bo_v .tbl_head01 thead a {
}
#bo_v .tbl_head01 thead th input {
} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
#bo_v .tbl_head01 tfoot th {
}
#bo_v .tbl_head01 tfoot td {
}
#bo_v .tbl_head01 tbody th {
}
#bo_v .tbl_head01 td {
}
#bo_v .tbl_head01 a {
}
#bo_v td.empty_table {
}

/* 쓰기 테이블 */
#bo_w table {
}
#bo_w caption {
}
#bo_w .frm_info {
}
#bo_w .frm_address {
}
#bo_w .frm_file {
}

#bo_w .tbl_frm01 {
}
#bo_w .tbl_frm01 th {
}
#bo_w .tbl_frm01 td {
}
#bo_w .tbl_frm01 textarea,
#bo_w tbl_frm01 .frm_input {
}
#bo_w .tbl_frm01 textarea {
}
#bo_w .tbl_frm01 a {
}

/* 필수입력 */
#bo_w .required,
#bo_w textarea.required {
}

#bo_w .cke_sc {
}
#bo_w button.btn_cke_sc {
}
#bo_w .cke_sc_def {
}
#bo_w .cke_sc_def dl {
}
#bo_w .cke_sc_def dl:after {
}
#bo_w .cke_sc_def dt,
#bo_w .cke_sc_def dd {
}
#bo_w .cke_sc_def dt {
}
#bo_w .cke_sc_def dd {
}

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

/* 게시판 목록 */
/* #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);
} */

/* 카테고리 디자인 수정부분 --------------------------------  */

#bo_cate {
   margin: 20px 0 30px;
   overflow-x: auto;
   overflow-y: hidden;
   -webkit-overflow-scrolling: touch;
}

#bo_cate h2 {
   display: none;
}

#bo_cate_ul {
   display: flex;
   justify-content: flex-start;
   align-items: flex-end;
   padding: 0;
   margin: 0;
   list-style: none;
   min-width: max-content;
   position: relative;
}

/* 하단 기준선 */
#bo_cate_ul::before {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0px;
   width: 100%;
   height: 2px;
   background-color: #ed6a00;
   z-index: 20;
}

#bo_cate_ul li {
   position: relative;
   margin: 0;
   padding: 0;
   z-index: 2;
}

/* 기본 순서: 왼쪽이 위 */
#bo_cate_ul li:nth-child(1) {
   z-index: 10;
}
#bo_cate_ul li:nth-child(2) {
   z-index: 9;
}
#bo_cate_ul li:nth-child(3) {
   z-index: 8;
}
#bo_cate_ul li:nth-child(4) {
   z-index: 7;
}
#bo_cate_ul li:nth-child(5) {
   z-index: 6;
}

/* 활성 li 최상위 */
#bo_cate_ul li:has(a#bo_cate_on) {
   z-index: 100;
}

#bo_cate_ul li:first-child {
   margin-left: 30px;
}

#bo_cate_ul li + li {
   margin-left: 10px;
}

#bo_cate_ul li a {
   position: relative;
   display: block;
   min-width: 120px;
   height: 48px;
   line-height: 46px;
   padding: 0 24px;
   text-align: center;
   text-decoration: none;
   font-size: 15px;
   font-weight: 600;
   color: #444;
   background: #fff;
   border: 2px solid #cfcfcf;
   border-bottom: none;
   box-sizing: border-box;
   transition: all 0.2s ease;
   border-top-left-radius: 18px;
   border-top-right-radius: 18px;
   z-index: 2;
}

/* 위쪽 좌/우 경사 */
#bo_cate_ul li a::before,
#bo_cate_ul li a::after {
   content: "";
   position: absolute;
   top: -2px;
   width: 24px;
   height: 48px;
   background: #fff;
   z-index: -1;
   box-sizing: border-box;
   transition: all 0.2s ease;
}

/* 왼쪽 경사 */
#bo_cate_ul li a::before {
   left: -11px;
   border-top: 2px solid #cfcfcf;
   border-left: 2px solid #cfcfcf;
   transform: skewX(-30deg);
   border-top-left-radius: 10px;
}

/* 오른쪽 경사 */
#bo_cate_ul li a::after {
   right: -11px;
   border-top: 2px solid #cfcfcf;
   border-right: 2px solid #cfcfcf;
   transform: skewX(30deg);
   border-top-right-radius: 10px;
}

/* hover */
#bo_cate_ul li a:hover {
   color: #ed6a00;
   border-color: #ed6a00;
}

#bo_cate_ul li a:hover::before,
#bo_cate_ul li a:hover::after {
   border-color: #ed6a00;
}

/* 활성 */
#bo_cate_ul li a#bo_cate_on {
   color: #ed6a00;
   border-color: #ed6a00;
   background: #fff;
}

/* 활성 경사도 동일색 */
#bo_cate_ul li a#bo_cate_on::before,
#bo_cate_ul li a#bo_cate_on::after {
   border-color: #ed6a00;
   background: #fff;
}

/* 활성 탭이 아래선 위에 자연스럽게 걸치도록 */
#bo_cate_ul li:has(a#bo_cate_on) {
   border-bottom-color: #fff;
}

/* 접근성 */
#bo_cate_ul li a:focus {
   outline: none;
}

#bo_cate_ul li a:focus-visible {
   outline: 2px solid rgba(237, 106, 0, 0.35);
   outline-offset: 2px;
}

/* 모바일 */
@media (max-width: 768px) {
   #bo_cate {
      margin: 20px 0 30px;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;

      -ms-overflow-style: none; /* IE, Edge */
      scrollbar-width: none; /* Firefox */
   }

   #bo_cate::-webkit-scrollbar {
      display: none; /* Chrome, Safari */
   }
   #bo_cate_ul li:first-child {
      margin-left: 16px; /* 30 → 축소 */
   }

   #bo_cate_ul li + li {
      margin-left: 6px; /* 10 → 축소 */
   }

   #bo_cate_ul li a {
      min-width: 90px; /* 120 → 축소 */
      height: 38px; /* 48 → 축소 */
      line-height: 36px; /* 46 → 축소 */
      padding: 0 14px; /* 24 → 축소 */
      font-size: 13px; /* 15 → 축소 */
      border-width: 1.5px; /* 약간 얇게 */
      border-top-left-radius: 14px;
      border-top-right-radius: 14px;
   }

   /* 경사도 비율 맞춰 같이 줄이기 */
   #bo_cate_ul li a::before,
   #bo_cate_ul li a::after {
      width: 20px; /* 24 → 축소 */
      height: 40px; /* 48 → 축소 */
   }

   #bo_cate_ul li a::before {
      left: -8px;
   }

   #bo_cate_ul li a::after {
      right: -8px;
   }

   /* 하단 라인도 살짝 얇게 */
   /* #bo_cate_ul::before {
      height: 2px;
   } */
}

/* 카테고리 디자인 수정부분 --------------------------------  */

.td_subject img {
   margin-left: 3px;
}

.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;
   list-style: none;
   display: flex;
   align-items: center;
}
.chk_box input[type="checkbox"] + label {
   position: relative;
   padding-left: 20px;
   color: #676e70;
   vertical-align: baseline;
}
.chk_box input[type="checkbox"] + label:hover {
   color: #2172f8;
}
.chk_box input[type="checkbox"] + label span {
   position: absolute;
   top: 10px;
   left: 10px;
   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: 6px;
   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;
}
.all_chk.chk_box input[type="checkbox"] + label span {
   top: 0;
   left: 0;
}

/* 갤러리 목록 */
#bo_gall h2 {
   margin: 0;
   padding: 0;
   width: 1px;
   height: 1px;
   font-size: 0;
   line-height: 0;
   overflow: hidden;
}

#bo_gall #gall_ul:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_gall .gall_li {
}
#bo_gall .gall_li .gall_chk {
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   padding: 8px;
   display: flex;
   align-items: center;
}
.gall_chk input[type="checkbox"] {
   margin-right: 8px;
}
#bo_gall .gall_box {
   position: relative;
   margin: 0 0 0 0;
   display: flex;
   flex-direction: column;
   background: #fff;
   overflow: hidden;
   /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); */
   transition:
      transform 0.3s,
      box-shadow 0.3s;
}
.gall_box:hover {
   /* transform: translateY(-3px); */
   /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); */
}
#bo_gall .gall_con {
   position: relative;
   /* border: 1px solid rgba(224, 224, 224, 0.8); */
   transition: all 0.2s;
   overflow: hidden;
}
#bo_gall .gall_con:hover {
   /* box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.2); */
   border-color: #bebebe;
}

.gall_row .col-gn-0,
.gall_row .col-gn-1,
.gall_row .col-gn-2,
.gall_row .col-gn-3,
.gall_row .col-gn-4,
.gall_row .col-gn-5,
.gall_row .col-gn-6,
.gall_row .col-gn-7,
.gall_row .col-gn-8,
.gall_row .col-gn-9,
.gall_row .col-gn-10 {
   position: relative;
   min-height: 1px;
   padding-left: 10px;
   *padding-left: 0;
   padding-right: 10px;
   *padding-right: 0;
   float: left;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   margin-left: 0;
}
.gall_row .col-gn-0,
.latest_row .col-gn-1 {
   width: 100%;
}
.gall_row .col-gn-2 {
   width: 50%;
}
.gall_row .col-gn-3 {
   width: 33.33333333%;
}
.gall_row .col-gn-4 {
   width: 25%;
}
.gall_row .col-gn-5 {
   width: 20%;
}
.gall_row .col-gn-6 {
   width: 16.66666667%;
}
.gall_row .col-gn-7 {
   width: 14.28571428%;
}
.gall_row .col-gn-8 {
   width: 12.5%;
}
.gall_row .col-gn-9 {
   width: 11.11111111%;
}
.gall_row .col-gn-10 {
   width: 10%;
}

.gall_row .box_clear {
   clear: both;
}

#bo_gall .gall_now .gall_text_href a {
   color: #ff3061;
}

#bo_gall .gall_href a:link,
#bo_gall .gall_href a:focus,
#bo_gall .gall_href a:hover {
   text-decoration: none;
}

#bo_gall .gall_img a,
#bo_gall .gall_img .no_image,
#bo_gall .gall_img .is_notice {
   display: block;
   /* height: 100%; */
   width: 100%;
}

#bo_gall .gall_img span {
   display: inline-block;
   background: #eaeaea;
   text-align: center;
   /* line-height: 200px; */
   text-transform: uppercase;
   font-weight: bold;
   font-size: 1.25em;
   color: #777;
}

#bo_gall .gall_text_href {
   margin: 10px 0;
}
#bo_gall .gall_text_href a {
   font-weight: 400;
   color: var(--fontcolor);
   color: #222;
   text-align: center;
}
#bo_gall .gall_text_href a .additional-explanation {
   margin: 0;
   overflow: hidden;
   padding: 10px 10px;
   font-size: 0.93em;
}

#bo_gall .gall_text_href a .additional-explanation span {
   color: #333;
   word-break: keep-all;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   overflow: hidden;
   line-height: 1.45em; /* 추천: 너무 큰 2.6 → 줄이기 */
   margin: 0;
   /* 핵심 */
   height: calc(1.45em * 1); /* 줄높이*줄수 + padding */
}

#bo_gall .gall_text_href img {
   margin: 0 0 0 4px;
}
.gall_text_href h5 {
   overflow: hidden;
   /* background: #1f3a5f; */
   /* background: #1f3a2f; */
   padding: 12px 4px;
   margin: 0;
}
.gall_text_href .subject {
   margin-bottom: 0;
}
.gall_text_href .subject span {
   font-weight: 700;
   word-break: keep-all;
   white-space: wrap;
   font-size: 0.83em;
   padding: 0 16px;
   color: #333;
}
.gall_text_href .subject span {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: keep-all;
   line-height: 1.45em;
   max-height: calc(1.45em * 2);
   min-height: calc(1.45em * 2);
   height: calc(1.45em * 2);
   color: #333;
   margin: 0;
}

#bo_gall .bo_tit .cnt_cmt {
   background: #e9eff5;
   color: #3a8afd;
   font-size: 11px;
   height: 16px;
   line-height: 16px;
   padding: 0 5px;
   border-radius: 3px;
   vertical-align: middle;
}

#bo_gall .bo_cnt {
   color: #acacac;
   line-height: 18px;
}
#bo_gall .profile_img img {
   border-radius: 50%;
}
#bo_gall .bo_tit .fa-download {
   width: 16px;
   height: 16px;
   line-height: 16px;
   background: #e89f31;
   color: #fff;
   text-align: center;
   font-size: 10px;
   border-radius: 2px;
   vertical-align: middle;
}
#bo_gall .bo_tit .fa-link {
   vertical-align: middle;
   width: 16px;
   height: 16px;
   line-height: 16px;
   background: #2aa974;
   color: #fff;
   text-align: center;
   font-size: 10px;
   border-radius: 2px;
}

#bo_gall .bo_tit .new_icon {
   display: inline-block;
   width: 16px;
   line-height: 16px;
   font-size: 0.825em;
   color: #23db79;
   background: #b9ffda;
   text-align: center;
   border-radius: 2px;
   margin-left: 2px;
   font-weight: bold;
   vertical-align: baseline;
}
#bo_gall .bo_tit .hot_icon {
   display: inline-block;
   width: 16px;
   line-height: 16px;
   font-size: 0.833em;
   color: #fff;
   background: #e52955;
   text-align: center;
   border-radius: 2px;
   vertical-align: middle;
   margin-right: 2px;
}
#bo_gall .bo_tit .fa-lock {
   display: inline-block;
   line-height: 16px;
   color: #999;
   text-align: center;
   vertical-align: middle;
}

#bo_gall .gall_info {
   line-height: 20px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 8px 10px;
   font-size: 0.85rem;
   color: #666;
   border-top: 1px solid #eee;
}
#bo_gall .gall_info .sv_member {
   display: none;
}
#bo_gall .gall_info strong {
   display: inline-block;
   margin: 0;
}
#bo_gall .gall_info i {
   font-size: 12px;
   margin-right: 4px;
}
#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {
   display: inline-block;
   color: #777;
}

#bo_gall .gall_option {
   position: absolute;
   top: 10px;
   right: 10px;
}
#bo_gall .gall_option strong {
   background: #fff;
   padding: 5px 10px;
   border-radius: 30px;
   -webkit-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
   -moz-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
   box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
}

/* 게시판 목록 공통 */
#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;
   text-align: center;
   margin-left: 5px;
   background: #fff;
   list-style: none;
}
.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: 110px;
   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 a {
   display: flex;
   justify-content: space-around;
}

.more_opt li:hover a,
.more_opt li:hover button {
   color: #000;
}
.more_opt li i {
   /* float: right; */
   line-height: 24px;
}

.td_num strong {
   color: #000;
}
.bo_cate_link {
   display: inline-block;
   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_current {
   color: #e8180c;
}
#bo_list .profile_img {
   display: inline-block;
   margin-right: 5px;
}
#bo_list .profile_img img {
   border-radius: 50%;
}
#bo_list .cnt_cmt {
   display: inline-block;
   margin: 0 0 0 3px;
   font-weight: bold;
   color: #ed6478;
   font-size: 0.86em;
}

#bo_gall li.empty_list {
   padding: 85px 0;
   text-align: center;
}

.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: 50px 15px 20px;
   display: block;
}
.bo_sch select {
   border: 0;
   width: 200px;
   height: 40px;
   border: 1px solid #d0d3db;
   border-radius: 2px;
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.bo_sch .sch_bar {
   display: inline-block;
   width: 200px;
   clear: both;
   margin-top: 15px;
   border: 1px solid #d0d3db;
   border-radius: 2px;
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.bo_sch .sch_input {
   width: 150px;
   height: 38px;
   border: 0;
   padding: 6px 10px;
   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: var(--fontcolor);
   border: 0;
   padding: 12px 15px;
   font-size: 16px;
   background: #fff;
}
.bo_sch .bo_sch_cls:hover {
   color: var(--fontcolordown);
}
.bo_sch_bg {
   background: #000;
   background: rgba(0, 0, 0, 0.1);
   width: 100%;
   height: 100%;
}
.bo_sch label {
   width: 90px;
}

/* 게시판 쓰기 */
#char_count_desc {
   display: block;
   margin: 0 0 5px;
   padding: 0;
}
#char_count_wrap {
   margin: 5px 0 0;
   text-align: right;
}
#char_count {
   font-weight: bold;
}

#autosave_wrapper {
   position: relative;
}
#autosave_pop {
   display: none;
   z-index: 10;
   position: absolute !important;
   top: 34px;
   right: 0;
   width: 350px;
   height: auto !important;
   height: 180px;
   max-height: 180px;
   border: 1px solid #565656;
   background: #fff;
   -webkit-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
   -moz-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
   box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
}
#autosave_pop:before {
   content: "";
   position: absolute;
   top: -8px;
   right: 45px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 6px 8px 6px;
   border-color: transparent transparent #000 transparent;
}
#autosave_pop:after {
   content: "";
   position: absolute;
   top: -7px;
   right: 45px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 6px 8px 6px;
   border-color: transparent transparent #fff transparent;
}
html.no-overflowscrolling #autosave_pop {
   height: auto;
   max-height: 10000px !important;
} /* overflow 미지원 기기 대응 */
#autosave_pop strong {
   position: absolute;
   font-size: 0;
   line-height: 0;
   overflow: hidden;
}
#autosave_pop div {
   text-align: center;
   margin: 0 !important;
}
#autosave_pop button {
   margin: 0;
   padding: 0;
   border: 0;
}
#autosave_pop ul {
   padding: 15px;
   border-top: 1px solid #e9e9e9;
   list-style: none;
   overflow-y: scroll;
   height: 130px;
   border-bottom: 1px solid #e8e8e8;
}
#autosave_pop li {
   padding: 8px 5px;
   border-bottom: 1px solid #fff;
   background: #eee;
   zoom: 1;
}
#autosave_pop li:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#autosave_pop a {
   display: block;
   float: left;
}
#autosave_pop span {
   display: block;
   float: right;
   font-size: 0.92em;
   font-style: italic;
   color: #999;
}
.autosave_close {
   cursor: pointer;
   width: 100%;
   height: 30px;
   background: none;
   color: #888;
   font-weight: bold;
   font-size: 0.92em;
}
.autosave_close:hover {
   background: #f3f3f3;
   color: #3597d9;
}
.autosave_content {
   display: none;
}
.autosave_del {
   background: url(./img/close_btn.png) no-repeat 50% 50%;
   text-indent: -999px;
   overflow: hidden;
   height: 20px;
   width: 20px;
}

/* 게시판 읽기 */
#bo_v {
   position: relative;
   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: 10px 0;
   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: 8px 15px;
   position: relative;
   margin: 10px 0 0;
   border: 1px solid #dfdfdf;
   border-radius: 5px;
   /* box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); */
   display: flex;
   align-items: center;
}
#bo_v_file li i {
   float: left;
   color: #b2b2b2;
   margin-right: 20px;
}
#bo_v_file a {
   float: left;
   display: block;
   text-decoration: none;
   word-wrap: break-word;
   color: #000;
   margin-right: 10px;
   font-size: 0.92em;
}
#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.8em;
}
#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_file ul small {
   margin-left: 20px;
   color: #b2b2b2;
}
#bo_v_link li {
   padding: 8px 15px;
   position: relative;
   margin: 10px 0;
   border: 1px solid #dfdfdf;
   border-radius: 5px;
   box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%);
   display: flex;
   align-items: center;
}
#bo_v_link li i {
   float: left;
   color: #b2b2b2;
   margin-right: 20px;
}
#bo_v_link a {
   float: left;
   display: block;
   text-decoration: none;
   word-wrap: break-word;
   color: #000;
   margin-right: 10px;
}
#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;
}

#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: 0;
   float: right;
}
.bo_v_com > li {
   position: relative;
   float: left;
   margin-left: 5px;
}

.bo_v_nb {
   margin: 20px 0;
   position: relative;
   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 {
   width: 100%;
   height: 100%;
   object-fit: cover; /* ♢ 핵심: 비율 유지하면서 꽉 채움(중앙 크롭) */
   object-position: center center; /* 중간 기준으로 크롭 */
   display: block;
   top: 0 !important;
   left: 0 !important;
}

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

#bo_v_sns {
   padding: 0;
   list-style: none;
   zoom: 1;
   float: left;
   display: inline-block;
}
#bo_v_sns:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_v_sns li {
   float: left;
   width: 135px;
   margin-right: 5px;
   text-align: left;
}
#bo_v_sns li a {
   height: 35px;
   line-height: 35px;
   text-align: center;
   border-radius: 5px;
   color: #fff;
   font-size: 0.95em;
}
#bo_v_sns li img {
   vertical-align: middle;
   margin-right: 5px;
}
#bo_v_sns li .sns_f {
   display: block;
   background: #3b5997;
}
#bo_v_sns li .sns_t {
   display: block;
   background: #09aeee;
}
#bo_v_sns li .sns_g {
   display: block;
   background: #ea4026;
}
#bo_v_sns li .sns_k {
   display: block;
   background: #fbe300;
}

#bo_v_share {
   position: relative;
   padding: 20px 0;
}
#bo_v_share:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_v_share .btn {
   padding: 0 10px;
   color: #555;
   font-weight: normal;
   font-size: 1em;
   width: 80px;
   line-height: 35px;
   height: 35px;
   border-color: #d5d5d5;
   border-radius: 5px;
}
#bo_v_share .btn:hover {
   background: #fff;
}
#bo_v_share .btn i {
   margin-right: 5px;
   color: var(--maincolor);
   vertical-align: middle;
}

/* 게시판 댓글 */
.cmt_btn {
   width: 100%;
   text-align: left;
   border: 0;
   border-bottom: 1px solid #f0f0f0;
   background: #fff;
   font-weight: bold;
   margin: 30px 0 0px;
   padding: 0 0 15px;
}
.cmt_btn span.total {
   position: relative;
   display: inline-block;
   margin-right: 5px;
   font-size: 1em;
   color: #3a8afd;
}
.cmt_btn span.cmt_more {
   float: right;
   display: inline-block;
   width: 15px;
   height: 10px;
   background: url(./img/btn_cmt.png) no-repeat right 2px;
   margin-top: 5px;
}
.cmt_btn_op span.cmt_more {
   background-position: right -8px;
}
.cmt_btn b {
   font-size: 1.2em;
   color: #000;
}
.cmt_btn span.total:after {
   position: absolute;
   bottom: -17px;
   left: 0;
   display: inline-block;
   background: #3a8afd;
   content: "";
   width: 100%;
   height: 2px;
}
#bo_vc {
}
#bo_vc h2 {
   position: absolute;
   font-size: 0;
   line-height: 0;
   overflow: hidden;
}
#bo_vc article {
   margin: 20px 0;
   position: relative;
   border-bottom: 1px solid #f0f0f0;
}
#bo_vc article:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_vc article .profile_img img {
   border-radius: 50%;
}
#bo_vc article .pf_img {
   float: left;
   margin-right: 10px;
}
#bo_vc article .pf_img img {
   border-radius: 50%;
   width: 50px;
   height: 50px;
}
#bo_vc article .cm_wrap {
   float: left;
   max-width: 870px;
   width: 90%;
}
#bo_vc header {
   position: relative;
   width: 100%;
}
#bo_vc header:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_vc header .profile_img {
   display: none;
}
#bo_vc header .icon_reply {
   position: absolute;
   top: 15px;
   left: -20px;
}
#bo_vc .member,
#bo_vc .guest,
#bo_vc .sv_member,
#bo_vc .sv_guest {
   font-weight: bold;
}
.bo_vc_hdinfo {
   color: #777;
}
#bo_vc h1 {
   position: absolute;
   font-size: 0;
   line-height: 0;
   overflow: hidden;
}
#bo_vc .cmt_contents {
   line-height: 1.8em;
   padding: 0 0 20px;
}
#bo_vc p a {
   text-decoration: underline;
}
#bo_vc p a.s_cmt {
   text-decoration: underline;
   color: #ed6479;
}
#bo_vc_empty {
   margin: 0;
   padding: 80px 0 !important;
   color: #777;
   text-align: center;
}
#bo_vc #bo_vc_winfo {
   float: left;
}
#bo_vc .bo_vl_opt {
   position: absolute;
   top: 0;
   right: 0;
}

.bo_vc_act {
   display: none;
   position: absolute;
   right: 0;
   top: 40px;
   width: 80px;
   text-align: center;
   border: 1px solid #b8bfc4;
   margin: 0;
   list-style: none;
   background: #fff;
   zoom: 1;
   z-index: 9999;
}
.bo_vc_act:before {
   content: "";
   position: absolute;
   top: -8px;
   right: 5px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 6px 8px 6px;
   border-color: transparent transparent #b8bfc4 transparent;
}
.bo_vc_act:after {
   content: "";
   position: absolute;
   top: -6px;
   right: 5px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 6px 8px 6px;
   border-color: transparent transparent #fff transparent;
}
.bo_vc_act li {
   border-bottom: 1px solid #f0f0f0;
}
.bo_vc_act li:last-child {
   border-bottom: 0;
}
.bo_vc_act li a {
   display: inline-block;
   padding: 10px 15px;
}
.bo_vc_act li a:hover {
   color: #3a8afd;
}

.bo_vc_w {
   position: relative;
   margin: 10px 0;
   display: block;
}
.bo_vc_w:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
.bo_vc_w h2 {
   position: absolute;
   font-size: 0;
   line-height: 0;
   overflow: hidden;
}
.bo_vc_w #char_cnt {
   display: block;
   margin: 0 0 5px;
}
.bo_vc_w textarea {
   border: 1px solid #ccc;
   background: #fff;
   color: #000;
   vertical-align: middle;
   border-radius: 3px;
   padding: 5px;
   width: 100%;
   height: 120px;
   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
   -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
#wr_secret {
}
.bo_vc_w_info {
   margin: 10px 0;
   float: left;
}
.bo_vc_w_info:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
.bo_vc_w_info .frm_input {
   float: left;
   margin-right: 5px;
}
.bo_vc_w_info #captcha {
   padding-top: 10px;
   display: block;
   clear: both;
}
.bo_vc_w .btn_confirm {
   clear: both;
   margin-top: 10px;
}
.bo_vc_w .btn_confirm label {
   display: inline-block;
   margin-right: 10px;
   border-radius: 3px;
   font-size: 1.5em;
   text-align: center;
}
.bo_vc_w .btn_submit {
   height: 45px;
   padding: 0 20px;
   border-radius: 3px;
   font-weight: bold;
   font-size: 1.083em;
}
.bo_vc_w .btn_confirm .secret_cm label {
   font-size: 1em !important;
}
.bo_vc_w_wr:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
.secret_cm {
   display: inline-block;
   float: left;
}

#bo_vc_send_sns {
   display: inline-block;
   float: left;
}
#bo_vc_sns {
   display: inline-block;
   margin: 0;
   padding: 0;
   list-style: none;
   zoom: 1;
}
#bo_vc_sns:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_vc_sns li {
   float: left;
   margin: 0 5px 0 0;
}
#bo_vc_sns .sns_li_f {
   border-radius: 3px;
   background: #3a589b;
   height: 40px;
   line-height: 40px;
   padding: 0 0 0 10px;
}
#bo_vc_sns .sns_li_t {
   border-radius: 3px;
   background: #00aced;
   height: 40px;
   line-height: 40px;
   padding: 0 0 0 10px;
}
#bo_vc_sns .sns_li_off {
   background: #bbb;
}
#bo_vc_sns a {
   display: inline-block;
   padding: 0 15px 0 5px;
}
#bo_vc_sns input {
   margin: 0 5px 0 0;
}

/*글쓰기*/
#bo_w .bo_v_option li {
   display: inline-block;
   float: left;
   text-align: left;
   margin: 0 5px 0 0;
}
#bo_w .bo_v_option li label {
   vertical-align: baseline;
}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {
   margin-left: 0;
   margin-right: 5px;
}
#bo_w .write_div {
   margin: 10px 0;
   position: relative;
}
#bo_w .write_div:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_w .bo_w_info:after {
   display: block;
   visibility: hidden;
   clear: both;
   content: "";
}
#bo_w .bo_w_info .frm_input {
   float: left;
   margin-bottom: 1%;
}
#bo_w #wr_password,
#bo_w #wr_homepage {
   /* margin-left: 1%; */
}
#bo_w .wr_content.smarteditor2 iframe {
   background: #fff;
}
#bo_w .bo_w_tit {
   position: relative;
}
#bo_w .bo_w_tit .frm_input {
   padding-right: 120px;
}
#bo_w .bo_w_tit #btn_autosave {
   position: absolute;
   top: 5px;
   right: 5px;
   line-height: 30px;
   height: 30px;
}
#bo_w .bo_w_link label {
   position: absolute;
   top: 1px;
   left: 1px;
   border-radius: 3px 0 0 3px;
   height: 38px;
   line-height: 38px;
   width: 40px;
   font-size: 1.2em;
   text-align: center;
   color: #b2b2b2;
}
#bo_w .bo_w_link .frm_input {
   padding-left: 50px;
}
#bo_w .bo_w_flie .lb_icon {
   position: absolute;
   top: 0px;
   left: 0px;
   border-radius: 3px 0 0 3px;
   height: 38px;
   line-height: 38px;
   width: 40px;
   font-size: 1.2em;
   text-align: center;
   color: #b2b2b2;
}
#bo_w .bo_w_flie .frm_file {
   padding-left: 50px;
   margin-top: 3px;
}
#bo_w .bo_w_flie .file_wr {
   position: relative;
   border: 1px solid #ccc;
   background: #fff;
   color: #000;
   vertical-align: middle;
   border-radius: 3px;
   padding: 5px;
   margin: 0;
}
#bo_w .bo_w_flie .frm_input {
   margin: 10px 0 0;
}
#bo_w .bo_w_flie .file_del {
   position: absolute;
   top: 10px;
   right: 10px;
   font-size: 0.92em;
   color: #7d7d7d;
}
#bo_w .bo_w_select select {
   border: 1px solid #d0d3db;
   width: 100%;
   height: 40px;
   border-radius: 3px;
}

/* Customizing */
#bo_gall #gall_ul {
   /* margin: 10px 0 0 -10px; */
}
#bo_gall #gall_ul {
   display: grid;
   /* grid-template-columns: repeat(4, minmax(200px, 1fr)); */
   /* grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); */
   grid-template-columns: repeat(auto-fit, minmax(230px, 265px));
   gap: 20px;
}
#bo_gall .gall_li {
   /* border-radius: 10px; */
   transition: all 0.3s;
   list-style: none;
   margin: 0;
   overflow: hidden;
   border: 1px solid #ddd;
}

#bo_gall .gall_img {
   border: 0;
   /* aspect-ratio: 10 / 10; */
   position: relative;
   padding: 10px 30px;
   overflow: hidden;
}
#bo_gall .gall_img a {
   display: flex;
   align-items: center;
   justify-content: center;
   height: auto !important;
   width: 100%;
   position: relative;
}

#bo_gall .gall_img img {
   object-fit: cover; /* ♢ 핵심: 비율 유지하면서 꽉 채움(중앙 크롭) */
   object-position: center center; /* 중간 기준으로 크롭 */
   display: block;
   width: 90%;
   height: auto;
   transition: transform 0.2s;
   transform-origin: center center;
}
#bo_gall .gall_con:hover img {
   transform: scale(1.15);
}
#bo_gall .gall_con:hover .gall_text_href .subject span {
   /* color: #d60011; */
   color: #df0700;
}

#bo_gall .gall_img span {
   font-weight: 500;
   color: #fff;
   background: none;
   display: block;
}

#bo_gall .gall_text_href {
   margin: 0;
   /* padding: 12px 10px 0px; */
}
#bo_gall .bo_tit {
   font-size: 1.23em;
   line-height: 1.3;
   overflow: hidden;
   text-overflow: ellipsis;
   display: block;
   width: 100%;
   letter-spacing: -0.5px;
   display: block;
   font-weight: 600;
   color: #333;
   text-decoration: none;
}
#bo_gall .bo_tit .bo_icon {
   display: flex;
   align-items: center;
   height: 26px;
}
#bo_gall .bo_tit .bo_icon img {
   width: 16px;
   margin-top: 4px;
}
#bo_gall .bo_tit .bo_icon i {
   margin: 0 1px;
}
#bo_gall .bo_tit .bo_icon .file-count {
   color: #333;
   vertical-align: sub;
   font-size: 0.6em;
   margin-right: 2px;
}

#bo_gall .bo_cnt {
   display: none;
}

#bo_gall .bo_tit .new_icon {
   background: #f39800;
   color: #fff;
   font-size: 0.6em;
   font-weight: 500;
   vertical-align: 1px;
}

#bo_v_item:after {
   clear: both;
   display: block;
   content: "";
}
#bo_v_item #bo_v_img {
   float: left;
   height: auto !important;
}
#bo_v_item #bo_v_img .fotorama__stage,
#bo_v_item #bo_v_img .fotorama__stage__frame,
#bo_v_item #bo_v_img .fotorama__img {
   aspect-ratio: 1/ 1;
   height: auto !important;
}
#bo_v_item #bo_v_summary {
   float: right;
   /* width: 47%; */
}
#bo_v_item #bo_v_summary h2 {
   font-size: 0 !important;
   text-indent: -9000px;
   display: none;
}

#bo_v_item.flex {
   align-items: flex-start;
}

#bo_v_summary .bo_v_title {
   font-size: 1.8em;
   font-weight: 700;
   line-height: 1.3;
}

#bo_v_summary .bo_v_title small {
   font-size: 0.5em;
   color: #999;
   display: block;
   line-height: 1;
   margin: 0 0 5px;
   font-weight: 400;
}
#bo_v_summary .refer {
   line-height: 1.5;
   margin: 10px 0 0 0;
}
#bo_v_summary th,
#bo_v_summary td {
   border: 1px solid #e0e0e0;
   border-left: 0;
   border-right: 0;
   text-align: left;
   line-height: 1.3;
   padding: 10px;
}
#bo_v_summary th {
   background: #fff;
   width: 120px;
   border-right: 1px solid #e0e0e0;
   min-width: 60px;
   text-align: center;
}
#bo_v_summary table {
   border-top: 2px solid #666;
   margin-top: 20px;
   width: 100%;
}
.fotorama__nav-wrap {
   margin-top: 10px;
}
.bo_v_nb {
   margin: 50px 0;
}
#bo_v_desc {
   margin-top: 80px;
}
#bo_v_desc table {
   margin: 0 auto;
   min-width: 720px;
}
#bo_v_desc table p {
   margin-bottom: 0px;
}
#bo_v_desc img {
   margin: 0 auto;
   display: block;
}
#bo_v_desc *[style] {
   /* font-size: 14px !important; */
   /* text-align: center; */
   padding-top: 4px !important;
   padding-bottom: 4px !important;
}
.bo_v_nb li {
   border-color: #e0e0e0 !important;
}
.cmt_btn {
   margin-top: 80px;
}
#bo_v_act {
   margin: 80px 0 0 0 !important;
}
#bo_v_share {
   text-align: center;
   padding: 40px 0;
}
#bo_v_sns {
   text-align: center;
   float: none;
   display: inline-block;
}
#bo_v_sns li {
   width: auto;
   float: none;
   display: inline-block;
   text-align: center;
}
#bo_v_sns li a {
   width: 60px;
   height: 60px;
   line-height: 60px;
   border-radius: 50%;
   padding: 0;
   text-align: center;
   display: inline-block !important;
}
#bo_v_sns li img {
   margin: 0;
}
#bo_v_sns li span {
   display: none;
}
#bo_v_share .btn {
   width: 60px;
   height: 60px;
   line-height: 1.2;
   border-radius: 50%;
   font-size: 12px;
   padding: 0;
   text-align: center;
   display: inline-block;
}
#bo_v_share .btn i {
   display: block;
   font-size: 1.5em;
   margin: 10px 0 3px;
}
.bo_cate_link {
   background: none;
   color: #bbb !important;
   line-height: 1;
   padding: 0;
   display: block;
   height: auto;
   margin: 0 0 5px;
   font-size: 0.95em;
}

.flex_wrap {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: nowrap;
   margin: 5px 0;
}
.flex_wrap label {
   margin-bottom: 0;
}
.flex_wrap .sch_bar {
   margin-top: 0;
}
.fotorama__arr {
   /* display: inherit !important; */
}
.ProductOverview {
   /* border-bottom: 1px solid #eee;
   background-color: #fafafa; */
}
.ProductOverview-title {
   font-size: 2rem;
   font-weight: 800;
   text-align: center;
   margin: 70px 0 50px;
   letter-spacing: -0.5px;
   position: relative;
   color: #222;
   padding-bottom: 20px;
   border-bottom: 1px solid #eee;
}
.ProductOverview-title::after {
   /* content: "";
   position: absolute;
   bottom: -12px;
   left: 0;
   width: 100%;
   height: 3px;
   background: linear-gradient(to right, transparent, #ddd, transparent); */
   /* 필요하면 투명도 및 색상 조절 */
}
.ProductOverview-title::before {
   content: "";
   position: absolute;
   width: 40px;
   height: 3px;
   bottom: 0px;
   left: 50%;
   margin-left: -20px;
   background-color: var(--maincolor);
}
.ProductOverview-con img {
   width: 100%;
   border-radius: 8px; /* 모서리 둥글게 */
}
.Productlist-title {
   font-size: 22px;
   font-weight: 700 !important;
   margin: 30px 0 20px;
   color: #333;
   border-bottom: 2px solid #ddd;
   padding-bottom: 8px;
}
.board_title {
   font-size: 2rem;
   font-weight: 800;
   text-align: center;
   margin: 70px 10px 20px;
   letter-spacing: -0.5px;
   position: relative;
   color: #222;
   width: 100%;
   max-width: 1170px;
   text-align: center;
   border-bottom: 1px solid #fff;
   padding: 0 10px 20px;
}

.board_title::after {
   content: "";
   position: absolute;
   width: 40px;
   height: 3px;
   bottom: 0px;
   left: 50%;
   margin-left: -20px;
   background-color: var(--maincolor);
}

#external-showcases {
   /* margin-top: 80px;
   margin-bottom: 100px; */
   /* padding-top: 80px;
   padding-bottom: 100px; */
}
#external-showcases .related_products_icon:last-child {
   margin-bottom: 100px;
}
.showcases_title {
   font-size: 26px;
   font-weight: 800;
   margin-bottom: 30px;
   display: flex;
   align-items: center;
   gap: 16px;
   margin-top: 80px;
}

.showcases_title a {
   text-decoration: none;
   color: #222;
   position: relative;
   letter-spacing: -1px;
}

/* 오른쪽 확장 라인 */
/* .showcases_title a::after {
   content: "";
   display: inline-block;
   width: 80px;
   height: 3px;
   background: linear-gradient(to right, #007bff, transparent);
   margin-left: 14px;
   vertical-align: middle;
} */
.showcases_title a::before {
   content: "";
   display: inline-block;
   width: 3px;
   height: 1em;
   background: #007bff;
   margin-right: 10px;
   vertical-align: middle;
}

.showcases_title a:hover {
   color: rgb(0, 59, 122);
}
/* 타 게시판 최신글 가져오기 (<section id="external-showcases">) */

#external-showcases .latest-multi {
   text-align: center;
   /* columns: 4;
   column-width: 150px; */
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
   gap: 30px;
   margin-bottom: 60px;
}
#external-showcases .product-item {
   list-style: none;
   border-radius: 14px;
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.06);
   transition: all 0.3s ease;
   margin-bottom: 10px;
}

/* hover 효과 */
#external-showcases .product-item:hover {
   box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
   transform: translateY(-4px);
}

/* 이미지 영역 */
#external-showcases .product-item-img {
   position: relative;
   overflow: hidden;
}

/* 이미지 */
#external-showcases .product-item-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition:
      transform 0.6s ease,
      filter 0.6s ease;
}

/* hover 줌 */
#external-showcases .product-item:hover .product-item-img img {
   transform: scale(1.04);
}

/* 텍스트 영역 */
#external-showcases .product-item-info {
   padding: 14px 10px 18px;
}

/* 카테고리 */
#external-showcases .product-item-info .bo_subject {
   font-size: 13px;
   color: var(--maincolor);
   font-weight: 600;
   letter-spacing: 0.5px;
   margin-bottom: 6px;
}

/* 제목 */
#external-showcases .product-item-info .subject {
   font-size: 14px;
   font-weight: 600;
   line-height: 1.5;
   color: #111;
   display: -webkit-box;
   -webkit-line-clamp: 2; /* 2줄 고정 */
   -webkit-box-orient: vertical;
   overflow: hidden;
   min-height: calc(1.5em * 2);
   word-break: keep-all;
}

/* 링크 기본 스타일 제거 */
#external-showcases .product-item a {
   text-decoration: none;
   color: inherit;
}

/* 링크 전체 */
.related_products_icon a {
   display: flex;
   align-items: center;
   gap: 13px;
   padding: 16px 10px;
   text-decoration: none;
   background: #f7f7f7;
   border-radius: 12px;
   transition: all 0.3s ease;
}

/* 텍스트 */
.related_products_icon a {
   font-size: 19px;
   font-weight: 600;
   color: #222;
}

/* 바로가기 */
.related_products_icon a small {
   font-size: 14px;
   font-weight: 500;
   color: #666;
   margin-left: 6px;
   min-width: 60px;
}

/* 아이콘 영역 */
.mouse-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 50px;
   height: 50px;
   background: rgba(0, 123, 255, 0.05);
   border-radius: 50%;
   flex-shrink: 0;
}

/* SVG 크기 */
.mouse-icon svg {
   width: 44px;
   height: 44px;
}

/* 선 더 또렷하게 */
.mouse-icon svg * {
   stroke-width: 3.5;
   stroke-linecap: round;
   stroke-linejoin: round;
}

/* hover 효과 */
.related_products_icon a:hover {
   background: #eef5ff;
   transform: translateX(6px);
   /* box-shadow: 0 6px 18px rgba(0, 123, 255, 0.15); */
}

.related_products_icon a:hover small {
   color: #007bff;
}

.related_products_icon a:hover svg {
   transform: scale(1.1);
   transition: 0.3s ease;
}

/* 상단 시스템 설명 부분 */
.system-section {
   margin: 60px 0;
}

.system-title {
   font-size: 22px;
   font-weight: 600;
   margin: 15px 0 30px;
   padding-left: 14px;
   border-left: 4px solid #2c6ed5;
}

.system-content {
   background: #f8f9fb;
   border: 1px solid #e2e5ea;
   padding: 25px;
   border-radius: 6px;
}

.system-content img {
   max-width: 100%;
   height: auto;
   display: block;
   margin: auto;
}

article.bg_bo_gall {
   background:
      linear-gradient(
         120deg,
         rgba(255, 255, 255, 0.8),
         rgba(255, 255, 255, 0.6)
      ),
      url(../../../../img/index_bg_05.jpg);
   background-size: cover;
   padding-top: 10px;
   padding-bottom: 80px;
   display: flex;
   align-items: center;
   flex-direction: column;
}

/* 더보기 버튼 추가 */
/* 더보기 버튼 */
.board-more-wrap {
   margin: 30px 0 10px;
   text-align: center;
}

.board-more-btn {
   min-width: 160px;
   height: 40px;
   padding: 0 24px;
   border: 1px solid #ddd;
   background: #fff;
   border-radius: 999px;
   cursor: pointer;
   font-weight: 400;
   transition:
      background 0.25s ease,
      border-color 0.25s ease,
      transform 0.25s ease;
}

.board-more-btn:hover {
   background: #f5f5f5;
}

/* 처음 숨김 */
.js-more-item.is-hidden {
   display: none;
}

/* 등장 직전 상태 */
.js-more-item.fade-ready {
   display: list-item;
   opacity: 0;
   transform: translateY(20px);
}

/* 등장 완료 */
.js-more-item.show {
   opacity: 1;
   transform: translateY(0);
   transition:
      opacity 0.5s ease,
      transform 0.5s ease;
}

.btn_list {
   float: right;
}
a.btn_list:hover {
   color: #222 !important;
}

/* 더보기 버튼 추가 */

@media (max-width: 1024px) {
   .gall_text_href h5 {
      font-size: 0.85rem !important;
   }
   #external-showcases .product-item-info .subject {
      font-size: 14px !important;
   }
   .related_products_icon a {
      font-size: 16px !important;
   }
}

@media (max-width: 576px) {
   .gall_text_href h5 {
      font-size: 0.8rem !important;
   }
   #bo_v_item #bo_v_img {
      padding-left: 0;
      padding-right: 0;
   }
   #bo_v_item #bo_v_summary {
      padding-left: 0;
      padding-right: 0;
   }
   #external-showcases .latest-multi {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
   }
   #bo_gall #gall_ul {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
   }
}
/* 📱 모바일에서 2열 강제 */

@media (max-width: 480px) {
   .product-list {
      grid-template-columns: repeat(2, 1fr);
   }
   #bo_gall #gall_ul {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
   }
   #bo_gall .gall_info {
      font-size: 0.8rem;
   }
   #external-showcases .latest-multi {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (min-width: 600px) {
   /* .gall_li {
      width: 48%;
      display: inline-block;
      margin: 1%;
   } */
}

@media (min-width: 992px) {
   /* .gall_li {
      width: 31%;
      margin: 1%;
   } */
}
