﻿@charset "UTF-8";

/* ==========================================================================
   1. GLOBAL & COMMON (공통 영역)
   ========================================================================== */
#subgnb { display: none; }
#dimodeBoard .board-actions { border: none; padding: 30px; }
.board-actions-left { display: none; }
.btn { border: none; }
.btn-default { border-color: transparent; }
.btn-default:hover, 
.btn-default:active { background-color: transparent; border: none; }
.board-theme .container { padding: 0px; }

select { 
    width: 200px; height: 30px; padding-left: 10px; font-size: 18px; 
    color: #006fff; border: 1px solid #006fff; border-radius: 3px; 
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background: url('../../../Layouts/kimpoch_Layout/Images/arow.png') no-repeat 85% 50% !important;
    background-size: 15% 30%;
}
select::-ms-expand { display: none; }
select option { border-radius: 50px; }

/* ==========================================================================
   2. LIST & GALLERY VIEW (목록 및 갤러리 영역)
   ========================================================================== */
.board-theme .theme-list { font-family: 돋움,Dotum,sans-serif; overflow: hidden; width: 100%; }
.theme-list .container { padding: 0px;width:100%; }

/* 상단 검색 및 필터 */
#sermon-top { margin-bottom: 45px; }
#sermon-top h1 { padding-bottom: 15px; border-bottom: 2px solid #000; display: inline-block; font-size: 28px; font-weight: bold; margin-top: 0px; float: left; margin-right: 50px; }
.action-search { display: none; }
#sermon-search { display: table; }
.input-group { float: left; width: 650px; }
#sermon-kind { padding: 0px; vertical-align: top; }
#sermon-control { height: 45px; width: 150px; font-size: 20px; font-weight: 500; margin-right: 20px; border-radius: 50px; padding: 0px 15px; }
#sermon-keyword { width: 220px; height: 45px; font-size: 20px; font-weight: 500; margin-right: 20px; border-radius: 50px; padding: 7px 20px; }
#sermon-button img { width: 35px; }
#sermon-button:active:hover { background-color: transparent !important; border-color: none !important; box-shadow: none !important; }

/* 카테고리 (분류) */
.board-theme .theme-list .list-categories { clear: both; margin-top: 80px; }
.board-theme .theme-list .list-categories .category-group { position: relative; display: inline-block; vertical-align: middle; }
.board-theme .theme-list .list-categories .category-group:hover button { background-color: #e6e6e6; border-color: #adadad; }
.board-theme .theme-list .list-categories .category-group .category-btn { border-radius: 10px; padding: 15px 20px; margin: 10px 20px 10px 5px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; text-decoration: none; color: #000; font-size: 24px; line-height: 30px; }
.board-theme .theme-list .list-categories .category-group .category-btn .btn-gray { border-radius: 10px; padding: 15px 20px; margin: 10px 20px 10px 0px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; text-decoration: none; color: #000; font-size: 24px; line-height: 30px; }
.board-theme .theme-list .list-categories .category-group .category-btn .btn-default { background-color: #efefef; transition: 0.2s all ease; border-radius: 10px; padding: 15px 20px; margin: 10px 20px 10px 0px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; text-decoration: none; color: #000; font-size: 24px; line-height: 30px; font-weight: bold; }
.board-theme .theme-list .list-categories .category-group:hover .category-btn,
.board-theme .theme-list .list-categories .category-group:focus .category-btn { background-color: #efefef; transition: 0.2s all ease; font-weight: bold; }
.board-theme .theme-list .list-categories .category-group .addon-btn { padding-left: 5px; padding-right: 5px; }
.board-theme .theme-list .list-categories .category-group ul { min-width: 100%; padding: 0; margin: 0; border-radius: 0; }
.board-theme .theme-list .list-categories .category-group ul li:last-child { border-bottom: 0; }
.board-theme .theme-list .list-categories .category-group ul li a { cursor: pointer; font-size: 12px; padding: 6px 12px; }
.board-theme .theme-list .list-categories .category-group ul li.selected a { background: #eee; }

/* 갤러리 아이템 (sermon-box) */
.sermonM{display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap:30px;}
.sermon-box > img { float: left; }
.sermon-box > a:hover { opacity: 0.6; transition: 0.3s; }
.sermon-box a { text-decoration: none; }
.sermon-box .title-image { width: 100%; }
.sermon-box > .titleIMG, .sermon-box > .title { display: inline-block; position: relative; float: left; width: 100%; }
.sermon-box .sermon-play { position: absolute; top: 50%; text-align: center; width: 100%; border: none; display: block; transform: translate(0,-50%); }
.sermon-box .titleIMG #sermon-play { position: absolute; top: 50%; left: 45%; text-align: center; border: none; display: block; transform: translate(0,-50%); }

/* 갤러리 아이템 텍스트 영역 */
.sermon-content { background-color: #E5E5E5; clear: both; padding: 20px; height: 200px; position: relative; }
.sermon-content h4 { font-size: 22px; color: #000; font-weight: 600; margin-top: 0px; width: 65%; line-height: 1.3em; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; height: 2.5em; overflow: hidden; margin-left: 5px; }
.sermon-content h5 { font-size: 17px; color: #828282; font-weight: 400; margin: 0; width: 100%; display: inline-block; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.sermon-content img { width: 25px; }
.sermon-content .sermon-date { position: absolute; font-size: 17px; color: #828282; left: 5%; margin: 0; bottom: 5%; }
.sermon-content .sermon-count { position: absolute; font-size: 17px; color: #828282; left: 5%; margin: 0; bottom: 20%; }
.sermon-content .sermon-speaker { position: absolute; bottom: 5%; font-size: 21px; color: #000; right: 5%; font-weight: 600; width: 50%; margin: 0; text-align: right; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.sermon-box .videovalue { position: absolute; right: 15%; top: 10%; }
.sermon-box .videovalue i { padding: 15px; font-size: 20px; background-color: #fff; border-radius: 50%; color: #DB2230; }
.sermon-box .videovalue:hover i { color: #fff; background-color: #DB2230; }
.sermon-box .mp3value { position: absolute; right: 5%; top: 10%; }
.sermon-box .mp3value i { padding: 15px; font-size: 20px; background-color: #fff; border-radius: 50%; color: #DB2230; }
.sermon-box .mp3value:hover i { color: #fff; background-color: #DB2230; }

/* 기타 리스트 테이블 & 페이지네이션 */
.board-theme .theme-list table { border-top-width: 1px; }
.board-theme .theme-list table th,
.board-theme .theme-list table td { font-size: 12px; text-align: center; padding: 14px; }
.board-theme .theme-list table th { background: #fcfcfc; border-bottom-width: 1px; min-width: 70px; }
.board-theme .theme-list table th.document-title { width: 50%; }
.board-theme .theme-list table td.document-title { text-align: left; }
.board-theme .theme-list table tr.notice td.document-no,
.board-theme .theme-list table tr.notice td.document-title { font-weight: 600; }
.board-theme .theme-list table tbody td.document-title a { color: #333; text-align: left; }
.board-theme .theme-list table tbody td.document-title a:hover { text-decoration: underline; }
.board-theme .theme-list table tbody td.document-title a.comment-count { color: #333; margin-left: 6px; text-decoration: none; font-weight: 600; }
.board-theme .theme-list table tbody td.document-title span.file { color: #000; vertical-align: middle; }
.board-theme .theme-list table tbody td.document-title span.reserved { background: #444; color: #fff; padding: 2px 4px; margin-left: 6px; }
.board-theme .theme-list .document-title a.active { text-decoration: underline; }
.board-theme .theme-list .no-document { text-align: center; padding: 21px 0; }
.board-theme.list .board-pages { padding: 21px 0 30px 0; text-align: center; max-width: 1040px; margin: 0 auto; }
.board-theme.list .board-pages > span { padding-left: 11px; padding-right: 11px; }
.board-theme.list .board-pages > span.page { margin-bottom: 5px; cursor: pointer; font-size: 13px; border-radius: 0; }
.board-theme .board-pages > span.prev,
.board-theme .board-pages > span.next { cursor: pointer; color: #666; padding: 10px; }

/* 시리즈 버튼 등 */
.series-button { clear: both; margin-top: 80px; }
.series-button .btn { border-radius: 10px; padding: 15px 20px; margin: 10px 20px 10px 0px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; text-decoration: none; color: #000; font-size: 24px; line-height: 30px; }
.series-button .btn span { font-size: 20px; }
.series-button .btn:hover { background-color: #efefef; transition: 0.2s all ease; font-weight: bold; }
.series-button a { text-decoration: none; color: #000; font-size: 24px; }
#sermon-play { float: none; position: absolute; z-index: 8; top: 17%; left: 45%; width: 40px; height: 40px; }

/* ==========================================================================
   3. DETAIL VIEW (상세 보기 영역) - 원본 유지
   ========================================================================== */
#detail-bg { background-color: #000; padding: 60px 0px; margin-top: 50px; }
.board-share, #dimodeComment, .list-in-detail { display: none !important; }
#dimodeBoard.board-detail .board-share { display: inline-block !important; }

/* 오디오 다운로드 */
#downloadM { width: 100%; float: right; text-align: right; padding: 15px; }
#downloadM .mp3KORD i, #downloadM .mp3ENGD i { color: #DB2230; font-size: 24px; letter-spacing: 0.5px; transition: all ease 0.2s; padding: 15px; border: 2px solid #DB2230; border-radius: 25px; margin: 10px; }
#downloadM .mp3KORD:hover i, #downloadM .mp3ENGD:hover i, #downloadM .mp3KORD:focus i, #downloadM .mp3ENGD:focus i { color: #fff; background-color: #DB2230; border-color: #fff; }

/* 본문 상단 타이틀 영역 */
.board-theme .theme-detail .detail-top { margin-top: 65px; display: inline-block; width: 100%; }
.board-theme .theme-detail .detail-top .document-title { color: #000; overflow: hidden; font-weight: bold; font-size: 40px; }
.board-theme .theme-detail .detail-top .document-title h1 { float: none; color: #000; overflow: hidden; font-weight: bold; font-size: 45px; margin-bottom: 35px; }
.board-theme .theme-detail .detail-top .document-title h4 { font-size: 29px; font-weight: 500; border-bottom: 1px solid #000; padding-bottom: 30px; width: 100%; display: inline-block; }
.board-theme .theme-detail .detail-top .document-title h4 span:nth-child(1) { float: left; }
.board-theme .theme-detail .detail-top .document-title h4 span:nth-child(2) { float: right; }
.board-theme .theme-detail .detail-top .document-title h5 { font-size: 27px; font-weight: 400; margin-top: 30px; display: inline-block; }
.board-theme .theme-detail .detail-top .document-title span { font-size: 30px; font-weight: 400; }
.board-theme .theme-detail .detail-top .document-title .category { margin-right: 3px; }
.board-theme .theme-detail .detail-top .document-regdate { float: right; }

.list { font-size: 25px; float: right; margin-top: 20px; color: #000; text-decoration: none; }
.list:hover { text-decoration: none; color: #000; }

.board-theme .theme-detail .detail-upper { padding: 8px 14px; border-bottom: 1px solid #eee; display: inline-block; width: 100%; }
.board-theme .theme-detail .detail-upper .document-writer { float: left; }
.board-theme .theme-detail .detail-upper .document-readed_count { float: right; }
.board-theme .theme-detail .detail-video > a.video-button { display: block; width: 100%; text-align: center; background: #4e4e4e; color: #fff; padding: 16px 0; border-radius: 2px; font-size: 14px; text-decoration: none; }
.board-theme .theme-detail .detail-audio > * { margin-top: 12px; }
.board-theme .theme-detail .detail-audio-downlad { text-align: center; margin: 12px 0 21px 0; }
.board-theme .theme-detail .detail-audio-downlad > a { font-size: 14px; background: #07c; color: #fff; text-decoration: none; padding: 12px 24px; display: inline-block; }
.board-theme .theme-detail .detail-pdf iframe { width: 100%; height: 550px; }
.board-theme .theme-detail .detail-content { padding: 14px; word-break: break-all; font-size: 13px; }
.board-theme .theme-detail .detail-content img { cursor: pointer; }

/* ==========================================================================
   4. WRITE VIEW (글쓰기 영역)
   ========================================================================== */
.write-form { padding-top: 250px; }
.board-theme .theme-write { padding: 21px 21px 0 21px; background: #eee; }
.board-theme .theme-write .title-category { padding: 0; }
.board-theme .theme-write .title-content { padding: 0; }
.board-theme .theme-write .document-title { margin: 0; }
.board-theme .theme-write .document-extended_keys { margin-top: 12px; padding: 1px; }
.board-theme .theme-write .document-extended_keys table { border: 1px solid #ccc; }
.board-theme .theme-write .document-extended_keys table tr { background: #f9f9f9; }
.board-theme .theme-write .document-extended_keys table tr th { font-size: 11px; vertical-align: middle; }
.board-theme .theme-write .document-extended_keys table tr td select,
.board-theme .theme-write .document-extended_keys table tr td input { font-size: 12px; }
.board-theme .theme-write .document-extended_keys table tr td textarea { width: 100% !important; height: 120px; min-height: 70px; }
.board-theme .theme-write .document-extended_keys select { max-width: 210px; }
.board-theme .theme-write .document-content { margin-top: 12px; }
.board-theme .theme-write .document-content #cke_content { margin: 0 auto; }

/* ==========================================================================
   5. MEDIA QUERIES (반응형 대응)
   ========================================================================== */

/* 1699px 이하 */
@media (max-width: 1699px) {
}

/* 1499px 이하 */
@media (max-width: 1499px) {
    .series-button .btn { border-radius: 10px; padding: 10px 15px; margin: 10px 10px 10px 0px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; font-size: 20px; line-height: 25px; }
    .series-button .btn:hover { background-color: #e4e4e4; transition: 0.2s all ease; }
    .series-button a { text-decoration: none; color: #000; font-size: 17px; }
    .series-button .btn span { font-size: 15px; }
    .sermon-content h4 { font-size: 20px;}
    .sermon-content h5 { font-size: 15px; }
    .select .option { font-size: 15px; }
    .sermon-content .sermon-date { font-size: 15px; }
    .sermon-content .sermon-speaker { font-size: 15px; }
    .board-theme .theme-detail .detail-top .document-title h1 { font-size: 30px; }
    .board-theme .theme-detail .detail-top .document-title span { font-size: 23px; }
    .board-theme .theme-detail .detail-top .document-title h4 { font-size: 24px; }
    .board-theme .theme-detail .detail-top .document-title h5 { font-size: 22px; }
}

/* 1199px 이하 */
@media (max-width: 1199px) {
    .series-button .btn { margin: 10px 5px; font-size: 13px; border-radius: 10px; padding: 10px 15px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; line-height: 20px; }
    .series-button .btn:hover { background-color: #e4e4e4; transition: 0.2s all ease; }
    .series-button a { text-decoration: none; color: #000; font-size: 14px; }
    .series-button .btn span { font-size: 12px; }
    .sermon-content h4 { font-size: 17px; }
    .sermon-content h5 { font-size: 14px; }
    .select .option { font-size: 14px; }
    .sermon-content .sermon-date { font-size: 14px; }
    .sermon-content .sermon-speaker { font-size: 14px; }
    #sermon-play { float: none; position: absolute; z-index: 10; top: 16%; left: 45%; width: 30px; height: 30px; }
    .board-theme .theme-detail .detail-top .document-title h1 { font-size: 25px; }
    .board-theme .theme-detail .detail-top .document-title span { font-size: 20px; }
    .board-theme .theme-detail .detail-top .document-title h4 { font-size: 20px; }
    .board-theme .theme-detail .detail-top .document-title h5 { font-size: 18px; }
    #sermon-top h1 { font-size: 24px; }
    #sermon-control { font-size: 18px; }
    .sermonM{grid-template-columns: 1fr 1fr 1fr;}
}

/* 992px 이하 */
@media (max-width: 992px) {
    .sermonM{grid-template-columns: 1fr 1fr;}
    .sermon-box .videovalue i { padding: 5px; font-size: 15px; }
    .sermon-box .mp3value i { padding: 5px; font-size: 15px; }
    .board-theme .theme-list .list-categories { padding-top: 25px; }
    .board-theme .theme-list .list-categories .category-group .category-btn { font-size: 17px; padding: 10px 15px; }
    #dimodeBoard .board-actions.top { display: none !important; }
    .board-theme .container { padding: 0px 15px; }
    .theme-list .container { padding: 0px 15px; }
    .sermon-content h4 { font-size: 16px; width: 60%; margin: 0 0 15px; }
    .sermon-content .sermon-count,
    .sermon-content h5 { font-size: 16px; }
    .series-button .btn { margin: 5px 5px 5px 0px; font-size: 13px; border-radius: 10px; padding: 10px 15px; background-color: #fff; box-shadow: 1px 1px 6px 1px #aaa; line-height: 25px; }
    .series-button .btn:hover { background-color: #e4e4e4; transition: 0.2s all ease; }
    .series-button a { text-decoration: none; color: #000; font-size: 14px; }
    .series-button .btn span { font-size: 12px; }
    .sermon-content { padding: 20px 10px; }
    .sermon-content .sermon-speaker { font-size: 16px !important; }
    #sermon-top h1 { margin-bottom: 30px; }
    .series-button { margin-top: 145px; }
    .title-image { width: 100%; }
    .theme-detail { padding-top: 100px; }
    .board-theme .theme-detail .detail-top .document-title h1 { font-size: 25px; }
    .board-theme .theme-detail .detail-top .document-title span { font-size: 20px; }
    .board-theme .theme-detail .detail-top .document-title h4 { font-size: 20px; }
    .board-theme .theme-detail .detail-top .document-title h5 { font-size: 18px; }
}

/* 767px 이하 */
@media (max-width: 767px) {
    #dimodeBoard .board-pages { padding: 30px; }
    .sermon-content h4 { font-size: 17px; }
    #sermon-play { left: 41%; top: 20%; width: 30px; height: 30px; }
    .sermon-content h5 { display: none; }
    .sermon-content .sermon-speaker { display: none; }
    .sermon-content .sermon-date { display: none; }
    .sermon-content { text-align: center; height: 110px; }
    .sermon-content a img { display: none; }
    #sermon-top { padding-top: 0px; padding-right: 20px; padding-left: 20px; }
    #sermon-top h1 { margin-bottom: 15px; margin-left: 10px; font-size: 23px; }
    .sermonM{grid-template-columns: 1fr;}
    .title-image { width: 100%; }
    #sermon-kind { display: block; }
    .sermon-box { width: 100%; padding: 0; }
    #dimodeBoard .board-actions.top { display: none !important; }
    #sermon-keyword { display: inline-block; margin-top: 15px; font-size: 15px; width: 145px; margin-right: 0px; margin-left: 5px; height: 30px; }
    #sermon-control { font-size: 14px; width: 95px; margin-top: 15px; margin-right: 5px; margin-left: 5px; height: 30px; }
    #sermon-search { display: inline-block; width: 100%; margin-bottom: 15px; }
    #sermon-button { display: block; margin-top: 12px; float: left; padding: 5px; margin-right: 0; background-color: transparent !important; }
    #sermon-button img { width: 20px; margin-top: 5px; }
    .theme-detail { padding-top: 50px; }
    .theme-detail .container { padding: 0px 35px; }
    .board-theme .theme-list .list-categories .category-group .category-btn { padding: 5px 10px; margin: 5px 10px 5px 0px; font-size: 17px; }
    .board-theme .theme-detail .detail-top { margin-top: 30px; }
    .board-theme .theme-detail .detail-top .document-title h1 { font-size: 20px; line-height: 1.6em; }
    .board-theme .theme-detail .detail-top .document-title span { font-size: 20px; }
    .board-theme .theme-detail .detail-top .document-title h4 { font-size: 16px; padding-bottom: 15px; }
    .board-theme .theme-detail .detail-top .document-title h5 { font-size: 16px; margin-top: 10px; float: left; }
    .list { margin-top: 10px; font-size: 14px !important; }
    .series-button { padding: 0px 5px; }
    .series-button a { font-size: 14px; }
    .series-button .btn { padding: 10px; margin: 6px 3px; font-size: 13px; line-height: 16px; }
    .series-button .btn span { font-size: 11px; }
}

/* 320px 이하 */
@media (max-width: 320px) {
    .sermon-content h4 { font-size: 15px; text-align: left; }
    .sermon-box .videovalue i,
    .sermon-box .mp3value i { padding: 10px; }
    .sermon-box .videovalue { right: 20%; top: 40%; }
    .sermon-box .mp3value { right: 5%; top: 40%; }
}