/* 타이틀 */
ul, ol, figure { margin: 0; padding: 0; }
/* 페이지 설정 - 페이지 타이틀 */
h2.page-title { font-size: 24px; }
/* 페이지 설정 - 상세페이지 내의 section에 대한 title */
h6.section-title { font-size: 16px; font-weight: 700; color: #3E50B4; }
h6.section-title::before { content: '⊙'; display: inline-block; width: 15px; height: 15px; margin-right: 5px; }
.form-control { display: inline-block !important; min-width: 80px; width: auto !important; }
.form-control.w100 { width: 100% !important; }
select, input[type="text"] { border: 1px solid #e9ecef; }
/* 공통 검색필터 */
.filter-container { padding: 20px; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; color: #333; font-size: 1em; }
.filter-container>div { margin-top: 14px; }
.filter-container>div:first-child { margin-top: 0; }
.filter-title { display: inline-block; width: 120px; font-weight: 600; color: #3E50B4; }
.filter-content { display: inline-block; width: calc(100% - 130px); }
.filter-content label { margin-right: 8px; cursor: pointer; }
ul.filter-term { display: inline-block; }
ul.filter-term li { display: inline-block; width: 52px; border: 1px solid #3E50B4; padding: 2px 4px; text-align: center; cursor: pointer; font-size: 0.9em; margin-right: -5px; }
ul.filter-term li.active { background-color: #3E50B4; color: #fff; }
div.row { margin-bottom: 32px; }
input::placeholder { color: #bbb !important; }
.loader { border: 16px solid #f3f3f3; border-top: 16px solid red; border-radius: 50%; width: 120px; height: 120px; animation: spin 1000ms linear infinite; position: fixed; left: 50%; top: 50%; z-index: 10; display: none; }
@keyframes spin {
 from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
 }
label.radio-btn { height: 30px; min-width: 66px; padding: 0 16px; border: 1px solid #212642; color: #212642; display: inline-block; line-height: 28px; text-align: center; cursor: pointer; font-size: 12px; }
input.radio-btn:checked+label { background: #212642; color: #fff; }
input.radio-btn { display: none; }
ul li.li-btn-inline { height: 30px; min-width: 66px; margin: 0 4px 4px 0; padding: 0 16px; border: 1px solid #212642; color: #212642; display: inline-block; line-height: 28px; text-align: center; cursor: pointer; font-size: 12px; }
ul li.li-btn-inline.active { background: #212642; color: #fff; }
input.number { text-align: right; }
/* 공통 리스트테이블 Summary */
.table-summary { margin-top: 20px; color: #666; }
/* 공통 리스트테이블 */
div.comm-list-tbl-container { width: 100%; margin-top: 4px; overflow-x: auto; }
table.comm-list-tbl { display: block; width: auto; font-size: 0.9em; border-collapse: collapse; border-spacing: 0; }
table.comm-list-tbl th, table.comm-list-tbl td { padding: 6px 10px; color: #333; outline: 0.5px solid #ddd; }
table.comm-list-tbl th { text-align: center; border: 1px solid #ddd; background: #eee; }
table.comm-list-tbl td { text-align: center; border: 1px solid #ddd; color: #333; background: #fff }
img.prd-thumb { width: 40px; }
/* detail table css(상세페이지) */
table.table-detail { border-collapse: collapse; border: 1px solid #D6D6D6; font-size: 14px; }
table.table-detail th { height: 44px; min-width: 70px; background-color: #F3F3F3; border: 1px solid #D6D6D6; font-weight: 500; padding: 10px; }
table.table-detail th.required::before { content: '*'; display: inline-block; margin-left: 3px; font-size: 15px; color: #E12222; }
table.table-detail td { height: 44px; padding-left: 20px; background-color: #FFF; border: 1px solid #D6D6D6; text-align: left; padding: 10px; }
/* detail-sub table css(상세페이지의 테이블 내 sub 테이블) */
table.table-detail-sub { margin: 10px 0; background-color: #ECECEC; border-collapse: collapse; font-size: 13px; }
table.table-detail-sub th, table.table-detail-sub td { height: 44px; padding: 4px 10px; margin: 0; border: 1px solid #D6D6D6; }
table.table-detail-sub th { background-color: #F6F6F6; font-weight: 500; }
table.table-detail-sub th.required::before { content: '*'; display: inline-block; margin-left: 3px; font-size: 15px; color: #E12222; }
table.table-detail-sub td { background-color: #FFF; text-align: center; align-items: center; }
table td.ellipsis { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
/* table td.ellipsis:hover { overflow: visible; white-space: normal; }
*/
/* pagination 관련 */
div.pagination { display: flex; align-items: center; justify-content: center; margin-top: 20px; color: #ABABAB; }
div.pagination button.page-button { padding: 0; width: 32px; height: 32px; border: 0px; background: #fff; color: #ABABAB; font-size: 14px; line-height: 14px; font-weight: 600; cursor: pointer; border-top: 1px solid #5B76E2; border-bottom: 1px solid #5B76E2; border-right: 1px solid #5B76E2; }
div.pagination button.page-button:first-child { border-left: 1px solid #5B76E2; }
div.pagination button:disabled { cursor: not-allowed; }
div.pagination button.active-page { color: #5B76E2; font-weight: 650; opacity: 1 !important; cursor: not-allowed; }
/* 공통 select 설정 */
select.common-select { min-width: 100px; height: 34px; border: 1px solid #D6D6D6; border-radius: 4px; font-size: 14px; padding: 0 14px; }
select.common-select-sub { min-width: 100px; height: 24px; border: 1px solid #D6D6D6; border-radius: 2px; font-size: 12px; padding: 0 6px; }
/* 공통 input 설정 */
input.common-input { min-width: 100px; height: 34px; padding: 0 14px; border: 1px solid #D6D6D6; border-radius: 4px; vertical-align: middle; color: #333; }
input.common-input::placeholder, textarea.common-textarea::placeholder { color: #ccc; }
input.common-input-date { width: 110px; height: 34px; padding: 0 14px; border: 1px solid #D6D6D6; border-radius: 4px; vertical-align: middle; color: #333; }
input.common-input[type=radio] { min-width: 16px !important; width: 16px; height: 16px; margin-right: 4px; cursor: pointer; }
input.common-input[type=checkbox] { min-width: 16px !important; width: 16px; height: 16px; margin-right: 4px; cursor: pointer; }
textarea.common-textarea { padding: 10px 14px; border: 1px solid #D6D6D6; border-radius: 4px; color: #333; }
input.common-input-sub { height: 24px; padding: 0 6px; border: 1px solid #D6D6D6; border-radius: 2px; vertical-align: middle; font-size: 12px; color: #333; }
input.common-input:read-only, input.common-input-date:read-only, input.common-input-sub:read-only, textarea.common-textarea:read-only { background-color: #f5fcff; }
/* input 입력칸 옆 단위(원, 개) */
span.unit { margin-left: 4px; }
.shrnImgContainer { display: flex; flex-wrap: wrap; }
.shrnImgContainer .service-image-wrapper { position: relative; margin-right: 10px; margin-bottom: 10px; }
.shrnImgContainer .shrine-image, .shrnImgContainer .service-image { display: inline-block; width: 100px; height: 100px; border: 1px solid #21264299; border-radius: 8px; cursor: pointer; color: #21264299; background: #21264233; }
.shrnImgContainer .service-image-delete-btn { position: absolute; top: 4px; right: 4px; background: #333; border: 0; width: 28px; height: 28px; border-radius: 14px; color: #fff; font-size: 14px; line-height: 28px; font-weight: 800; font-family: Pretendard; }
img.revw-thumb { width: 40px; height: 40px; }
img.revw-thumb-modal { width: 80px; height: 80px; }
div.revw-desc { min-height: 112px; border: 1px solid #ddd; padding: 10px; border-radius: 4px; }
p.book-sum { cursor: pointer; font-size: 0.85rem; }
p.book-sum .cntTitle { font-weight: 600; }
ul.book-state-histories { display: flex; flex-direction: column; align-items: center; margin: 0.5rem 0; }
ul.book-state-histories li { padding: 0.8rem; width: 50%; max-width: 260px; border: 1px solid #bbb; border-radius: 12px; margin-bottom: 2rem; position: relative; }
ul.book-state-histories li:last-child { margin-bottom: 0; }
ul.book-state-histories li::after { content: ''; position: absolute; clear: both; width: 40px; height: 20px; bottom: -26px; left: 50%; transform: translate(-50%, 0); background: url('/public/images/arrow-down.png') no-repeat center center; background-size: 100% 100%; }
ul.book-state-histories li:last-child:after { display: none; }
ul.book-state-histories li .book-state-name { font-weight: bold; color: #333; }
ul.book-state-histories li .book-state-dttm { font-size: 12px; color: #666; }
