@charset "utf-8";



/*! Layout */




/* 게시판 _ CSS */
select { cursor: pointer; border-radius: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select::-ms-expand{ display: none; }

/*? 체크박스 */
#gall_allchk{ margin-bottom: 10px; }
.selec_chk { display: none; }
.chk_box {position:relative; }
.chk_box input[type="checkbox"]{ display: none; }
.chk_box input[type="checkbox"] + label { position:relative; font-size: 14px; font-weight: 400; color: #797979; letter-spacing: -0.5px; line-height: 23px; cursor: pointer; }
.chk_box input[type="checkbox"] + label span{ display: inline-block; width: 23px; height: 23px; background: #f8f8f8; border: 1px solid #ddd; border-radius: 0; vertical-align: -6px; margin-right: 5px; }
.chk_box input[type="checkbox"]:checked + label span{ background: url(img/ico_board_check.png) no-repeat center center, #00269A; border: 1px solid #00269A; }

/*? 관리자 버튼 */
#bo_list #btn_bo_user{ margin-bottom: 30px; }
#bo_v #btn_bo_user{ margin-top: 30px; }
#btn_bo_user{ width: 100%; }
#btn_bo_user ul{ display: flex; align-items: center; justify-content: flex-end; }
#btn_bo_user ul li{ text-align:center; margin-left: 7px;}
#btn_bo_user ul > li > *{ display: inline-block; height: 33px; font-size: 13px; font-weight:500; line-height: 32px; color: #777; border: 1px solid #dedede; padding: 0 12px; background-color: #fff; border-radius: 0; }
#btn_bo_user ul > li > .btn_admin{ color: #00269A; border: 1px solid #00269A; }

/*? 확인버튼 */
.btn_confirm{ text-align: center; margin-top: 50px; }
.btn_confirm #btn_submit{ display: inline-block; height: 50px; font-size: 17px; font-weight: 500; color: #00269A; letter-spacing: -0.5px; line-height: 48px; border: 1px solid #00269A; padding: 0 40px; background: #fff; border-radius: 0; transition: all 0.2s ease-in-out; }
.btn_confirm #btn_submit:hover{ color: #fff; background: #00269A; }


/*! Category */
#bo_cate{ margin-bottom: 80px; margin-top: 90px; }
#bo_cate ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
#bo_cate ul li{ width: max-content; margin-left: 60px; }
#bo_cate ul li:first-of-type{ margin-left: 0; }
#bo_cate ul li a{ position: relative; display: block; font-size: 20px; font-weight: 700; color: #aaa; letter-spacing: -1px; line-height: 30px; text-align: center; transition: all 0.2s ease-in-out; }
#bo_cate ul > li > a > .under{ position: absolute; bottom: -3px; left: 0; width: 0; height: 4px; background-color: #00269A; display: block; transition: all 0.2s ease-in-out; }

#bo_cate ul li a:hover{ color: #111; }
#bo_cate ul li a:hover > .under{ width: 100%; }
#bo_cate ul li #bo_cate_on{ color: #111; }
#bo_cate ul li #bo_cate_on > span{ width: 100%; }
#bo_cate ul li a em{ display: none; }




/*! ────────── L I S T ────────── */
.listBox{ display: flex; flex-wrap: wrap; margin: 0 auto; }
.listBox > li{ position: relative; width: 32%; margin-right: 2%; }
.listBox > li:nth-of-type(3n){ margin-right: 0; }
.listBox > li:nth-of-type(n+4){ margin-top: 60px; }
.listBox > li.empty_list{ width: 100%; margin: 0; }
.listBox > li > .gall_chk{ position: absolute; left: 10px; top: 10px; z-index: 20; }
.listBox > li > a{ display: block; }
.listBox .imgBox{ position: relative; width: 100%; overflow: hidden; margin-bottom: 15px; }
.listBox .imgBox img{ width: 100% !important; height: 100% !important; object-fit: cover; transition: all 0.5s ease-out; }
.listBox .imgBox .img-shade { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 0; background-color: rgba(255, 137, 0, .8); transition: all .3s ease-out; }
.listBox .imgBox .btn-more { position: absolute; display: inline-block; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 14px; line-height: 34px; margin: 0 auto; padding: 0 24px; border-radius: 17px; border: 1px solid #fff; opacity: 0; transition: all .3s ease-out; }
.listBox .txtBox{ display: block; /*text-align: center;*/ }
.listBox .txtBox .netname { font-size: 15px; color: #00269A; font-weight: 600; letter-spacing: -1px; margin-bottom: 5px; }
.listBox .txtBox h3{ position: relative; display: inline-block; font-size: 20px; font-weight: 700; color: #111; letter-spacing: -1px; line-height: 30px; word-break: keep-all; transition: all 0.3s ease-in-out; }
.listBox .txtBox h3 > span{ position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background-color: #00269A; display: block; transition: all .3s ease-in-out; }
.listBox .txtBox .cont { margin-top: 15px; height: 70px; font-size: 14px; font-weight: 400; color: #555; line-height: 23px; word-break: keep-all; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-wrap: break-word; }
.listBox .txtBox .bo_info{ margin-top: 5px; }
.listBox .txtBox .bo_info span{ position: relative; display: inline-block; font-size: 14px; font-weight: 300; line-height: 23px; word-break: keep-all; }

/* ? hover */
.listBox a:hover .imgBox img{ transform: scale(1.05); }
.listBox a:hover .imgBox .img-shade{ height: 100%; }
.listBox a:hover .imgBox .btn-more{ opacity: 1; transition-delay: .2s; }
.listBox a:hover .txtBox h3{ color: #00269A; }
/*.listBox a:hover .txtBox h3 > span{ width: 100%; }*/

.listBox .li_empty { display: flex; justify-content: center; align-items: center; width: 100%; font-size: 14px; color: #797979; min-height: 300px; background-color: #f8f8f8; border: 1px solid #ddd; margin-right: 0; }



/*! ────────── V I E W ────────── */
#bo_v{ position: relative; width: 100%; margin-top: 90px; }
#bo_v .bo_v_tit{ width: 100%; text-align: center; padding: 50px 50px; border-top: 1px solid #cacaca; border-bottom: 1px solid #cacaca; }
#bo_v .bo_v_tit > p{ font-size: 18px; color: #00269A; font-weight: 700; letter-spacing: -1px; margin-bottom: 5px; }
#bo_v .bo_v_tit h3{ font-size: 34px; font-weight: 700; color: #111; letter-spacing: -1px; line-height: 44px; word-break: keep-all; }
#bo_v .bo_v_tit ol{ display: flex; align-items: center; justify-content: center; margin-top: 10px; }
#bo_v .bo_v_tit ol li{ position: relative; font-size: 15px; font-weight: 400; color: #aaa; letter-spacing: -0.5px; word-break: keep-all; padding: 0 15px; }
/*#bo_v .bo_v_tit ol li::after{ position: absolute; right: 0; top: 3px; width: 1px; height: 13px; background: #aaa; content: ''; display: block; }
#bo_v .bo_v_tit ol li:last-of-type:after{ display: none; }*/
#bo_v .bo_v_con{ width: 100%; font-size: 16px; font-weight: 400; line-height: 28px; word-break: keep-all; padding: 50px; background: #fff; }
/*#bo_v .bo_v_con *{ font-size: 16px; font-weight: 400; line-height: 28px; word-break: keep-all; }*/
#bo_v .bo_v_con img{ max-width: 100%; }


/*! ─────────── W R I T E ─────────── */
#bo_w{ position: relative; width: 100%; margin-top: 90px; }
#bo_w form .frmBox ul{ display: flex; flex-wrap: wrap; justify-content: space-between; }
#bo_w form .frmBox ul li{ width: 100%; margin-bottom: 30px; }
#bo_w form .frmBox ul li.wid02{ width: 49%; }
#bo_w form .frmBox ul li:last-of-type{ margin-bottom: 0; }
#bo_w form .frmBox ul li .label{ font-size: 18px; font-weight: 500; color: #111; letter-spacing: -0.5px; margin-bottom: 10px; }
#bo_w form .frmBox ul li .label .req{ display: inline-block; width: 5px; height: 5px; background: #00269A; border-radius: 50%; vertical-align: 10px; margin-left: 5px; }
#bo_w form .frmBox ul li .label em{ font-size: 14px; font-weight: 400; color: #aaa; font-style: normal; }
#bo_w form .frmBox ul li .selectBox{ position: relative; }
#bo_w form .frmBox ul li .selectBox::after{ position: absolute; right: 5%; top: 50%; transform: translateY(-50%); width: 10px; height: 8px; background: url(/img/ico_select.png) no-repeat center center; content: ''; display: block; }
#bo_w form .frmBox ul li select,
#bo_w form .frmBox ul li .frm_input,
#bo_w form .frmBox ul li textarea{ width: 100%; height: 55px; font-size: 16px; color: #111; padding: 0 20px; border: 1px solid #ddd; outline: none; border-radius: 0; background: #fff; transition: all 0.2s ease-in-out; }
#bo_w form .frmBox ul li select option{ background: #fff; color: #111; }
#bo_w form .frmBox ul li select{ color: #c1c5cc; }
#bo_w form .frmBox ul li textarea{ height: 250px; line-height: 30px; padding: 20px 30px; resize: none; }
#bo_w form .frmBox ul li .frm_input::placeholder,
#bo_w form .frmBox ul li textarea::placeholder{ color: #c1c5cc; }
#bo_w form .frmBox ul li select:focus,
#bo_w form .frmBox ul li select:focus-visible,
#bo_w form .frmBox ul li .frm_input:focus,
#bo_w form .frmBox ul li .frm_input:focus-visible,
#bo_w form .frmBox ul li textarea:focus,
#bo_w form .frmBox ul li textarea:focus-visible{ border: 1px solid #00269A; }
/* 파일박스 */
#bo_w form .frmBox .fileBox{ width: 100%; height: 55px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; background: #fff; border: 1px solid #ddd; }
#bo_w form .frmBox .fileBox input[type="file"]{ display: none; }
#bo_w form .frmBox .fileBox label{ display: inline-block; cursor: pointer; }
#bo_w form .frmBox .fileBox .upload-name{ display: inline-block; font-size: 16px; color: #c1c5cc; border: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
#bo_w form .frmBox .fileBox + .file_del{ display: block; margin-top: 7px; padding: 0; }



/*! PC - Tablet */
@media screen and (max-width: 1640px){

/*! Visual */

.board-visual .inner > h2{ font-size: 60px; color: #fff; font-weight: 700; width: max-content; margin: 0 auto; }

.sub_board { position: relative; width: 100%; }
.sub_board .inner{ padding: 90px 0 140px; max-width: 90%; margin: 0 auto; }


/*! Category */
#bo_cate{ margin-bottom: 80px; }
#bo_cate ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
#bo_cate ul li{ width: max-content; margin-left: 40px; }
#bo_cate ul li a{ font-size: 18px; }
#bo_cate ul > li > a > .under{ bottom: -3px; left: 0; width: 0; height: 4px; }


}




@media screen and (max-width: 1279px){
 
/*! Visual */
.board-visual .inner { width: 100%; height: 250px; padding-top: 100px; background: url(/img/bg_board_visual.png) no-repeat; background-size: cover; }
.board-visual .inner > h2{ font-size: 34px; font-weight: 700; width: max-content; margin: 0 auto; }

.sub_board { position: relative; width: 100%; }
.sub_board .inner{ padding: 0 0 100px; max-width: 90%; margin: 0 auto; }


/*! Category */
#bo_cate{ margin-bottom: 40px; }
#bo_cate ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
#bo_cate ul li{ width: max-content; margin-left: 20px; }
#bo_cate ul li a{ font-size: 16px; font-weight: 700; }
#bo_cate ul > li > a > .under{ bottom: 0px; left: 0; width: 0; height: 2px; }




/**  LIST  */
.listBox > li .imgBox{ margin-bottom: 15px; }
.listBox > li .hovBox ul li a{ font-size: 15px; }
.listBox > li .txtBox span{ font-size: 14px; line-height: 16px; }
.listBox > li .txtBox h3{ font-size: 15px; line-height: 20px; }
.listBox .txtBox .netname { font-size: 13px; color: #00269A; font-weight: 700; letter-spacing: -1px; margin-bottom: 5px; }
.listBox .txtBox .bo_info span{ font-size: 12px; color: #aaa; line-height: 23px; word-break: keep-all; padding: 0 12px; }



/**  VIEW  */
#bo_v .bo_v_tit h3{ font-size: 26px; letter-spacing: -0.5px; line-height: 36px; }
#bo_v .bo_v_tit ol li{ font-size: 14px; }
#bo_v .bo_v_con{ padding: 30px; }
#bo_v .bo_v_con,
#bo_v .bo_v_con *{ font-size: 15px; }

}

@media screen and (max-width: 767px){ 

/*! Visual */
.board-visual .inner { width: 100%; height: 250px; padding-top: 0; background: url(/img/bg_board_visual.png) no-repeat; background-size: cover; }
.board-visual .inner > h2{ font-size: 36px; color: #fff; font-weight: 700; width: max-content; margin: 0 auto; }

.sub_board { position: relative; width: 100%; }
.sub_board .inner{ padding: 0px 0 140px; max-width: 90%; margin: 0 auto; }


/*! Category */
#bo_cate{ margin-bottom: 40px; }
#bo_cate ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: left; width: 300px; }
#bo_cate ul li{ width: max-content; margin-left: 15px; }
#bo_cate ul li:nth-of-type(6){ margin-left: 0; }
#bo_cate ul li a{ font-size: 16px; font-weight: 700; }
#bo_cate ul > li > a > .under{ bottom: 7px; left: 0; width: 0; height: 2px; }



    /*? 체크박스 */
    .chk_box input[type="checkbox"] + label span{ width: 22px; height: 22px; vertical-align: -5px; }

    /*? 관리자 버튼 */
    #btn_bo_user{ margin-bottom: 30px; }
    #btn_bo_user ul li{ margin-left: 3px; }
    #btn_bo_user ul > li > *{ height: 30px; font-size: 11px; line-height: 28px; padding: 0 8px; }

    /*? 확인버튼 */
    .btn_confirm{ margin-top: 30px; }
    .btn_confirm #btn_submit{ height: 45px; font-size: 14px; line-height: 43px; padding: 0 35px; transition: all 0s ease; }
    
    /*? 분류 */
    #bo_cate{ margin-bottom: 30px; }
    #bo_cate ul li a{ font-size: 14px; line-height: 40px; }

    /**  LIST  */
    .listBox > li{ width: 49%; margin-right: 2%; }
    .listBox > li:nth-of-type(3n){ margin-right: 2%; }
    .listBox > li:nth-of-type(2n){ margin-right: 0; }
    .listBox > li:nth-of-type(n+3){ margin-top: 40px; }
    .listBox > li .tagBox > span { height: 25px; font-size: 10px; line-height: 25px; padding: 0 10px; }
    .listBox > li .txtBox span{ font-size: 13px; line-height: 15px; }
    .listBox .txtBox .cont{ height: 66px; line-height: 22px; }


/* ? hover */
.listBox a:hover .imgBox img{ transform: scale(1); }
.listBox a:hover .imgBox .img-shade{ height: 0; }
.listBox a:hover .imgBox .btn-more{ opacity: 0; transition-delay: .2s; }
.listBox a:hover .txtBox h3{ color: #111; }



    /**  VIEW  */
    #bo_v .bo_v_tit{ padding: 25px 15px 20px; }
    #bo_v .bo_v_tit h3{ font-size: 20px; line-height: 30px; }
    #bo_v .bo_v_tit ol li{ font-size: 12px; padding: 0 10px; }
    #bo_v .bo_v_tit ol li::after{ top: 2px; height: 11px; }
    #bo_v .bo_v_con{ padding: 30px 15px; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; }
    #bo_v .bo_v_con,
    #bo_v .bo_v_con *{ font-size: 14px; line-height: 22px; }

    /* WRITE */
    #bo_w form .frmBox ul li{ margin-bottom: 20px; }
    #bo_w form .frmBox ul li.wid02{ width: 100%; }
    #bo_w form .frmBox ul li.wid03{ width: 100%; }
    #bo_w form .frmBox ul li .label{ font-size: 17px; }
    #bo_w form .frmBox ul li .label em{ font-size: 13px; }
    #bo_w form .frmBox ul li select, 
    #bo_w form .frmBox ul li .frm_input, 
    #bo_w form .frmBox ul li textarea{ height: 50px; font-size: 16px; padding: 0 10px; }
    #bo_w form .frmBox ul li textarea{ height: 250px; line-height: 26px; padding: 15px; }
    #bo_w form .frmBox ul li .frm_input::placeholder,
    #bo_w form .frmBox ul li textarea::placeholder{ font-size: 15px; }
    #bo_w form .frmBox .fileBox{ height: 50px; padding: 0 10px; }
    #bo_w form .frmBox .fileBox .upload-name{ font-size: 15px; color: #777; opacity: 1; }
}
@media screen and (max-width: 480px){ 

    /**  LIST  */
    .listBox > li{ width: 100%; margin-right: 0%; }
    .listBox > li:nth-of-type(3n){ margin-right: 0%; }
    .listBox > li:nth-of-type(n+2){ margin-top: 40px; }
}