@charset "utf-8";

/*? 게시판 기본 설정 */
select { background-size: auto; cursor: pointer; border-radius:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
select::-ms-expand{ display: none; }

#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}


/*? 체크박스 */
#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: 25px; cursor: pointer; }
.chk_box input[type="checkbox"] + label span{ display: inline-block; width: 25px; height: 25px; background: #f8f8f8; border: 1px solid #ddd; border-radius: 2px; vertical-align: -7px; margin-right: 10px; }
.chk_box input[type="checkbox"]:checked + label span{ background: url(/img/ico_board_check.png) no-repeat center center, #2e4644; border: 1px solid #2e4644; }

/*? 관리자 버튼 */
#btn_bo_user{ width: 100%; margin-bottom: 30px; }
#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: 35px; font-size: 13px; font-weight:400; line-height: 33px; color: #777; border: 1px solid #dedede; padding: 0 15px; background-color: #fff; border-radius: 0; }
#btn_bo_user ul > li > .btn_admin{ color: #2e4644; border: 1px solid #2e4644; }

/*? 확인버튼 */
.btn_confirm{ text-align: center; margin-top: 50px; }
.btn_confirm #btn_submit{ display: inline-block; height: 50px; font-size: 16px; font-weight: 500; color: #2e4644; letter-spacing: -0.5px; line-height: 48px; border: 1px solid #2e4644; padding: 0 40px; background: #fff; border-radius: 0; transition: all 0.2s ease-in-out; }
.btn_confirm #btn_submit:hover{ color: #fff; background-color: #2e4644; }

/* ? 카테고리 */
#bo_cate ul{ display: flex; align-items: center; justify-content: flex-end; }
#bo_cate ul li{ margin-right: 10px; }
#bo_cate ul li a{ display: inline-block; font-size: 15px; font-weight: 600; color: #999; font-family: 'Poppins'; padding: 0 10px; transition: all 0.2s ease-in-out; }
#bo_cate ul li a#bo_cate_on{ color: #222; background: #e0e321; }




@media screen and (max-width: 767px){ 

    /*? 체크박스 */
    .chk_box input[type="checkbox"] + label span{ width: 22px; height: 22px; vertical-align: -5px; }

    /*? 관리자 버튼 */
    #btn_bo_user{ margin-bottom: 20px; }
    #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: 20px; }
    .btn_confirm #btn_submit{ height: 45px; font-size: 14px; line-height: 43px; padding: 0 35px; transition: all 0s ease; }


    /*! ========== L I S T ========== */
    #gall_ul{ display: flex; flex-wrap: wrap; }
    #gall_ul li{ position: relative; width: 49%; margin-right: 2%; }
    #gall_ul li:nth-of-type(2n){ margin-right: 0; }
    #gall_ul li:nth-of-type(n+3){ margin-top: 20px; }
    #gall_ul li > .gall_chk{ position: absolute; left: 10px; top: 10px; z-index: 10; }
    #gall_ul li > a{ display: block; }
    #gall_ul li > a .imgBox{ position: relative; width: 100%; height: 28vw; min-height: 90px; overflow: hidden; }
    #gall_ul li > a .imgBox > img{ width: 100%; transition: all 0.5s ease-in-out; }
    #gall_ul li > a .txtBox{ position: relative; width: 100%; padding: 15px 15px 20px; background: #f4f4f4; }
    #gall_ul li > a .txtBox::before{ position: absolute; bottom: 0; right: 0; width: 0; height: 0;  border-bottom: 25px solid #fff; border-left: 20px solid transparent; content: ''; display: block; z-index: 10; transition: all 0.4s; }
    #gall_ul li > a .txtBox dl dt{ font-size: 10px; font-weight: 400; color: #aaa; margin-bottom: 5px; text-transform: uppercase; }
    #gall_ul li > a .txtBox dl dd{ font-size: 13px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 21px; height: 42px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-wrap:break-word; }
    #gall_ul li > a .txtBox span{ display: block; font-size: 10px; font-weight: 400; color: #aaa; margin-top: 15px; }
    /* ? hover */
    #gall_ul li > a:hover .txtBox::before{ border-width: 0; }

    /*! ========== V I E W ========== */
    #bo_v{ padding-bottom: 80px; }
    #bo_v .bo_v_tit{ margin-bottom: 50px; }
    #bo_v .bo_v_tit > h3{ font-size: 18px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 30px; }
    #bo_v #bo_v_con{ width: 100%; }
    #bo_v #bo_v_con img{ width: 100%; }
    #bo_v .bo_v_nb{ position: relative; width: 100%; height: 20px; margin-top: 60px; }
    #bo_v .bo_v_nb img{ width: 35px; }
    #bo_v .bo_v_nb .btn_prv{ position: absolute; top: 0; left: 0; }
    #bo_v .bo_v_nb .btn_next{ position: absolute; top: 0; right: 0; }

    /*! ========== W R I T E ========== */
    #bo_w{ width: 100%; }
    #bo_w .formBox ul li{ margin-bottom: 15px; }
    #bo_w .formBox .label{ width: 100%; font-size: 15px; font-weight: 500; color: #111; letter-spacing: -0.5px; margin-bottom: 5px; }
    #bo_w .formBox .label em{ font-size: 13px; color: #777; font-style: normal; }
    #bo_w .formBox .label strong{ display: inline-block; color: #ff0000; }
    #bo_w .formBox .inpBox{ width: 100%; }
    #bo_w .formBox .inpBox > input{ width: 100%; height: 45px; font-size: 16px; font-weight: 400; color: #111; line-height: 45px; background-color: #fff; padding: 0 10px; border: none; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > input::placeholder{ font-size: 14px; color: #9e9e9e; }
    #bo_w .formBox .inpBox > select,
    #bo_w .formBox .inpBox > input{ width: 100%; height: 50px; font-size: 16px; font-weight: 400; color: #111; letter-spacing: -0.5px; padding: 0 10px; border: 1px solid #ececec; border-radius: 0; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > select{ background: url(/img/ico_select.png) no-repeat 96% center,#fff; }
    #bo_w .formBox .inpBox > select:focus,
    #bo_w .formBox .inpBox > select:focus-visible
    #bo_w .formBox .inpBox > input:focus,
    #bo_w .formBox .inpBox > input:focus-visible{ border: 1px solid #2e4644; }
    #bo_w .bo_w_content{ margin-bottom: 30px; }
    #bo_w .bo_w_content textarea{ font-size: 16px; padding: 15px; resize: none; border: 1px solid #ececec; border-radius: 0; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .bo_w_content textarea:focus-visible{ border: 1px solid #2e4644; }
    #bo_w .fileList ul li .filebox{ width: 100%; height: 45px; display: flex; align-items: center; justify-content: flex-end; padding: 0 10px; border: 1px solid #ececec; }
    #bo_w .fileList ul li .filebox input[type="file"]{ display: none; }
    #bo_w .fileList ul li .filebox label{ display:inline-block; width: 100px; padding: 0 5px; height: 35px; font-size: 14px; font-weight: 400; color: #797979; line-height: 35px; margin-left: 10px; text-align: center; background-color: #f8f8f8; border: 1px solid #ececec; border-radius: 0; cursor: pointer; }
    #bo_w .fileList ul li .filebox .upload-name { display: inline-block; width: calc(100% - 110px); font-size: 14px; color: #222; text-align: right; border: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

}

@media screen and (min-width:768px) and (max-width: 1199px){

    /*! ========== L I S T ========== */
    #gall_ul{ display: flex; flex-wrap: wrap; }
    #gall_ul li{ position: relative; width: 32%; margin-right: 2%; }
    #gall_ul li:nth-of-type(3n){ margin-right: 0; }
    #gall_ul li:nth-of-type(n+4){ margin-top: 40px; }
    #gall_ul li > .gall_chk{ position: absolute; left: 10px; top: 10px; z-index: 10; }
    #gall_ul li > a{ display: block; }
    #gall_ul li > a .imgBox{ position: relative; width: 100%; height: 19vw; overflow: hidden; }
    #gall_ul li > a .imgBox > img{ width: 100%; transition: all 0.5s ease-in-out; }
    #gall_ul li > a .txtBox{ position: relative; width: 100%; padding: 25px 25px 30px; background: #f4f4f4; }
    #gall_ul li > a .txtBox::before{ position: absolute; bottom: 0; right: 0; width: 0; height: 0; border-bottom: 40px solid #fff; border-left: 35px solid transparent; content: ''; display: block; z-index: 10; transition: all 0.4s; }
    #gall_ul li > a .txtBox dl dt{ font-size: 12px; font-weight: 400; color: #aaa; margin-bottom: 10px; text-transform: uppercase; }
    #gall_ul li > a .txtBox dl dd{ font-size: 16px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 26px; height: 52px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-wrap:break-word; }
    #gall_ul li > a .txtBox span{ display: block; font-size: 11px; font-weight: 400; color: #aaa; margin-top: 25px; }
    /* ? hover */
    #gall_ul li > a:hover .imgBox > img{ transform: scale(1.05); }
    #gall_ul li > a:hover .txtBox::before{ border-width: 0; }

    /*! ========== V I E W ========== */
    #bo_v{ padding-bottom: 80px; }
    #bo_v .bo_v_tit{ margin-bottom: 50px; }
    #bo_v .bo_v_tit > h3{ font-size: 20px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 40px; }
    #bo_v #bo_v_con{ width: 100%; }
    #bo_v #bo_v_con img{ width: 100%; }
    #bo_v .bo_v_nb{ position: relative; width: 100%; height: 20px; margin-top: 60px; }
    #bo_v .bo_v_nb .btn_prv{ position: absolute; top: 0; left: -50px; }
    #bo_v .bo_v_nb .btn_next{ position: absolute; top: 0; right: -50px; }

    /*! ========== W R I T E ========== */
    #bo_w{ width: 100%; }
    #bo_w .formBox ul li{ display: flex; align-items: flex-start; justify-content: flex-start; margin-bottom: 15px; }
    #bo_w .formBox .label{ width: 120px; font-size: 17px; font-weight: 500; color: #111111; letter-spacing: -0.8px; line-height: 50px; }
    #bo_w .formBox .label em{ font-size: 14px; color: #777; font-style: normal; }
    #bo_w .formBox .label strong{ display: inline-block; color: #ff0000; }
    #bo_w .formBox .inpBox{ width: calc(100% - 120px); }
    #bo_w .formBox .inpBox > input{ width: 100%; height: 50px; font-size: 16px; font-weight: 400; color: #111; line-height: 50px; background-color: #fff; padding: 0 20px; border: none; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > input::placeholder{ font-size: 15px; color: #9e9e9e; }
    #bo_w .formBox .inpBox > select,
    #bo_w .formBox .inpBox > input{ width: 100%; height: 50px; font-size: 16px; font-weight: 400; color: #111; letter-spacing: -0.5px; padding: 0 20px; border: 1px solid #ececec; border-radius: 0; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > select{ background: url(/img/ico_select.png) no-repeat 96% center,#fff; }
    #bo_w .formBox .inpBox > select:focus,
    #bo_w .formBox .inpBox > select:focus-visible
    #bo_w .formBox .inpBox > input:focus,
    #bo_w .formBox .inpBox > input:focus-visible{ border: 1px solid #2e4644; }
    #bo_w .bo_w_content{ margin-bottom: 30px; }
    #bo_w .bo_w_content .label{ margin-bottom: 0; }
    #bo_w .fileList .label{ width: 200px; }
    #bo_w .fileList .inpBox{ width: calc(100% - 200px); }
    #bo_w .fileList ul li .filebox{ height: 50px; display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; border: 1px solid #ececec; }
    #bo_w .fileList ul li .filebox input[type="file"]{ display: none; }
    #bo_w .fileList ul li .filebox label{ display:inline-block; width: 100px; padding: 0 5px; height: 35px; font-size: 14px; font-weight: 400; color: #797979; line-height: 35px; margin-left: 10px; text-align: center; background-color: #f8f8f8; border: 1px solid #ececec; border-radius: 0; cursor: pointer; }
    #bo_w .fileList ul li .filebox .upload-name { display: inline-block; width: auto; font-size: 14px; color: #797979; text-align: right; border: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

}

@media screen and (min-width: 1200px){
    
    /*! ========== L I S T ========== */
    #gall_ul{ display: flex; flex-wrap: wrap; }
    #gall_ul li{ position: relative; width: 260px; margin-right: 20px; }
    #gall_ul li:nth-of-type(4n){ margin-right: 0; }
    #gall_ul li:nth-of-type(n+5){ margin-top: 40px; }
    #gall_ul li > .gall_chk{ position: absolute; left: 10px; top: 10px; z-index: 10; }
    #gall_ul li > a{ display: block; }
    #gall_ul li > a .imgBox{ position: relative; width: 100%; height: 170px; overflow: hidden; }
    #gall_ul li > a .imgBox > img{ width: 100%; transition: all 0.7s ease-out; }
    #gall_ul li > a .txtBox{ position: relative; width: 100%; padding: 20px 20px 30px; background: #f4f4f4; }
    #gall_ul li > a .txtBox::before{ position: absolute; bottom: 0; right: 0; width: 0; height: 0;  border-bottom: 40px solid #fff; border-left: 35px solid transparent; content: ''; display: block; z-index: 10; transition: all 0.4s; }
    #gall_ul li > a .txtBox dl dt{ font-size: 12px; font-weight: 400; color: #aaa; margin-bottom: 10px; text-transform: uppercase; }
    #gall_ul li > a .txtBox dl dd{ font-size: 16px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 26px; height: 52px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-wrap:break-word; }
    #gall_ul li > a .txtBox span{ display: block; font-size: 11px; font-weight: 400; color: #aaa; margin-top: 25px; }
    /* ? hover */
    #gall_ul li > a:hover .imgBox > img{ transform: scale(1.05); }
    #gall_ul li > a:hover .txtBox::before{ border-width: 0; }

    /*! ========== V I E W ========== */
    #bo_v{ padding-bottom: 80px; }
    #bo_v .bo_v_tit{ margin-bottom: 70px; }
    #bo_v .bo_v_tit > h3{ font-size: 24px; font-weight: 500; color: #222; letter-spacing: -0.5px; line-height: 40px; }
    #bo_v #bo_v_con{ width: 100%; }
    #bo_v #bo_v_con img{ width: 100%; }
    #bo_v .bo_v_nb{ position: relative; width: 100%; height: 20px; margin-top: 60px; }
    #bo_v .bo_v_nb .btn_prv{ position: absolute; top: 0; left: -50px; }
    #bo_v .bo_v_nb .btn_next{ position: absolute; top: 0; right: -50px; }


    /*! ========== W R I T E ========== */
    #bo_w{ width: 1000px; margin: 0 auto; }
    #bo_w .formBox ul li{ display: flex; align-items: flex-start; justify-content: flex-start; margin-bottom: 15px; }
    #bo_w .formBox .label{ width: 120px; font-size: 17px; font-weight: 500; color: #111111; letter-spacing: -0.8px; line-height: 50px; }
    #bo_w .formBox .label em{ font-size: 14px; color: #777; font-style: normal; }
    #bo_w .formBox .label strong{ display: inline-block; color: #ff0000; }
    #bo_w .formBox .inpBox{ width: calc(100% - 120px); }
    #bo_w .formBox .inpBox > input{ width: 100%; height: 50px; font-size: 16px; font-weight: 400; color: #111; line-height: 50px; background-color: #fff; padding: 0 20px; border: none; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > input::placeholder{ font-size: 15px; color: #9e9e9e; }
    #bo_w .formBox .inpBox > select,
    #bo_w .formBox .inpBox > input{ width: 100%; height: 50px; font-size: 16px; font-weight: 400; color: #111; letter-spacing: -0.5px; padding: 0 20px; border: 1px solid #ececec; border-radius: 0; outline: none; transition: all 0.2s ease-in-out; }
    #bo_w .formBox .inpBox > select{ background: url(/img/ico_select.png) no-repeat 96% center,#fff; }
    #bo_w .formBox .inpBox > select:focus,
    #bo_w .formBox .inpBox > select:focus-visible
    #bo_w .formBox .inpBox > input:focus,
    #bo_w .formBox .inpBox > input:focus-visible{ border: 1px solid #2e4644; }
    #bo_w .bo_w_content{ margin-bottom: 30px; }
    #bo_w .bo_w_content .label{ margin-bottom: 0; }
    #bo_w .fileList .label{ width: 200px; }
    #bo_w .fileList .inpBox{ width: calc(100% - 200px); }
    #bo_w .fileList ul li .filebox{ height: 50px; display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; border: 1px solid #ececec; }
    #bo_w .fileList ul li .filebox input[type="file"]{ display: none; }
    #bo_w .fileList ul li .filebox label{ display:inline-block; width: 100px; padding: 0 5px; height: 35px; font-size: 14px; font-weight: 400; color: #797979; line-height: 35px; margin-left: 10px; text-align: center; background-color: #f8f8f8; border: 1px solid #ececec; border-radius: 0; cursor: pointer; }
    #bo_w .fileList ul li .filebox .upload-name { display: inline-block; width: auto; font-size: 14px; color: #797979; text-align: right; border: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; }


}

