/* 내용 스타일 */

:root{
    --section-margin:0 auto 50px auto;
    --section-font-size:20px;
    --title-color:#08178c;
    --title-sub-tit-color:#08178c;
    --section-box-bg:#f5f6f8;
    --section-tbl-thead-bg:#245e9a;
    --section-tbl-th-bg:#dfeaf7;
    --section-tbl-border-color:#c0c0c0;
    --box-bg-odd:#5c9ee2;
    --box-bg-even:#3a7abc;
}

.bg-white{
    background-color:#ffffff;
}

.img_box > img, img.img_box {
    max-width: 100%;
}
.pic_box{
    padding:1.8em;
}
.pic_box_round{
    border-radius: 0.85em;
}
.pic_caption{
    text-align:center;
    position: relative;
    font-weight:500;
    font-size:1.3em;
}
.pic_caption:before{
    content:'[';
}
.pic_caption:after{
    content:']';
}

.content_section{
    font-size:var(--section-font-size);
    margin:var(--section-margin);
    color:#333;
}

.content_section > .setction_tit{
    font-size:1em;
    margin-bottom:20px;
}
.content_section > .setction_tit h2{
    font-size:1.25em;
    font-weight:600;
    color:var(--title-color);
    position: relative;
    padding-left:30px;
    word-break: keep-all;
}
.content_section > .setction_tit h2:before{
    content:'';
    background-image:url(/theme/kgsw/img/h2_bullet.png);
    background-repeat: no-repeat;
    background-position: center;
    width:22px;
    height:22px;
    display:inline-block;
    position: absolute;
    left:0;
    top:9px;
}
.content_section div.section_box{
    background-color:var(--section-box-bg);
    padding:30px 35px;
    border-radius: 10px;
    font-size:1em;
}
.content_section .section_box .section_caption{
    font-size:1em;
    word-break: keep-all;
    line-height:2em;
    margin-bottom:1.25em;
}

.content_section .section_box > .setction_tit{
    font-size:1em;
    margin-bottom:20px;
}
.content_section .section_box > .setction_tit h3{
    font-size:1.05em;
    font-weight:600;
    color:var(--title-sub-tit-color);
    position: relative;
    padding-left: 32px;
    word-break: keep-all;
}
.content_section .section_box > .setction_tit h3:before{
    content:'';
    background-image:url(/theme/kgsw/img/h3_bullet.png);
    background-repeat: no-repeat;
    background-position: center;
    width:18px;
    height:24px;
    display:inline-block;
    position: absolute;
    left: 4px;
    top:4px;
}
div.section_tbl{
    font-size:1em;
}
.section_tbl table{
    width:100%;
    border-collapse: collapse;
    border-spacing: 0;
}
.section_tbl table thead{
    background-color:var(--section-tbl-thead-bg);
}
.section_tbl table thead th{
    color:#fff;
    font-size:0.85em;
    font-weight:400;
    padding:0.85em;
    text-align:center;
}
.section_tbl table tbody th{
    color:#333;
    font-size:0.85em;
    font-weight:500;
    padding:0.85em;
    text-align:center;
    border:1px solid var(--section-tbl-border-color);
    background-color:var(--section-tbl-th-bg);
}
.section_tbl table tbody td{
    color:#333;
    font-size:0.85em;
    font-weight:400;
    padding:0.85em;
    text-align:left;
    background-color:#ffffff;
    border:1px solid var(--section-tbl-border-color);
    word-break: keep-all;
}
.section_tbl table tbody td ul.tbl_ul{
    color:#333;
    font-size:1em;
    padding:0.85em;
    text-align:left;
    line-height:2em;
}
.section_tbl table tbody td ul.tbl_ul > li{
    color:#333;
    font-size:1em;
    padding-left:1em;
    text-align:left;
    line-height:2em;
    position:relative;
    word-break:keep-all;
}
.section_tbl table tbody td ul.tbl_ul > li:before{
    content:'';
    display:block;
    width:7px;
    height:7px;
    background-color:#7599bd;
    border-radius:50%;
    left:0;
    top:calc(1em - 3.5px);
    position: absolute;
}

/* 분문 숫자형 캡션 */
.section_number{
    font-size:1em;
    padding-bottom:1.2em;
    margin-bottom:1.2em;
    border-bottom:1px dashed #ccc;
}
.section_number.last{
    padding-bottom:0em;
    margin-bottom:0em;
    border-bottom:0;
}

.section_number > ol {
    font-size:1em;
}
.section_number > ol > li{
    font-size:0.9em;
    position: relative;
    padding-left:35px;
    line-height: 1.8em;
    margin-bottom:3px;
}

.section_number > ol > li:before{
    content:'';
    position: absolute;
    width:26px;
    height:26px;
    border-radius: 50%;
    background-color:#009cff;
    color:#fff;
    display:flex;
    justify-content: center;
    align-items: center;
    left:0;
    top:3px;
}
.section_number > ol > li:nth-child(1):before{content:'1';}
.section_number > ol > li:nth-child(2):before{content:'2';}
.section_number > ol > li:nth-child(3):before{content:'3';}
.section_number > ol > li:nth-child(4):before{content:'4';}
.section_number > ol > li:nth-child(5):before{content:'5';}
.section_number > ol > li:nth-child(6):before{content:'6';}
.section_number > ol > li:nth-child(7):before{content:'7';}
.section_number > ol > li:nth-child(8):before{content:'8';}
.section_number > ol > li:nth-child(9):before{content:'9';}
.section_number > ol > li:nth-child(10):before{content:'10';}

/* 분문 목록형 캡션 */
.section_ul{
    font-size:1em;
    padding-bottom:1.2em;
    margin-bottom:1.2em;
    border-bottom:1px dashed #ccc;
}
.section_ul.last{
    padding-bottom:0em;
    margin-bottom:0em;
    border-bottom:0;
}

.section_ul > ul {
    font-size:1em;
}
.section_ul > ul > li{
    font-size:0.9em;
    position: relative;
    padding-left:35px;
    line-height: 1.8em;
    margin-bottom:3px;
}

.section_ul > ul > li:before{
    content:'';
    position: absolute;
    width:9px;
    height:9px;
    border-radius: 50%;
    background-color:#0e539a;
    left: 10px;
    top: 11px;
}

/* 본문 텍스트 상자 배치 */
.sec_color_box{
    padding:1.5em;
    background-color:#e5f0fc;
    border-radius: 10px;
}
.grid_box{
    display:grid;
    grid-gap:1em;
    font-size:1em;
}
.grid_txt_box{
    display:grid;
    grid-gap:1em;
    font-size:1em;
}
.grid_col_3{
    grid-template-columns: repeat(3,1fr);
}
.grid_txt_box.grid_col_3 i {
    font-size: 2em;
    margin-bottom: 0.1em;
}
.grid_col_4{
    grid-template-columns: repeat(4,1fr);
}
.grid_box .grid_items{
    display:flex;
    flex-direction: column;
    border-radius:10px;
    font-size:1em;
    border:2px solid #5c9ee2;
    overflow: hidden;
}
.grid_box .grid_items:nth-child(1){ border-color:#5c9ee2; }
.grid_box .grid_items:nth-child(2){ border-color:#3a7abc; }
.grid_box .grid_items:nth-child(3){ border-color:#185696; }
.grid_box .grid_items:nth-child(4){ border-color:#083c72; }
.grid_box .grid_items:nth-child(1) div.grid_item_tit{ background-color:#5c9ee2; }
.grid_box .grid_items:nth-child(2) div.grid_item_tit{ background-color:#3a7abc; }
.grid_box .grid_items:nth-child(3) div.grid_item_tit{ background-color:#185696; }
.grid_box .grid_items:nth-child(4) div.grid_item_tit{ background-color:#083c72; }
.grid_box .grid_items div.grid_item_tit{
    display:flex;
    align-items: center;
    justify-content: center;
    font-size:0.9em;
    background-color:#5c9ee2;
    color:#fff;
    padding:0.5em 1.25em;
}
.grid_box .grid_items div.grid_item_content{
    display:flex;
    align-items: center;
    justify-content: center;
    font-size:0.9em;
    background-color:#fff;
    color:#333;
    padding:1.2em 1.25em;
    text-align:center;
    height: 100%;
}

.grid_txt_box > div{
    display:flex;
    align-items: center;
    justify-content: center;
    font-size:0.9em;
    background-color:var(--box-bg-odd);
    color:#fff;
    padding:2em 1.8em;
    border-radius:10px;
    flex-direction: column;
}
.grid_txt_box > div > span{
    display:block;
    text-align: center;
}
.grid_txt_box > div:nth-child(odd){
    background-color:var(--box-bg-odd);
}
.grid_txt_box > div:nth-child(even){
    background-color:var(--box-bg-even);
}

.page_program_box{
    display:grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap:15px;
}
.page_program_box > div{
    text-align: center;
}
.page_program_box img{
    max-width:100%;
}

.out_url_link{
    position: relative;
    display: inline-block;
    vertical-align: baseline;
    font-size: 0.85em;
    padding: 5px 8px;
    background-color: #dfeaf7;
    line-height: 1;
    color: #333;
    border-radius: 4px;
    padding-right: 2rem;
    margin-left: 0.75em;
    border: 1px solid #a1bbd9;
	transition:all 0.3s;
}
.out_url_link:hover{
    background-color: #5d7796;
	border-color:#5d7796;
	color:#fff;
	transition:all 0.3s;
}
.out_url_link:hover:after{
	color:#fff;
	transition:all 0.3s;
}
.out_url_link:after{
    position: absolute;
	right:5px;
	top:50%;
	transform: translateY(-50%);
    display: block;
    content:'\f015';
    font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #5d7796;
	transition:all 0.3s;
}

/* 콘텐츠 반응형 적용 */
@media (max-width:1199px){
    :root{
        --section-margin:0 auto 50px auto;
        --section-font-size:15px;
    }    
    .content_section .section_box .section_caption {
        font-size: 1em;
        line-height: 1.6em;
    }
}

@media (max-width:1184px){
    .page_program_box{
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width:768px){
    div.img_box{
        padding:10px;
        overflow-x: auto;
    }
    .img_box > img, img.img_box {
        max-width: 800px;
        white-space: nowrap;
    }
    .section_tbl{
        overflow-x:auto;
    }
    .section_tbl > table{
        width:auto;
        white-space: nowrap;
    }
    .grid_col_3{
        grid-template-columns: repeat(2,1fr);
    }
}
@media (max-width:460px){
    .page_program_box{
        grid-template-columns: repeat(1,1fr);
    }
}
@media (max-width:420px){
    .grid_col_3{
        grid-template-columns: repeat(1,1fr);
    }
}

.status.ok { color: #0078ff; font-weight: bold; }
.status.wait { color: #555; font-weight: bold; }
.status.reject { color: #d80000; font-weight: bold; }

.reject-box {
    padding: 10px;
    color: #d80000;
    background: #fff0f0;
    border: 1px solid #ffbcbc;
}

.file-list li {
    margin-bottom: 6px;
}