@charset "utf-8";
/* style.css — cmake 테마 커스텀 스타일 (레거시 default.css 보완) */

/* ─── Bootstrap 충돌 override ─── */
body { font-family: 'Malgun Gothic', dotum, sans-serif }

/* ─── h5_skin 헤더 (Bootstrap navbar) ─── */
.member-link a { display:inline-block; padding:10px 0; margin-left:10px; font-size:14px }
.allbtn { display:none }
.navbar-nav .nav-item .nav-link { letter-spacing:1px; font-weight:400; margin-left:20px !important; padding:1.1em 1em !important }
.shrink { padding-top:0; padding-bottom:0 }
.sitelogobox img { display:inline-block; min-width:60px; transition: transform 0.3s ease-out; }
.smimg img { transform: scale(0.85); }
@media (max-width:768px) { /* .sitelogobox img { width:60% } */ }

/* ─── 홈페이지 최신글 2단 레이아웃 ─── */
/* 기본 .lt_wr{width:49%} 과 clearfix는 default.css에서 정의 */
/* float, margin은 원본과 동일하게 인라인 스타일 사용 */

/* ─── 위젯 제목 ─── */
.widget-title { font-size:1.25em; margin:15px 0 8px; padding:5px 0; border-bottom:2px solid #253dbe; color:#253dbe }
.widget-title a { color:#253dbe }
.widget-title a:hover { text-decoration:underline }

/* ─── 최신글 목록 (레거시 호환) ─── */
.latest_ul { margin:0; padding:0; list-style:none }
.latest_ul li { padding:4px 0; border-bottom:1px dotted #ddd; line-height:1.6em }
.latest_ul li a { color:#333 }
.latest_ul li a:hover { color:#253dbe; text-decoration:underline }

/* ─── 메인 슬라이더 (slide_basic) ─── */
#main-sc .swiper-slide {
    text-align:center; background:#555;
    display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center; -webkit-justify-content:center; justify-content:center;
    -webkit-box-align:center; -ms-flex-align:center; -webkit-align-items:center; align-items:center;
}
#main-sc .swiper-pagination-bullet { display:inline-block; margin:2px; opacity:1; width:10px; height:10px; background:#fff; border-radius:5px; text-indent:-999px; overflow:hidden;
    box-shadow:0 1px 3px rgba(0,0,0,0.2); }
#main-sc .swiper-pagination-bullet-active { background:#333; width:18px }
@media (max-width:767.98px) {
    #main-sc { width:100%; height:auto !important; }
}
.ssub1 { position:absolute; width:960px; top:20%; left:50%; margin-left:-480px; padding:0 }
.ssub1 .bntext1 { font-weight:700; text-shadow:2px 2px 5px #333 }
.ssub1 .bntext2 { font-weight:bold; text-shadow:2px 2px 5px #333 }
.ssub1 .bntext3 { font-weight:bold; text-shadow:2px 2px 5px #333 }
@media (max-width:767.98px) {
    .ssub1 { position:absolute; width:100%; top:12%; left:0; margin-left:0; padding:0 20px }
    .ssub1 .bntext1 { font-size:32px; font-weight:700; text-shadow:2px 2px 5px #333 }
    .ssub1 .bntext2 { font-size:18px; font-weight:bold; text-shadow:2px 2px 5px #333 }
    .ssub1 .bntext3 { font-size:22px; font-weight:bold; text-shadow:2px 2px 5px #333 }
}
.themeBtn { display:inline-block; padding:10px 30px; border:2px solid #fff; color:#fff; font-size:14px; letter-spacing:2px; border-radius:3px; transition:all .3s }
.themeBtn:hover { background:#fff; color:#333; text-decoration:none }

/* ─── 최신글 기본 스킨 (latest/basic) ─── */
.lat { position:relative; margin-bottom:20px; overflow:hidden; border:1px solid #c6cacc; background:#fff }
.lat .lat_title { display:block; padding:0 20px; line-height:45px; font-size:1.083em; border-bottom:1px solid #e2e2e2; color:#253dbe; background:#fcfcfc }
.lat .lat_title a { color:#253dbe; display:inline-block; position:relative }
.lat .lat_title a:after { position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:#253dbe; content:'' }
.lat ul { padding:15px 20px }
.lat li { position:relative; line-height:18px; padding:3px 0; padding-right:50px; padding-left:10px }
.lat li:before { position:absolute; top:12px; left:0; width:4px; height:4px; background:#aaa; content:''; border-radius:50% }
.lat li a:hover { color:#a22121 }
.lat li .fa-lock { display:inline-block; line-height:14px; width:16px; font-size:12px; color:#4f818c; background:#cbe3e8; text-align:center; border-radius:2px; border:1px solid #a2c6ce }
.lat li .new_icon { display:inline-block; width:16px; line-height:16px; font-size:0.833em; color:#ffff00; background:#6db142; text-align:center; border-radius:2px }
.lat li .hot_icon { display:inline-block; width:16px; line-height:16px; font-size:0.833em; color:#fff; background:#e52955; text-align:center; border-radius:2px }
.lat .lt_date { position:absolute; top:3px; right:0; color:#888 }
.lat .empty_li { line-height:145px; color:#666; text-align:center; padding:0 }
.lat .empty_li:before { background:none; padding:0 }
.lat .lt_cmt { background:#5c85c1; color:#fff; font-size:11px; height:16px; line-height:16px; padding:0 5px; border-radius:3px;
    box-shadow:inset 0 2px 5px rgba(255,255,255,0.4) }
.lat .lt_more { position:absolute; top:11px; right:10px; display:block; width:25px; line-height:25px; color:#aaa; border-radius:3px; text-align:center }
.lat .lt_more:hover { color:#777 }

/* ─── 갤러리 최신글 스킨 (latest/pic_basic) ─── */
.pic_lt { position:relative; margin-bottom:20px; overflow:hidden; border:1px solid #c6cacc; background:#fff }
.pic_lt .lat_title { display:block; background:#fcfcfc; padding:0 20px; line-height:45px; font-size:1.083em; border-bottom:1px solid #e2e2e2; color:#253dbe }
.pic_lt .lat_title a { color:#253dbe; display:inline-block; position:relative }
.pic_lt .lat_title a:after { position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:#253dbe; content:'' }
.pic_lt .lt_more { position:absolute; top:11px; right:10px; display:block; width:25px; line-height:25px; color:#aaa; border-radius:3px; text-align:center }
.pic_lt .lt_more:hover { color:#777 }
.pic_lt ul:after { display:block; visibility:hidden; clear:both; content:"" }
.pic_lt ul { padding:20px 15px }
.pic_lt li { float:left; width:20%; padding:0 10px }
.pic_lt li .lt_img { margin:5px 0; display:block }
.pic_lt li .lt_img img { width:100%; height:auto }
.pic_lt li a:hover { color:#a22121 }
.pic_lt li .fa-lock { display:inline-block; line-height:14px; width:16px; font-size:12px; color:#4f818c; background:#cbe3e8; text-align:center; border-radius:2px; border:1px solid #a2c6ce }
.pic_lt li .new_icon { display:inline-block; width:16px; line-height:16px; font-size:0.833em; color:#ffff00; background:#6db142; text-align:center; border-radius:2px }
.pic_lt li .hot_icon { display:inline-block; width:16px; line-height:16px; font-size:0.833em; color:#fff; background:#e52955; text-align:center; border-radius:2px }
.pic_lt .lt_cmt { background:#5c85c1; color:#fff; font-size:11px; height:16px; line-height:16px; padding:0 5px; border-radius:3px; white-space:nowrap;
    box-shadow:inset 0 2px 5px rgba(255,255,255,0.4) }
.pic_lt .lt_date { display:block; margin-top:5px; color:#888 }

/* ─── 접근성 ─── */
.sound_only { position:absolute; overflow:hidden; clip:rect(0 0 0 0); width:1px; height:1px; margin:-1px; padding:0; border:0 }

/* ─── 사이드바 공지사항 위젯 (notice 스킨) ─── */
.notice { position:relative; padding:15px 50px; border-bottom:1px solid #d0d6e4 }
.notice li { text-overflow:ellipsis; overflow:hidden; white-space:nowrap }
.notice li a:hover { color:#a22121 }
.notice li .lock_icon { display:inline-block; line-height:14px; width:16px; font-size:12px; color:#4f818c; background:#cbe3e8; text-align:center; border-radius:2px; border:1px solid #a2c6ce; vertical-align:top }
.notice li .new_icon { display:inline-block; line-height:16px; width:16px; font-size:0.833em; color:#ffff00; background:#6db142; text-align:center; margin-right:3px; border-radius:2px; vertical-align:top }
.notice .cnt_cmt { background:#5c85c1; color:#fff; font-size:11px; height:16px; line-height:16px; padding:0 5px; border-radius:3px; white-space:nowrap; margin-left:5px;
    box-shadow:inset 0 2px 5px rgba(255,255,255,0.4) }
.notice h2 { position:absolute; top:50%; left:10px; margin-top:-15px; line-height:30px }
.notice h2 a { display:inline-block; width:30px; line-height:30px; border-radius:25px; background:#4158d1; color:#fff; text-align:center }

/* ─── 사이드바 로그인 위젯 (outlogin 스킨) ─── */
.ol { position:relative; margin:20px }
.ol h2 { margin:0; padding:0; width:1px; height:1px; font-size:0; line-height:0; overflow:hidden }
#ol_before {}
#ol_before:after { display:block; visibility:hidden; clear:both; content:"" }
#ol_before .ol_wr { position:relative; border:1px solid #b7bece; margin-bottom:5px }
#ol_id { display:block; width:185px; border:1px solid #fff; padding:0 10px; height:32px }
#ol_pw { display:block; width:185px; border:1px solid #fff; padding:0 10px; border-top:1px solid #ededed; height:32px }
#ol_submit { position:absolute; top:0; right:0; width:76px; height:64px; background:#fff; border-left:1px solid #ccc; color:#000; font-weight:bold; font-size:1.167em }
#ol_svc { float:right; line-height:20px }
#ol_svc a { display:inline-block; color:#555; margin:0 5px }
#ol_auto { float:left; line-height:20px }
#ol_auto label { color:#555 }
#ol_auto input { width:13px; height:13px }
.ol_auto_wr:after { display:block; visibility:hidden; clear:both; content:"" }

#ol_after { background:#fff; border:1px solid #d2d9e6; border-bottom:1px solid #c1ccda; margin:20px;
    box-shadow:0 1px 2px rgba(0,0,0,0.1) }
#ol_after_hd { position:relative; margin:0 0 10px; padding:10px; height:auto }
#ol_after_hd strong { display:block; margin:5px 0 }
#ol_after_private { background:#f7f7f7; border-top:1px solid #e8e8e8; zoom:1 }
#ol_after_private:after { display:block; visibility:hidden; clear:both; content:"" }
#ol_after_private li { margin-bottom:1px; position:relative; float:left; width:33.333%; text-align:center }
#ol_after_private a { display:block; color:#444; line-height:20px; height:60px; border-left:1px solid #e8e8e8; padding:10px 0 }
#ol_after_private li:first-child a { border-left:0 }
#ol_after_private a:hover { color:#4b8bff; background:#f1f1f1 }

/* ─── 방문자 통계 위젯 (visit 스킨) ─── */
#visit { border:1px solid #d2d9e6; border-bottom:1px solid #c1ccda; margin:40px 20px 20px; background:#fff; position:relative;
    box-shadow:0 1px 2px rgba(0,0,0,0.1) }
#visit .btn_admin { position:absolute; top:10px; right:10px; height:25px; line-height:25px; padding:0 5px; border-radius:3px }
#visit h2 { font-size:1.167em; text-align:center; padding-bottom:15px; padding-top:25px; color:#16b3d6; position:relative }
#visit h2 i { position:absolute; top:-22px; left:50%; width:44px; line-height:44px; margin-left:-22px; border-radius:25px; background:#16b3d6; color:#fff }
#visit dl { border-top:1px solid #e9e9e9; padding:10px 15px; border-radius:5px }
#visit dl:after { display:block; visibility:hidden; clear:both; content:"" }
#visit dt { float:left; width:20%; padding:0 5px; line-height:23px; height:23px; color:#555 }
#visit dt span { display:inline-block; width:5px; height:5px; border-radius:50%; vertical-align:middle }
#visit dd { float:left; width:30%; padding:0 5px; text-align:right; font-weight:bold; line-height:23px; height:23px; font-size:0.92em }
#visit dd strong { display:inline-block; padding:0 5px; border-radius:20px; line-height:15px; color:#fff }

/* ─── 사이드바 공지사항 bxSlider 캐러셀 ─── */
.notice .bx-next { position:absolute; top:50%; right:10px; width:26px; height:26px; line-height:24px; text-align:center; background:#fff; border:1px solid #d1d1d1; margin-top:-12px; cursor:pointer }
.notice .bx-prev { position:absolute; top:50%; right:35px; width:26px; height:26px; line-height:24px; text-align:center; background:#fff; border:1px solid #d1d1d1; margin-top:-12px; cursor:pointer }
.notice .bx-next:hover, .notice .bx-prev:hover { background:#f0f0f0 }
.notice .bx-wrapper { position:relative }
.notice .bx-viewport { overflow:hidden }

/* ─── 사이드바 로그인 후 (outlogin) ─── */
#ol_after_ft { text-align:center; padding:8px 0; border-top:1px solid #e8e8e8 }
#ol_after_ft .ol_after_logout { color:#888; font-size:0.92em }
#ol_after_ft .ol_after_logout:hover { color:#333 }

/* ─── 인기검색어 (헤더) ─── */
.popular_inner { margin:5px 0 0; font-size:0.92em }
.popular_inner ul { list-style:none; margin:0; padding:0 }
.popular_inner li { display:inline-block; margin-right:5px }
.popular_inner a { color:#666 }
.popular_inner a:hover { color:#253dbe }

/* ─── 위젯 섹션 공통 ─── */
.boxes { padding:0 }
.text-keep { word-break:keep-all }
.maintext1 a { text-decoration:none }
.subtext1 a { text-decoration:none }

/* 텍스트 크기 클래스 (cmake 테마 호환) */
.text14 { font-size:14px }
.text16 { font-size:16px }
.text18 { font-size:18px }
.text20 { font-size:20px }
.text22 { font-size:22px }
.text24 { font-size:24px }
.text28 { font-size:28px }
.text32 { font-size:32px }
.text36 { font-size:36px }
.text40 { font-size:40px }

/* 아이콘 크기 */
.w-150 { width:150px }
.h-150 { height:150px }

/* 줌 애니메이션 */
.zoomins { transition: transform 0.3s ease }
.zoomins:hover { transform: scale(1.1) }

/* ─── textbox_4 아이콘 배지 ─── */
.textbox4-icon { position:absolute; width:58px; height:58px; top:-29px; left:30px; padding:10px; transition:all .2s ease-in }
.textbox4-icon:hover { background:#C99830 !important }

/* ─── 위젯 최신글 (latest/basic 스킨 — b1/b2) ─── */
.latest-box-basic { background:#fff }
.latest-box-basic .single-price h6 { margin:0 }
.latest-box-basic .single-price h6 a { color:#28201a; text-decoration:none }
.latest-box-basic .price-list { list-style:none; padding:10px 0; margin:0 }
.latest-box-basic .price-list li { border-bottom:1px solid #f0f0f0 }
.latest-box-basic .price-list li a { color:#333; text-decoration:none }
.latest-box-basic .price-list li a:hover { color:#a22121 }
.latest-box-basic .ellip-block { max-width:100%; overflow:hidden }

/* ─── 위젯 갤러리 (gallery5 스킨) ─── */
.latest-box-gallery a { text-decoration:none }
.gal-box img { height:100%; display:block; transition:all .5s ease-in-out }
.gal-box img:hover { transform:scale(1.2) }
.filter-button { white-space:pre; cursor:pointer }
.activefilter { border-bottom:1px solid #ff0000 }

/* ─── 배너팩 ─── */
.bannerpack img { max-width:100%; height:auto }

/* ─── formmail (후원폼) ─── */
.formmail-header h4 { font-weight:bold }
.contact-info p { margin:8px 0; font-size:0.95em }
.contact-info i { width:20px; text-align:center }

/* ─── 푸터 (f4_skin) ─── */
.footer { border-top:3px solid #62554c }
.footer, .footer a { color:#28201a; text-decoration:none }
.footer a:hover { text-decoration:underline }
.footer-ex { background:rgba(255,255,255,1) }
.foottextsize { font-size:1.0em; line-height:1.8em }
.border-bottom-custom { border-bottom:1px solid #62554c; padding:15px 0 }
.border-top-custom { border-top:1px solid #62554c }
#ft_logo img { max-height:60px }
#top_btn { position:fixed; bottom:30px; right:30px; z-index:999; width:40px; height:40px;
    background:#62554c; color:#fff; border:none; border-radius:50%; font-size:16px;
    cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,0.3) }
#top_btn:hover { background:#28201a }

/* ─── 서브페이지 레이아웃 (사이드바 제거 — 레거시 매칭) ─── */
#hd, #wrapper, #ft { min-width:0 }
#container_wr { width:100%; max-width:1140px }
#container { float:none; width:100%; padding:0; box-sizing:border-box; overflow:hidden }
#container_title .fa { color:#e8a50b; margin-right:5px }
#bo_head, #bo_tail { width:100% !important; max-width:100% !important; overflow:hidden !important; box-sizing:border-box }
#bo_head img, #bo_tail img { max-width:100% !important; width:auto; height:auto; display:block }

/* ─── 접근성: 본문 바로가기 숨김 (mobile.css 누락분) ─── */
#skip_to_container a {
    position:absolute; overflow:hidden; clip:rect(0 0 0 0);
    width:1px; height:1px; margin:-1px; padding:0; border:0
}
#skip_to_container a:focus, #skip_to_container a:active {
    width:auto; height:auto; clip:auto; overflow:visible;
    margin:0; padding:10px 20px;
    background:#21272e; color:#fff; font-size:1.2em; font-weight:bold;
    text-align:center; text-decoration:none; z-index:100000
}

/* ─── 모바일 팝업 뷰포트 제약 ─── */
@media (max-width: 768px) {
    #hd_pop .hd_pops {
        left:5px !important; right:5px !important;
        max-width:calc(100vw - 10px); width:auto !important;
        overflow:hidden;
    }
    #hd_pop .hd_pops .hd_pops_con {
        width:100% !important; height:auto !important;
        max-height:70vh; overflow-y:auto; overflow-x:hidden;
    }
    #hd_pop .hd_pops .hd_pops_con img {
        width:100% !important; max-width:100% !important; height:auto;
    }
    #hd_pop .hd_pops .hd_pops_footer {
        width:100% !important; box-sizing:border-box;
    }
    #hd_pop .hd_pops .hd_pops_footer button {
        position:static !important; float:none; display:inline-block;
    }

    /* ─── 서브페이지 콘텐츠 오버플로우 방지 ─── */
    #hd, #hd-bg, #wrapper, #container, #container_wr, #ft, #ft_wr {
        min-width:0 !important; max-width:100vw !important;
        width:100% !important; overflow-x:hidden; box-sizing:border-box;
    }
    #container img {max-width:100% !important; height:auto;}
    #container table {max-width:100%; overflow-x:auto; display:block;}
    #container iframe {max-width:100%;}
    #container input, #container select, #container textarea {
        max-width:100%; box-sizing:border-box;
    }
}

/* ─── 모바일 헤더 스크롤 배경 (mobile.css 누락분) ─── */
#navbar-top.fixed-top {
    background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.15); z-index:999;
}
#navbar-top.fixed-top .mainmenu { color:#28201a; }

/* ─── 모바일 네비바 메뉴 크기 보정 (lg 접힘 기준) ─── */
@media (max-width: 991.98px) {
    #navbarSupportedContent .navbar-nav .nav-link {
        font-size:18px; padding:14px 20px !important; margin-left:0 !important;
        border-bottom:1px solid #eee; text-align:right;
    }
    #navbarSupportedContent .navbar-nav .mainmenu {
        font-size:18px; font-weight:500;
    }
    #navbarSupportedContent .dropdown-menu {
        border:none; box-shadow:none; background:#f9f9f9; text-align:right;
    }
    #navbarSupportedContent .dropdown-item,
    #navbarSupportedContent .text14 {
        font-size:16px !important; padding:12px 20px !important; text-align:right;
    }
    #navbarSupportedContent .d-lg-none {
        text-align:right;
    }
    #navbarSupportedContent .d-lg-none .dropdown-item {
        font-size:16px !important; padding:12px 20px !important; text-align:right;
    }
    .m-sub-quick-right a { color:#333; }
    .navbar-toggler { padding:8px 12px; }
    .navbar-toggler .fa { font-size:24px; }
}
