/********************************
    UNIFIED BOARD STYLE
    - 클래스명은 회사 컨벤션에 맞춰 _만 사용
    - 최상위 게시판 class 기준으로 정리
    - 같은 class명끼리 흩어지지 않게 그룹화
********************************/

/********************************
    BOARD COMMON
********************************/
/* transition: all 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940);  */

.board_comment,
.board_latest {width:100%; color: #222; }

.board_comment *,
.board_latest * { box-sizing: border-box; }

.board_top { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 40px; }

.board_total,
.board_total p { color: #222; font-size: 1.125rem; font-weight: 700; flex-shrink:0;}

.board_total em { color: #222; font-weight: 700; }

.board_no_data { padding: 80px 20px; border-top: 2px solid #222; border-bottom: 1px solid #ddd; text-align: center; color: #555; }

.board_left { display: flex; align-items: center; gap: 10px; }

.board_admin { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 40px auto 0; }

.board_admin_right { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-left: auto; }

.board_admin a,
.board_btn,
.board_more_btn,
.board_write_btn a,
.board_form_btn { display: inline-flex; align-items: center; justify-content: center; min-width: 90px; height: 40px; padding: 0 20px; border: 1px solid #222; background: #222; color: #fff; font-size: 0.875rem; font-weight: 700; text-decoration: none; cursor: pointer; }

.board_btn_dark,
.board_btn_primary { border-color: #222; background: #222; color: #fff; }

.board_more_btn { margin: 40px auto 0; }

.board_write_btn { display: flex; justify-content: flex-end; margin: 30px 0 0; }

.board_write_btn a { gap: 10px; }

.board_write_btn a p { color: #fff; font-size: 0.875rem; font-weight: 700; }

.board_pen_icon { width: 14px; height: 14px; fill: #fff; }

/********************************
    BOARD SEARCH
********************************/
.board_search { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }

.board_search select,
.board_search_select,
.board_top select { min-width: 130px; height: 44px; padding: 0 40px 0 20px; border: 1px solid #ddd; color: #222; font-size: 1rem; background: #fff; appearance: none; -webkit-appearance: none; -moz-appearance: none; }

.board_search_input { position: relative; width: 285px; }

.board_search_input input,
.board_search_input input[type="text"],
.board_search_input input[type="search"],
.board_search_input input[type="password"] { width: 100%; height: 44px; padding: 0 60px 0 20px; border: 1px solid #ddd; color: #222; font-size: 1rem; background: #fff; }

.board_search_input input::placeholder { color: #888; }

.board_search_input button,
.board_search_btn { position: absolute; right: 0; top: 50%; width: 44px; height: 44px; transform: translateY(-50%); background-color: #f3f3f3; background-image: url('/assets/images/sub/icon-search-bk.svg'), url('assets/images/sub/icon-search-bk.svg'); background-position: center; background-size: 20px auto; background-repeat: no-repeat; font-size: 0; }

/********************************
    BOARD CUSTOM SELECT
********************************/
.board_select { position: relative; flex-shrink: 0; min-width: 135px; }

.board_select_btn { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 44px; padding: 0 16px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 1rem; text-align: left; }

.board_select_text { display: block; color: #222; font-size: 1rem; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_select_arrow { position: absolute; right: 16px; top: 50%; width: 10px; height: 10px; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; transform: translateY(-50%) rotate(90deg); }

.board_select.on .board_select_arrow { transform: translateY(-50%) rotate(-90deg); }

.board_select_list { display: none; position: absolute; left: 0; top: calc(100% - 1px); z-index: 30; width: 100%; border: 1px solid #ddd; background: #fff; }

.board_select.on .board_select_list { display: block; }

.board_select_list li { border-bottom: 1px solid #eee; }

.board_select_list li:last-child { border-bottom: 0; }

.board_select_list button { display: block; width: 100%; height: 40px; padding: 0 20px; color: #555; font-size: 1rem; text-align: left; }

.board_select_list li.on button,
.board_select_list button:hover { background: #f3f3f3; color: #222; font-weight: 700; }

/********************************
    BOARD PAGING
********************************/
.board_paging { margin: 40px 0; text-align: center; }

.board_paging ul { display: flex; align-items: center; justify-content: center; gap: 10px; }

.board_paging li { display: flex; align-items: center; justify-content: center; }

.board_paging a,
.board_paging strong,
.board_paging span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; color: #222; font-size: 1rem; font-weight: 700; text-decoration: none; }

.board_paging a:hover { background: #f3f3f3; }

.board_paging strong,
.board_paging li.on a,
.board_paging li.active a,
.board_paging li.active span,
.board_paging .active a,
.board_paging .active span,
.board_paging [aria-current="page"] { background: #222; color: #fff; }

.board_paging img { display: none; }

.board_paging .board_paging_prev,
.board_paging .board_paging_next,
.board_paging a[rel="prev"],
.board_paging a[rel="next"],
.board_paging .paging li:first-child a,
.board_paging .paging li:nth-child(2) a,
.board_paging .paging li:nth-last-child(2) a,
.board_paging .paging li:last-child a { position: relative; min-width: 40px; padding: 0; font-size: 0; }

.board_paging .board_paging_prev::before,
.board_paging .board_paging_next::before,
.board_paging a[rel="prev"]::before,
.board_paging a[rel="next"]::before,
.board_paging .paging li:first-child a::before,
.board_paging .paging li:nth-child(2) a::before,
.board_paging .paging li:nth-last-child(2) a::before,
.board_paging .paging li:last-child a::before { content: ''; display: block; width: 7.5px; height: 12px; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; }

.board_paging .board_paging_prev::before,
.board_paging a[rel="prev"]::before,
.board_paging .paging li:first-child a::before,
.board_paging .paging li:nth-child(2) a::before { transform: rotate(180deg); }

.board_paging .board_paging_next::before,
.board_paging a[rel="next"]::before { transform: rotate(0); }

/********************************
    BOARD TAB / CATEGORY / TAG
********************************/
.board_tab { margin-bottom: 50px; }

.board_tab ul { display: flex; align-items: center; justify-content: center; gap: 30px; }

.board_tab a { position: relative; display: inline-flex; align-items: center; height: 30px; color: #888; font-size: 1rem; font-weight: 700; text-decoration: none; }

.board_tab li.on a { color: #222; }

.board_tab li.on a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #222; }

.board_category ul { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }

.board_category a { display: inline-flex; align-items: center; height: 40px; padding: 0 20px; border: 1px solid #ddd; color: #555; text-decoration: none; }

.board_category li.on a { border-color: #222; background: #222; color: #fff; }

.board_tag { display: inline-flex; align-items: center; justify-content: center; min-width: auto; height: 30px; margin-right: 0; padding: 0 10px; border: 0; background: #f3f3f3; color: #222 !important; font-size: 0.75rem; font-weight: 700; vertical-align: middle; }

.board_tag_notice,
.board_item_notice .board_tag_notice { background: #222; color: #fff !important; }

.board_tag_cate { border: 0; color: #222 !important; }

/********************************
    BOARD BASIC
********************************/
.board_basic .board_list_head { display: grid; grid-template-columns: 100px minmax(0, 1fr) 140px 140px 100px; align-items: center; min-height: 60px; border-top: 2px solid #222; border-bottom: 1px solid #ddd; color: #222; font-size: 1rem; font-weight: 700; text-align: center; }

.board_basic .board_list_wrap ul { border-top: 0; }

.board_basic .board_list_wrap li { position: relative; border-bottom: 1px solid #eee; }

.board_basic .board_list_wrap li > input[type="checkbox"] { position: absolute; left: 10px; top: 50%; z-index: 2; transform: translateY(-50%); }

.board_basic .board_list_wrap li.board_item_notice { background: rgba(34, 34, 34, .06); }

.board_basic .board_list_wrap li a.board_link { display: grid; grid-template-columns: 100px minmax(0, 1fr) 140px 140px 100px; align-items: center; min-height: 60px; color: inherit; text-decoration: none; }

.board_basic .board_list_wrap li:hover .board_tit { text-decoration: underline; text-underline-position: under; }

.board_basic .board_num { display: flex; align-items: center; justify-content: center; min-width: 0; color: #888; font-size: 0.875rem; font-weight: 400; text-align: center; }

.board_basic .board_cate_box { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; }

.board_basic .board_tit_box { min-width: 0; flex: 1; padding-left: 0; }

.board_basic .board_mob_meta { display: none; }

.board_basic .board_tit_box > span,
.board_basic .board_cate { display: block; margin-bottom: 10px; color: #222; font-size: 1rem; font-weight: 700; }

.board_basic .board_tit_box p,
.board_basic .board_tit { display: block; max-width: 100%; color: #222; font-size: 1rem; font-weight: 700; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_basic .board_writer,
.board_basic .board_date,
.board_basic .board_hit { color: #888; font-size: 0.875rem; font-weight: 400; text-align: center; }

.board_basic .board_date_pc,
.board_basic .board_date_mob { display: none; }

/********************************
    BOARD GALLERY GRID
********************************/
.board_gallery_grid .board_top { justify-content: space-between; }

.board_gallery_grid .board_gallery_items { display: flex; flex-wrap:wrap; gap: 60px 30px; }

.board_gallery_grid .board_gallery_items li{width:calc((100% - 60px) / 3);}

.board_gallery_grid .board_gallery_items li a {width:100%; display: block; color: inherit; text-decoration: none; }

.board_gallery_grid .board_img_box { overflow: hidden; position: relative; width: 100%; aspect-ratio: 1.606 / 1; background: #f8f8f8; }

.board_gallery_grid .board_img_box img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }

.board_gallery_grid .board_gallery_items li:hover .board_img_box img { transform: scale(1.04); }

.board_gallery_grid .board_gallery_info { padding: 20px 0 0; }

.board_gallery_grid .board_gallery_info .board_tit { display: block; margin-bottom: 10px; color: #222; font-size: 1rem; font-weight: 700; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_gallery_grid .board_meta { display: flex; align-items: center; gap: 10px; min-width: 0; }

.board_gallery_grid .board_meta .board_date { color: #888; font-size: 0.75rem; font-weight: 700; }

/********************************
    BOARD GALLERY LIST
********************************/
.board_gallery_list .board_top { align-items: flex-end; justify-content: space-between; }

.board_gallery_list .board_gallery_blog_items { border-top: 0; }

.board_gallery_list .board_gallery_blog_items li { border-bottom: 1px solid #ddd; }

.board_gallery_list .board_gallery_blog_items li a { display: grid; grid-template-columns: 420px minmax(0, 1fr); align-items: center; gap: 40px; padding: 60px 0; color: inherit; text-decoration: none; }

.board_gallery_list .board_gallery_blog_items li:first-child a{padding:0 0 60px;}

.board_gallery_list .board_img_box { overflow: hidden; position: relative; width: 100%; aspect-ratio: 1.606 / 1; background: #f8f8f8; }

.board_gallery_list .board_img_box img,
.board_gallery_list .preview_img { display: block; width: 100%; height: 100%; object-fit: cover; }

.board_gallery_list .board_gallery_blog_items li a > img { display: block; width: 100%; aspect-ratio: 1.606 / 1; height: auto; object-fit: cover; }

.board_gallery_list .board_gallery_blog_items li:hover .board_img_box img,
.board_gallery_list .board_gallery_blog_items li:hover .preview_img { transform: scale(1.04); }

.board_gallery_list .board_gallery_info { display: flex; flex-direction: column; min-width: 0; padding: 0; }

.board_gallery_list .board_gallery_info .board_tit { display: -webkit-box; color: #222; font-size: 1.75rem; font-weight: 700; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }

.board_gallery_list .board_gallery_info .board_txt { display: -webkit-box; margin-top: 30px; color: #555; font-size: 1.125rem; font-weight: 400; line-height: 1.7; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }

.board_gallery_list .board_gallery_info .board_date { display: block; margin-top: 40px; color: #888; font-size: 1rem; font-weight: 400; }

/********************************
    BOARD VIEW
********************************/
.board_view .board_view_head { padding: 40px 0 30px; border-top: 2px solid #222; border-bottom: 1px solid #ddd; }

.board_view .board_view_title { margin: 0 0 20px; color: #222; font-size: 1.5rem; font-weight: 700; line-height: 1.5; }

.board_view .board_view_meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; color: #555; font-size: 1rem; }

.board_view .board_view_meta span { position: relative; color: #555; font-size: 1rem; font-weight: 400; }

.board_view .board_view_meta span + span::before { content: ''; position: absolute; left: -10px; top: 50%; width: 1px; height: 12px; background: #ddd; transform: translateY(-50%); }

.board_view .board_file_list { display: flex; flex-direction: column; gap: 10px; margin-top: 30px; padding: 30px; background: #f3f3f3; }

.board_view .board_file_item { display: flex; align-items: center; gap: 10px; min-height: 30px; color: #888; font-size: 1rem; text-decoration: none; }

.board_view .board_file_item:hover .board_file_name { color: #222; text-decoration: underline; text-underline-position: under; }

.board_view .board_file_icon { flex: 0 0 20px; width: 16px; height: 16px; background-image: url('/assets/images/sub/icon-download-bk.svg'), url('assets/images/sub/icon-download-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; }

.board_view .board_file_name { color: #888; font-size: 1rem; font-weight: 400; line-height: 1.5; }

.board_view .board_view_cont,
.board_view .board_view_box { min-height: 360px; padding: 70px 30px; color: #222; font-size: 1rem; line-height: 1.75; }

.board_view .board_view_cont p,
.board_view .board_view_box p { color: #222; font-size: 1rem; line-height: 1.75; }

.board_view .board_view_img { margin-bottom: 40px; }

.board_view .board_view_img img,
.board_view .board_view_cont img,
.board_view .board_view_box img { max-width: 100%; height: auto; }

.board_view .board_view_control { padding: 30px 0 70px; border-top: 1px solid #ddd; text-align: center; }

.board_view .board_back_btn { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 160px; height: 56px; padding: 0 30px; border: 1px solid #222; background: #222; color: #fff; font-size: 1rem; font-weight: 700; text-decoration: none; }

.board_view .board_back_btn:hover { background: #555; color: #fff; }

.board_view .board_back_btn img,
.board_view .board_back_btn .ham { display: none; }

.board_view .board_view_nav,
.board_view .board_view_bottom { display: block; padding: 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }

.board_view .board_view_arr { display: grid; grid-template-columns: 30px 70px minmax(0, 1fr); align-items: center; gap: 0; min-height: 50px; padding: 0 20px; color: #222; text-decoration: none; }

.board_view .board_view_arr + .board_view_arr { border-top: 1px solid #ddd; }

.board_view .board_view_arr:hover { background: #f3f3f3; }

.board_view .board_view_arr img,
.board_view .board_view_arr svg { display: none !important; }

.board_view .board_view_nav_icon { display: block; width: 12px; height: 12px; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; transform: rotate(-90deg); }

.board_view .board_next .board_view_nav_icon,
.board_view .board_view_arr:last-child .board_view_nav_icon { transform: rotate(90deg); }

.board_view .board_view_nav_label { color: #888; font-size: 1rem; font-weight: 700; }

.board_view .board_view_arr p,
.board_view .board_view_bottom .board_view_arr span:last-child { width: auto; max-width: 100%; color: #222; font-size: 1rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_view .board_answer_view { margin-top: 40px; border-top: 1px solid #ddd; }

.board_view .board_answer_view_tit { padding-top: 40px; color: #222; font-size: 1.25rem; font-weight: 700; }

/********************************
    BOARD FAQ
********************************/
.board_faq .board_faq_list { border-top: 2px solid #222; }

.board_faq .board_faq_list li { border-bottom: 1px solid #ddd; }

.board_faq .board_faq_q { position: relative; display: flex; align-items: center; gap: 20px; padding: 20px 60px 20px 20px; cursor: pointer; }

.board_faq .board_faq_q::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7.5px; height: 12px; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; transform: translateY(-50%) rotate(90deg); transition: transform .25s; }

.board_faq .board_faq_list li.open .board_faq_q::after { transform: translateY(-50%) rotate(-90deg); }

.board_faq .board_faq_a { display: none; padding: 20px; border-top: 1px solid #ddd; background: #f8f8f8; }

.board_faq .board_faq_list li.open .board_faq_a { display: block; }

.board_faq .board_faq_a_inner { display: flex; align-items: flex-start; gap: 20px; }

.board_faq .board_faq_icon_q,
.board_faq .board_faq_icon_a { display: inline-flex; flex: 0 0 50px; align-items: center; justify-content: center; width: 50px; height: 50px; font-size: 1.25rem; font-weight: 700; }

.board_faq .board_faq_icon_q { background: #f3f3f3; color: #222; }

.board_faq .board_faq_icon_a { background: #222; color: #fff; }

.board_faq .board_faq_tit strong { color: #222; font-size: 1.125rem; font-weight:700;}

.board_faq .board_faq_tit span { display: block; margin-bottom: 10px; color: #888; font-size: 0.875rem; }

.board_faq .board_faq_txt p { color: #555; font-size: 1rem; line-height: 1.625; }

.board_faq .board_faq_control { display: flex; justify-content: flex-end; gap: 10px; margin-top: 10px; }

.board_faq .board_faq_control .board_btn { min-width: 40px; height: 30px; padding: 0 10px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 0.875rem; font-weight: 400; }

.board_faq .board_faq_control .board_btn:hover { border-color: #222; background: #222; color: #fff; }

/********************************
    BOARD QNA
********************************/
.board_qna .board_top { align-items: center; justify-content: space-between; }

.board_qna .board_qna_list { border-top: 2px solid #222; }

.board_qna .board_qna_list li { border-bottom: 1px solid #ddd; }

.board_qna .board_qna_list li a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 20px; color: inherit; text-decoration: none; }

.board_qna .board_qna_left,
.board_qna .board_qna_right { display: flex; align-items: center; gap: 20px; }

.board_qna .board_state { flex-shrink: 0; min-width: 70px; height: 30px; padding: 0 10px; background: #222; color: #fff; font-size: 0.875rem; text-align: center; line-height: 30px; font-weight:700;}

.board_qna .board_qna_left .board_tit { color: #222; font-size: 1.125rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_qna .board_name,
.board_qna .board_date { color: #888; font-size: 1rem; }

/********************************
    BOARD ANSWER
********************************/
.board_answer .board_top { align-items: center; justify-content: space-between; }

.board_answer .board_tab { margin-bottom: 50px; }

.board_answer .board_answer_list ul { border-top: 2px solid #222; }

.board_answer .board_answer_list li { border-bottom: 1px solid #ddd; }

.board_answer .board_answer_list li a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 20px; color: inherit; text-decoration: none; }

.board_answer .board_state_box .board_tag { flex-shrink: 0; min-width: 70px; height: 30px; padding: 0 10px; background: #222; color: #fff !important; font-size: 0.875rem; text-align: center; line-height: 30px; }

.board_answer .board_txt_box { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }

.board_answer .board_txt_box p { color: #222; font-size: 1.125rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.board_answer .board_tit_box { min-width: 0; flex: 1; padding-left: 0; }

.board_answer .board_tit_box > span { display: block; margin-bottom: 10px; color: #222; font-size: 1rem; font-weight: 700; }

.board_answer .board_answer_state { display: flex; align-items: center; gap: 10px; }

.board_answer .board_answer_label { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 30px; background: #222; color: #fff; font-size: 0.875rem; }

.board_answer .board_name,
.board_answer .board_date_pc p,
.board_answer .board_date_mob p { color: #888; font-size: 1rem; }

.board_answer .board_secret_icon { flex-shrink: 0; }

.board_answer .board_lock_icon { width: 14px; height: 14px; fill: #222; }

/********************************
    BOARD CALENDAR
********************************/
.board_calendar .board_calendar_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }

.board_calendar .board_calendar_box,
.board_calendar .board_calendar_group,
.board_calendar .board_calendar_empty { width: calc(50% - 20px); }

.board_calendar .board_calendar_box { min-height: 620px; padding: 40px 0; background: #fff; box-shadow: 2px 2px 20px rgba(0, 0, 0, .1); }

.board_calendar .board_calendar_head { display: flex; align-items: center; justify-content: space-between; padding: 0 50px; }

.board_calendar .board_calendar_head button { position: relative; width: 40px; height: 40px; background: #f3f3f3; font-size: 0; }

.board_calendar .board_calendar_head button:hover { background-color: #f3f3f3; }

.board_calendar .board_calendar_head button img { display: none; }

.board_calendar .board_calendar_head button::before { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 16px; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; transform: translate(-50%, -50%); }

.board_calendar .board_calendar_head button.board_calendar_prev::before { transform: translate(-50%, -50%) rotate(180deg); }

.board_calendar .board_calendar_head button.board_calendar_next::before { transform: translate(-50%, -50%) rotate(0); }

.board_calendar .board_calendar_year { color: #222; font-size: 1.25rem; font-weight: 700; text-align: center; }

.board_calendar .board_calendar_month { color: #222; font-size: 2.75rem; font-weight: 700; text-align: center; }

.board_calendar .board_calendar_table { width: 95%; margin: 20px auto 0; }

.board_calendar .board_calendar_table th,
.board_calendar .board_calendar_table td { padding: 10px 0; text-align: center; }

.board_calendar .board_calendar_table th { color: #222; font-size: 1.125rem; font-weight: 700; }

.board_calendar .board_calendar_table td p { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #222; font-size: 1rem; cursor: pointer; }

.board_calendar .board_calendar_table td.event p,
.board_calendar .board_calendar_table td.on p { background: rgba(34, 34, 34, .08); color: #222; font-weight: 700; }

.board_calendar .board_sun,
.board_calendar .board_sun p,
.board_calendar .board_calendar_table .sun,
.board_calendar .board_calendar_table .sun p,
.board_calendar .board_calendar_table td.sun p,
.board_calendar .board_calendar_table td.board_sun p { color: #d33 !important; }

.board_calendar .board_sat,
.board_calendar .board_sat p,
.board_calendar .board_calendar_table .sat,
.board_calendar .board_calendar_table .sat p,
.board_calendar .board_calendar_table td.sat p,
.board_calendar .board_calendar_table td.board_sat p { color: #3154c9 !important; }

.board_calendar .board_calendar_item { min-height: 160px; margin-bottom: 20px; padding: 30px; border-top: 2px solid #222; background: #fff; box-shadow: 2px 2px 20px rgba(0, 0, 0, .1); }

.board_calendar .board_calendar_item_date { color: #222; font-size: 1.25rem; font-weight: 700; }

.board_calendar .board_calendar_item_txt { display: -webkit-box; margin-top: 20px; color: #555; font-size: 1rem; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }

.board_calendar .board_calendar_empty { position: relative; min-height: 360px; background: #fff; box-shadow: 2px 2px 20px rgba(0, 0, 0, .1); }

.board_calendar .board_empty_txt { position: absolute; left: 50%; top: 50%; color: #555; transform: translate(-50%, -50%); }

/********************************
    BOARD FORM / PASS
********************************/
.board_form { width: 100%; }

.board_form .board_hide { display: none; }

.board_form .board_hide_abs { position: absolute; left: -1000px; top: -1000px; width: 0; height: 0; border: 0; }

.board_form .board_form_wrap { padding-top: 30px; border-top: 1px solid #222; }

.board_form .board_form_group { display: grid; gap: 20px 80px; }

.board_form .board_form_group_half { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.board_form .board_form_row { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 20px; margin-top: 20px; }

.board_form .board_form_group .board_form_row { margin-top: 0; }

.board_form .board_form_label { color: #222; font-size: 1rem; font-weight: 700; }

.board_form .board_form_label em { color: #d33; font-style: normal; font-weight: 700; }

.board_form .board_form_cont { min-width: 0; }

.board_form input[type="text"],
.board_form input[type="password"],
.board_form input[type="date"],
.board_form select,
.board_form textarea { width: 100%; height: 44px; padding: 0 20px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 1rem; font-weight: 400; }

.board_form input::placeholder,
.board_form textarea::placeholder { color: #aaa; }

.board_form select { padding-right: 40px; appearance: none; -webkit-appearance: none; background-image: url('/assets/images/sub/icon-dropdown-bk.svg'), url('assets/images/sub/icon-dropdown-bk.svg'); background-position: right 20px center; background-size: 10px auto; background-repeat: no-repeat; }

.board_form .board_form_select { width: calc((100% - 80px) / 2); min-width: 0; }

.board_form .board_form_select .board_select_btn { height: 44px; }

.board_form .board_form_select .board_select_text { font-size: 1rem; }

.board_form .board_form_select .board_select_list button { height: 44px; }

.board_form textarea { display: block; height: 400px; padding: 20px; line-height: 1.6; resize: vertical; }

.board_form .board_form_row_textarea { align-items: center; }

.board_form .board_form_checks { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-top: 10px; }

.board_form .board_form_check { display: inline-flex; align-items: center; gap: 8px; color: #222; font-size: 0.875rem; font-weight: 400; cursor: pointer; }

.board_form .board_form_check span { font-weight: 700; }

.board_form .board_form_check input[type="checkbox"],
.board_form .board_form_check input[type="radio"] { width: 16px; height: 16px; margin: 0; }

.board_form .board_form_row_file .board_form_label::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 6px; background-image: url('/assets/images/sub/icon-download-bk.svg'), url('assets/images/sub/icon-download-bk.svg'); background-position: center; background-size: contain; background-repeat: no-repeat; vertical-align: -2px; }

.board_form input[type="file"] { width: 100%; height: 44px; border: 1px solid #ddd; background: #fff; color: #888; font-size: 0.875rem; font-weight: 400; }

.board_form input[type="file"]::file-selector-button { width: 100px; height: 44px; margin-right: 20px; border: 0; background: #888; color: #fff; font-size: 0.875rem; font-weight: 700; cursor: pointer; }

.board_form .board_form_file_old { margin-top: 10px; color: #888; font-size: 0.875rem; line-height: 1.5; }

.board_form .board_admin { display: block; padding-top: 40px; border-top: 1px solid #ddd; }

.board_form .board_btn_center { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }

.board_form .board_form_btn,
.board_form a.board_btn_sub {display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 160px; height: 56px; padding: 0 30px; border: 1px solid #222; background: #222; color: #fff; font-size: 1rem; font-weight: 700; text-decoration: none;}

.board_pass { max-width: 520px; margin: 0 auto; padding: 50px 30px; border: 1px solid #ddd; text-align: center; }

.board_pass_tit { margin-bottom: 20px; color: #222; font-size: 1.25rem; font-weight: 700; }

/********************************
    BOARD COMMENT
********************************/
.board_comment { margin-top: 40px; }

.board_comment .board_comment_tit { margin: 30px 0 20px; color: #222; font-size: 1rem; font-weight: 700; }

.board_comment .board_comment_tit em { color: #222; font-weight: 700; }

.board_comment ul { border-top: 1px solid #ddd; }

.board_comment li { padding: 20px; border-bottom: 1px solid #ddd; }

.board_comment .board_comment_reply { padding: 20px; position: relative; background: #f8f8f8; }

.board_comment .board_comment_name p { color: #222; font-size: 1rem; font-weight: 700; }

.board_comment .board_comment_txt p { color: #555; font-size: 1rem; line-height: 1.625; }

.board_comment .board_comment_txt span { display: block; margin-top: 10px; color: #888; font-size: 0.875rem; }

.board_comment .board_comment_btns,
.board_comment .board_comment_manage_btns,
.board_comment .board_comment_reply_btns { display: flex; align-items: center; gap: 10px; }

.board_comment .board_comment_btns { justify-content: space-between; margin-top: 10px; }

.board_comment button { min-width: 40px; height: 30px; padding: 0 10px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 0.875rem; }

.board_comment .board_comment_input { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 0; margin-top: 40px; }

.board_comment .board_comment_fields { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 20px; }

.board_comment .board_comment_fields em { color: #222; font-size: 0.875rem; font-weight: 700; }

.board_comment .board_comment_fields input[type="text"],
.board_comment .board_comment_fields input[type="password"] { width: 180px; height: 40px; padding: 0 10px; border: 1px solid #ddd; color: #222; font-size: 0.875rem; }

.board_comment .board_comment_input > label { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin-bottom: 20px; color: #222; font-size: 0.875rem; cursor: pointer; font-weight:700;}

.board_comment .board_comment_input > label input[type="checkbox"],
.board_comment .board_comment_input > label input[type="radio"] { width: 16px; height: 16px; margin: 0; }

.board_comment .board_comment_input textarea { width: 100%; height: 100px; padding: 20px; border: 1px solid #ddd; border-right: 0; color: #222; font-size: 1rem; }

.board_comment .board_comment_input button { width: 100px; height: 100px; background: #222; color: #fff; font-size: 1rem; font-weight: 700; }

/********************************
    BOARD LATEST
********************************/
.board_latest .calendar,
.board_latest .board_latest_calendar { overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; height: 100%; border: 1px solid #ddd; padding-top: 30px; }

.board_latest .calendar_con ul,
.board_latest .board_latest_calendar_con ul { display: flex; margin-top: 10px; }


/********************************
    ONLINE LOGIN
********************************/
.online_login { display: flex; align-items: center; justify-content: center; padding: 80px 0px; background: #fff; }

.online_login .online_login_inner { width: 100%; max-width: 420px; margin: 0 auto; }

.online_login .online_login_title { margin-bottom: 50px; color: #222; font-size: 2rem; font-weight: 700; line-height: 1.4; text-align: center; }

.online_login .online_login_form { width: 100%; }

.online_login .online_login_row { margin-top: 20px; }

.online_login .online_login_row:first-child { margin-top: 0; }

.online_login .online_login_label { display: block; margin-bottom: 10px; color: #222; font-size: 1rem; font-weight: 700; }

.online_login input[type="email"],
.online_login input[type="text"],
.online_login input[type="password"] { width: stretch; height: 44px; padding: 0 20px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 1rem; font-weight: 400; }

.online_login input::placeholder { color: #888; }

.online_login .online_login_option { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; }

.online_login .online_login_check { display: inline-flex; align-items: center; gap: 10px; color: #222; font-size: 0.875rem; font-weight: 400; cursor: pointer; }

.online_login .online_login_check input { width: 16px; height: 16px; margin: 0; border: 1px solid #ddd; }

.online_login .online_login_find { color: #222; font-size: 0.875rem; font-weight: 700; text-decoration: none; }

.online_login .online_login_btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 56px; margin-top: 30px; padding: 0 30px; border: 1px solid #222; background: #222; color: #fff; font-size: 1rem; font-weight: 700; cursor: pointer; }

.online_login .online_login_divider { display: flex; align-items: center; gap: 16px; margin: 34px 0 30px; color: #888; font-size: 0.875rem; font-weight: 400; }

.online_login .online_login_divider::before,
.online_login .online_login_divider::after { content: ''; flex: 1; height: 1px; background: #ddd; }

.online_login .online_login_sns { display: flex; align-items: center; justify-content: center; gap: 20px; }

.online_login .online_login_sns a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: #fff; font-size: 1rem; font-weight: 700; text-decoration: none; }

.online_login .online_login_sns .kakao { background: #ffe100; color: #111; }

.online_login .online_login_sns .naver { background: #03c75a; }

.online_login .online_login_sns .facebook { background: #2477e8; }

.online_login .online_login_sns .google { border: 1px solid #ddd; background: #fff; color: #4285f4; }

.online_login .online_login_join { margin-top: 50px; text-align: center; color: #666; font-size: 0.875rem; font-weight: 400; }

.online_login .online_login_join a { margin-left: 8px; color: #0078d7; font-size: 0.875rem; font-weight: 700; text-decoration: none; }


/********************************
    ONLINE JOIN
********************************/
.online_join { display: flex; align-items: center; justify-content: center; padding: 80px 0px; background: #fff; }

.online_join .online_join_inner { width: 100%; max-width: 420px; margin: 0 auto; }

.online_join .online_join_title { margin-bottom: 50px; color: #222; font-size: 2rem; font-weight: 700; line-height: 1.4; text-align: center; }

.online_join .online_join_form { width: 100%; }

.online_join .online_join_row { margin-top: 24px; }

.online_join .online_join_row:first-child { margin-top: 0; }

.online_join .online_join_label { display: block; margin-bottom: 10px; color: #222; font-size: 1rem; font-weight: 700; }

.online_join .online_join_required { color: #d33; font-size: 1rem; font-weight: 700; }

.online_join input[type="email"],
.online_join input[type="text"],
.online_join input[type="password"],
.online_join input[type="tel"] { width: stretch; height:44px; padding: 0 20px; border: 1px solid #ddd; background: #fff; color: #222; font-size: 1rem; font-weight: 400; }

.online_join input::placeholder { color: #888; }

.online_join input:focus { border-color: #222; }

.online_join .online_join_with_btn { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 10px; }

.online_join .online_join_side_btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: stretch; border: 1px solid #222; background: #222; color: #fff; font-size: 0.875rem; font-weight: 700; cursor: pointer; }

.online_join .online_join_side_btn:hover { background: #555; color: #fff; }

.online_join .online_join_address { display: flex; flex-direction: column; gap: 10px; }

.online_join .online_join_radio_group { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; min-height: 50px; }

.online_join .online_join_radio { display: inline-flex; align-items: center; gap: 8px; color: #555; font-size: 1rem; font-weight: 400; cursor: pointer; }

.online_join .online_join_radio input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; border: 1px solid #ddd; accent-color: #222; }

.online_join .online_join_radio span { color: #555; font-size: 1rem; font-weight: 400; }

.online_join .online_join_radio input:checked + span { color: #222; font-weight: 700; }

.online_join .online_join_terms { margin-top: 34px; padding: 24px; background: #f8f8f8; }

.online_join .online_join_check { display: flex; align-items: center; gap: 10px; color: #222; font-size: 1rem; font-weight: 400; cursor: pointer; }

.online_join .online_join_check input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; border: 1px solid #ddd; }

.online_join .online_join_check span { color: #222; font-size: 1rem; font-weight: 400; }

.online_join .online_join_check em { color: #888; font-size: 0.875rem; font-weight: 400; font-style: normal; }

.online_join .online_join_check_all { padding-bottom: 18px; border-bottom: 1px solid #ddd; }

.online_join .online_join_check_all span { font-weight: 700; }

.online_join .online_join_terms_list { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; }

.online_join .online_join_terms_item { display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.online_join .online_join_required_text { color: #006dff; font-size: 1rem; font-weight: 700; font-style: normal; }

.online_join .online_join_choice_text { color: #888; font-size: 1rem; font-weight: 400; font-style: normal; }

.online_join .online_join_terms_link { flex-shrink: 0; color: #006dff; font-size: 0.875rem; font-weight: 400; text-decoration: underline; text-underline-position: under; }

.online_join .online_join_terms_link:hover { color: #222; }

.online_join .online_join_msg { display: none; margin-top: 10px; color: #d33; font-size: 0.875rem; font-weight: 400; line-height: 1.5; }

.online_join .online_join_row.is_error input,
.online_join .online_join_terms.is_error { border-color: #d33; }

.online_join .online_join_row.is_error > input,
.online_join .online_join_row.is_error .online_join_with_btn input { border-color: #d33; }

.online_join .online_join_row.is_error .online_join_msg,
.online_join .online_join_terms.is_error .online_join_msg { display: block; color: #d33; }

.online_join .online_join_row.is_success .online_join_msg,
.online_join .online_join_terms.is_success .online_join_msg { display: block; color: #222; }

.online_join .online_join_btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 56px; margin-top: 40px; padding: 0 30px; border: 1px solid #222; background: #222; color: #fff; font-size: 1rem; font-weight: 700; cursor: pointer; }



/********************************
    ONLINE TERMS
********************************/
.online_terms { padding: 80px 0px; background: #fff; }
.online_terms .online_terms_inner { width: 100%; max-width: 920px; margin: 0 auto; }
.online_terms .online_terms_head { margin-bottom: 40px; text-align: center; }
.online_terms .online_terms_head h2 { color: #222; font-size: 2rem; font-weight: 700; line-height: 1.4; }
.online_terms .online_terms_head p { margin-top: 20px; color: #555; font-size: 1rem; font-weight: 400; line-height: 1.625; }
.online_terms .online_terms_nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 40px; }
.online_terms .online_terms_nav a { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; height: 44px; padding: 0 20px; border: 1px solid #ddd; background: #fff; color: #555; font-size: 0.875rem; font-weight: 400; text-decoration: none; }
.online_terms .online_terms_nav a.on,
.online_terms .online_terms_nav a:hover { border-color: #222; background: #222; color: #fff; font-weight: 700; }
.online_terms .online_terms_notice { margin-bottom: 30px; padding: 20px; background: #f8f8f8; }
.online_terms .online_terms_notice p { color: #555; font-size: 0.875rem; font-weight: 400; line-height: 1.625; }
.online_terms .online_terms_index { margin-bottom: 40px; padding: 30px; border: 1px solid #ddd; background: #fff; }
.online_terms .online_terms_index_tit { margin-bottom: 20px; color: #222; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.online_terms .online_terms_index ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 30px; margin: 0; padding-left: 20px; }
.online_terms .online_terms_index li { color: #222; font-size: 0.875rem; font-weight: 400; line-height: 1.5; }
.online_terms .online_terms_index a { color: #555; font-size: 0.875rem; font-weight: 400; line-height: 1.5; text-decoration: none; }
.online_terms .online_terms_index a:hover { color: #222; font-weight: 700; text-decoration: underline; text-underline-position: under; }
.online_terms .online_terms_section { scroll-margin-top: 30px; }

.online_terms .online_terms_cont { border-top: 2px solid #222; }
.online_terms .online_terms_section { padding: 40px 0px; border-bottom: 1px solid #ddd; }
.online_terms .online_terms_section h3 { margin-bottom: 20px; color: #222; font-size: 1.25rem; font-weight: 700; line-height: 1.5; }
.online_terms .online_terms_section h4 { margin: 30px 0px 10px; color: #222; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.online_terms .online_terms_section p { color: #555; font-size: 1rem; font-weight: 400; line-height: 1.75; }
.online_terms .online_terms_section ul,
.online_terms .online_terms_section ol { margin-top: 16px; padding-left: 24px; }
.online_terms .online_terms_section ul li { list-style: square; }
.online_terms .online_terms_section ol li { list-style: decimal; }
.online_terms .online_terms_section li { color: #555; font-size: 0.875rem; font-weight: 400; line-height: 1.75; }
.online_terms .online_terms_section li + li { margin-top: 6px; }
.online_terms .online_terms_section li::marker { color: #222; font-size: 0.75rem; }
.online_terms .online_terms_table_wrap { overflow-x: auto; margin-top: 20px; }
.online_terms .online_terms_table { width: 100%; min-width: 640px; border-top: 1px solid #222; border-collapse: collapse; }
.online_terms .online_terms_table caption { overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip: rect(0, 0, 0, 0); }
.online_terms .online_terms_table th,
.online_terms .online_terms_table td { padding: 18px 20px; border-bottom: 1px solid #ddd; color: #555; font-size: 0.875rem; font-weight: 400; line-height: 1.625; text-align: left; vertical-align: top; }
.online_terms .online_terms_table th { background: #f8f8f8; color: #222; font-weight: 700; }

/********************************
    RESPONSIVE 1024
********************************/
@media screen and (max-width: 1024px) {
	/********************************
	    BOARD TAB / CATEGORY / TAG
	********************************/
	.board_tab { margin-bottom: 40px; }

	/********************************
	    BOARD COMMON
	********************************/
	.board_top {gap: 20px; margin-bottom: 40px; }

	/********************************
	    BOARD SEARCH
	********************************/
	.board_search { width: 100%; justify-content: flex-end; }

	/********************************
	    BOARD GALLERY GRID
	********************************/
	.board_gallery_grid .board_gallery_items {gap: 40px 20px; }

	.board_gallery_grid .board_gallery_items li{width:calc((100% - 20px) / 2);}

	/********************************
	    BOARD GALLERY LIST
	********************************/
	.board_gallery_list .board_gallery_blog_items li a { grid-template-columns: 42% minmax(0, 1fr); gap: 40px; padding: 40px 0; }

	.board_gallery_list .board_gallery_blog_items li:first-child a{padding:0 0 40px;}

	.board_gallery_list .board_gallery_info .board_tit { font-size: 1.5rem; }

	.board_gallery_list .board_gallery_info .board_txt { margin-top: 20px; font-size: 1rem; }

	.board_gallery_list .board_gallery_info .board_date { margin-top: 30px; font-size: 0.875rem; }

	/********************************
	    BOARD FORM / PASS
	********************************/
	.board_form .board_form_group_half { gap: 20px 40px; }

	.board_form .board_form_select { width: calc((100% - 40px) / 2); }

	.board_form .board_form_row { grid-template-columns: 110px minmax(0, 1fr); }


	/********************************
	    BOARD CALENDAR
	********************************/
	.board_calendar .board_calendar_box,
	.board_calendar .board_calendar_group,
	.board_calendar .board_calendar_empty { width: 100%; }

	/********************************
	    BOARD FORM / PASS
	********************************/
	.board_form .board_form_wrap { padding-top: 30px; }

	.board_form .board_form_group,
	.board_form .board_form_group_half { display: block; }

	.board_form .board_form_row,
	.board_form .board_form_group .board_form_row { grid-template-columns: 90px minmax(0, 1fr); gap: 10px; margin-top: 20px; }

	.board_form .board_form_row:first-child{margin-top:0px;}

	.board_form .board_form_label { font-size: 0.875rem; }

	.board_form input[type="text"],
	.board_form input[type="password"],
	.board_form input[type="date"],
	.board_form select { height: 40px; padding: 0 15px; font-size: 0.875rem; }

	.board_form .board_form_select { width: 100%; }

	.board_form .board_form_select .board_select_btn { height: 40px; }

	.board_form .board_form_select .board_select_text { font-size: 0.875rem; }

	.board_form .board_form_select .board_select_list button { height: 40px; font-size: 0.875rem; }

	.board_form textarea { height: 280px; padding: 15px; font-size: 0.875rem; }

	.board_form input[type="file"] { height: 40px; font-size: 0.75rem; }

	.board_form input[type="file"]::file-selector-button { width: 100px; height: 38px; margin-right: 10px; font-size: 0.75rem; }

	.board_form .board_form_btn,
	.board_form a.board_btn_sub { min-width: 90px; height: 48px; padding: 0 20px; font-size: 0.875rem; }


	/********************************
	    BOARD VIEW
	********************************/
	.board_view .board_view_head { padding: 40px 0 30px; }

	.board_view .board_back_btn { min-width: 90px; height: 48px; padding: 0 20px; font-size: 0.875rem; }

	.board_view .board_view_cont,
	.board_view .board_view_box { min-height: 320px; padding: 60px 20px; }

	/********************************
	    ONLINE LOGIN
	********************************/
	.online_login .online_login_title { margin-bottom: 40px; font-size: 1.75rem; }

	.online_login input[type="email"],
	.online_login input[type="text"],
	.online_login input[type="password"] { height: 40px; padding: 0 16px; font-size: 0.75rem; }

	.online_login .online_login_btn { height: 48px; margin-top: 24px; font-size: 0.875rem; }

	/********************************
	    ONLINE JOIN
	********************************/
	.online_join .online_join_title { margin-bottom: 40px; font-size: 1.75rem; }

	.online_join input[type="email"],
	.online_join input[type="text"],
	.online_join input[type="password"],
	.online_join input[type="tel"],
	.online_join .online_join_side_btn { height: 40px; padding: 0 16px; font-size: 0.75rem; }

	.online_join .online_join_side_btn{height:stretch;}

	.online_join .online_join_terms { margin-top: 30px; padding: 20px; }

	.online_join .online_join_btn { height:48px; margin-top: 24px; font-size: 0.875rem;}

	.online_join .online_join_msg{font-size:0.75rem;}

	/********************************
	    ONLINE TERMS
	********************************/
	.online_terms { padding: 70px 0px; }
	.online_terms .online_terms_head { margin-bottom: 30px; }
	.online_terms .online_terms_head h2 { font-size: 1.75rem; }
	.online_terms .online_terms_nav { flex-wrap: wrap; margin-bottom: 30px; }
	.online_terms .online_terms_index { margin-bottom: 30px; padding: 24px; }
	.online_terms .online_terms_index ol { gap: 10px 24px; }
	.online_terms .online_terms_section { padding: 30px 0px; }

}

/********************************
    RESPONSIVE 767
********************************/
@media screen and (max-width: 767px) {

	/********************************
	    BOARD ADMIN
	********************************/
	.board_admin { align-items: stretch; flex-direction: column; gap: 10px; margin-top: 30px; }
	.board_admin_right { width: 100%; justify-content: flex-end; margin-left: 0; }
	.board_admin a { min-width: 70px; height: 36px; padding: 0 14px; font-size: 0.75rem; }
	/********************************
	    BOARD TAB / CATEGORY / TAG
	********************************/
	.board_tab { margin-bottom: 30px; overflow-x: auto; }

	.board_tab ul { justify-content: flex-start; gap: 20px; min-width: max-content; }

	.board_tab a { height: 30px; font-size: 0.875rem; }

	.board_tag { height: 20px; padding: 0 10px; font-size: 0.75rem; }

	/********************************
	    BOARD COMMON
	********************************/
	.board_top { flex-direction:column; align-items: flex-start; gap: 20px; margin-bottom: 30px; }

	.board_total,
	.board_total p { font-size: 0.875rem; }

	/********************************
	    BOARD SEARCH
	********************************/
	.board_search { gap: 7px; }

	.board_search select,
	.board_search_select,
	.board_top select { min-width: 90px; height: 40px; padding: 0 30px 0 10px; background-position: right 10px center; background-size: 8px auto; font-size: 0.75rem; }

	.board_search_input{width:100%;}

	.board_search_input input,
	.board_search_input input[type="text"],
	.board_search_input input[type="search"],
	.board_search_input input[type="password"] { height: 40px; padding: 0 40px 0 10px; font-size: 0.75rem; }

	.board_search_input button,
	.board_search_btn { width: 40px; height: 40px; background-size: 16px auto; }

	/********************************
	    BOARD CUSTOM SELECT
	********************************/
	.board_select { min-width: 90px; }

	.board_select_btn { height: 40px; padding: 0 30px 0 10px; font-size: 0.75rem; }

	.board_select_text { font-size: 0.75rem; }

	.board_select_arrow { right: 10px; width: 8px; height: 8px; }

	.board_select_list button { height: 40px; padding: 0 10px; font-size: 0.75rem; }

	/********************************
	    BOARD PAGING
	********************************/
	.board_paging ul { gap: 6px; }

	.board_paging a,
	.board_paging strong,
	.board_paging span { min-width: 36px; height: 36px; padding: 0 8px; font-size: 0.875rem; }

	/********************************
	    BOARD BASIC
	********************************/
	.board_basic .board_list_head { display: none; }

	.board_basic .board_list_wrap ul { border-top: 2px solid #222; }

	.board_basic .board_list_wrap li a.board_link { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; min-height: auto; padding: 20px; }

	.board_basic .board_list_wrap li.board_item_notice { border-top: 0; background: rgba(34, 34, 34, .06); }

	.board_basic .board_cate_box { justify-content: flex-start; order: 2; }

	.board_basic .board_tit_box { order: 1; width: 100%; }

	.board_basic .board_tit_box p,
	.board_basic .board_tit { font-size: 1rem; }

	.board_basic .board_num,
	.board_basic .board_writer,
	.board_basic .board_date,
	.board_basic .board_hit { display: none; }

	.board_basic .board_mob_meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; }

	.board_basic .board_mob_meta span { position: relative; color: #888; font-size: 0.75rem; font-weight: 400; }

	.board_basic .board_mob_meta span + span::before { content: ''; position: absolute; left: -8px; top: 50%; width: 1px; height: 10px; background: #ddd; transform: translateY(-50%); }

	/********************************
	    BOARD GALLERY GRID
	********************************/
	.board_gallery_grid .board_gallery_items {gap: 40px 20px; }

	.board_gallery_grid .board_gallery_items li{width:100%;}

	.board_gallery_grid .board_gallery_info .board_tit { font-size: 1rem; }

	/********************************
	    BOARD GALLERY LIST
	********************************/
	.board_gallery_list .board_gallery_blog_items li a { display: block; padding: 30px 0; }

	.board_gallery_list .board_img_box { width: 100%; }

	.board_gallery_list .board_gallery_info { padding-top: 20px; }

	.board_gallery_list .board_gallery_info .board_tit { font-size: 1.125rem; line-height: 1.5; }

	.board_gallery_list .board_gallery_info .board_txt { margin-top: 10px; font-size: 0.875rem; line-height: 1.6; -webkit-line-clamp: 2; }

	.board_gallery_list .board_gallery_info .board_date { margin-top: 20px; font-size: 0.75rem; }


	/********************************
	    BOARD FORM / PASS
	********************************/

	.board_form .board_form_row,
	.board_form .board_form_group .board_form_row { grid-template-columns: auto;}


	.board_form .board_form_btn,
	.board_form a.board_btn_sub { min-width: 90px; height: 40px; padding: 0 20px; font-size: 0.875rem; }

	/********************************
	    BOARD VIEW
	********************************/
	.board_view .board_view_head { padding: 30px 0 20px; }

	.board_view .board_view_title { margin-bottom: 20px; font-size: 1.125rem; }

	.board_view .board_view_meta { gap: 6px 16px; }

	.board_view .board_view_meta span { font-size: 0.875rem; }

	.board_view .board_file_list { margin-top: 30px; padding: 20px; }

	.board_view .board_file_item,
	.board_view .board_file_name { font-size: 0.875rem; }

	.board_view .board_view_cont,
	.board_view .board_view_box { min-height: 300px; padding: 50px 20px; font-size: 1rem; }

	.board_view .board_view_control { padding: 30px 0 60px; }

	.board_view .board_view_arr { grid-template-columns: 24px 60px minmax(0, 1fr); min-height: 50px; padding: 0 10px; }

	.board_view .board_view_nav_label,
	.board_view .board_view_arr p { font-size: 0.875rem; }

	.board_view .board_back_btn {height: 40px;}

	/********************************
	    BOARD FAQ
	********************************/
	.board_faq .board_faq_q { gap:20px; padding: 20px 40px 20px 10px; }

	.board_faq .board_faq_a {padding:20px 10px;}

	.board_faq .board_faq_icon_q,
	.board_faq .board_faq_icon_a { flex-basis: 40px; width: 40px; height: 40px; font-size: 1rem; }

	.board_faq .board_faq_tit strong { font-size: 1rem;}

	/********************************
	    BOARD QNA / BOARD ANSWER
	********************************/
	.board_qna .board_qna_list li a,
	.board_answer .board_answer_list li a { align-items: flex-start; flex-direction: column; gap: 10px; padding: 20px 0; }

	.board_qna .board_qna_left,
	.board_qna .board_qna_right { width: 100%; gap: 10px; flex-wrap: wrap; }

	.board_answer .board_txt_box { width: 100%; }

	.board_qna .board_qna_left .board_tit {font-size:1rem;}

	.board_answer .board_txt_box p { font-size: 1rem; }

	/********************************
	    BOARD COMMENT
	********************************/
	.board_comment .board_comment_fields { gap: 10px; }

	.board_comment .board_comment_fields em { width: 60px; font-size: 0.75rem; }

	.board_comment .board_comment_fields input[type="text"],
	.board_comment .board_comment_fields input[type="password"] { width: calc(100% - 70px); height: 36px; font-size: 0.75rem; }

	.board_comment .board_comment_input { grid-template-columns: 1fr; }

	.board_comment .board_comment_input > label { font-size: 0.75rem; }

	.board_comment .board_comment_input textarea,
	.board_comment .board_comment_input button { width: 100%; border: 1px solid #ddd; }

	.board_comment .board_comment_input textarea { height: 90px; padding: 15px; font-size: 0.875rem; }

	.board_comment .board_comment_input button { height: 40px; margin-top: 10px; font-size: 0.875rem; }

	/********************************
	    ONLINE LOGIN
	********************************/
	.online_login .online_login_inner {max-width: none;}

	.online_login .online_login_sns a { width: 40px; height: 40px; }

	.online_login .online_login_join { margin-top: 40px; }

	/********************************
	    ONLINE JOIN
	********************************/
	.online_join .online_join_inner { max-width: none; }

	.online_join .online_join_title { margin-bottom: 30px; font-size: 1.5rem; }

	.online_join .online_join_row { margin-top: 20px; }

	.online_join .online_join_label,
	.online_join .online_join_required { font-size: 0.875rem; }

	.online_join input[type="email"],
	.online_join input[type="text"],
	.online_join input[type="password"],
	.online_join input[type="tel"],
	.online_join .online_join_side_btn { height: 44px; padding: 0 14px; font-size: 0.875rem; }

	.online_join .online_join_with_btn { grid-template-columns: 1fr; }

	.online_join .online_join_side_btn { padding: 0; }

	.online_join .online_join_radio_group { gap:10px; }
	
	.online_join .online_join_radio{gap:4px;}

	.online_join .online_join_radio span,
	.online_join .online_join_check span { font-size: 0.875rem; }

	.online_join .online_join_terms_item { gap: 10px; }

	.online_join .online_join_required_text,
	.online_join .online_join_choice_text { font-size: 0.875rem; }

	.online_join .online_join_terms_link { font-size: 0.75rem; }

	.online_join .online_join_terms { margin-top: 30px; padding: 20px; }

	.online_join .online_join_btn { height: 50px; margin-top: 30px; font-size: 0.875rem; }

	/********************************
	    ONLINE TERMS
	********************************/
	.online_terms { padding: 50px 0px; }
	.online_terms .online_terms_inner { max-width: none; }
	.online_terms .online_terms_head { margin-bottom: 30px; text-align: left; }
	.online_terms .online_terms_head h2 { font-size: 1.5rem; }
	.online_terms .online_terms_head p { margin-top: 10px; font-size: 0.875rem; }
	.online_terms .online_terms_nav { justify-content: flex-start; gap: 6px; overflow-x: auto; margin-bottom: 30px; padding-bottom: 4px; }
	.online_terms .online_terms_nav a { flex: 0 0 auto; min-width: auto; height: 38px; padding: 0 14px; font-size: 0.75rem; }
	.online_terms .online_terms_notice { padding: 16px; }
	.online_terms .online_terms_notice p { font-size: 0.75rem; }
	.online_terms .online_terms_index { margin-bottom: 30px; padding: 20px; }
	.online_terms .online_terms_index_tit { margin-bottom: 14px; font-size: 0.875rem; }
	.online_terms .online_terms_index ol { grid-template-columns: 1fr; gap: 8px; padding-left: 18px; }
	.online_terms .online_terms_index li,
	.online_terms .online_terms_index a { font-size: 0.75rem; }
	.online_terms .online_terms_section { padding: 30px 0px; }
	.online_terms .online_terms_section h3 { margin-bottom: 14px; font-size: 1rem; }
	.online_terms .online_terms_section p { font-size: 0.875rem; line-height: 1.625; }
	.online_terms .online_terms_section ul,
	.online_terms .online_terms_section ol { margin-top: 14px; padding-left: 20px; }
	.online_terms .online_terms_section li { font-size: 0.75rem; line-height: 1.625; }
	.online_terms .online_terms_table th,
	.online_terms .online_terms_table td { padding: 14px; font-size: 0.75rem; }


}
