@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Poppins:500&display=swap');

/* =========================
   공통
========================= */
button{border:none}
button:focus,button:active{outline:none}
input[type=text], input[type=password]{box-shadow:none;transition:none;font-weight:400;font-family:'Noto Sans KR'}
input[type=text]:focus,input[type=text]:active, input[type=password]:focus, textarea:focus, select:focus, select:active{box-shadow:none;border:inherit!important;outline:none}
input[type=submit]{border:none}
input[type=submit]:focus{outline:none}
.required, textarea.required{background-image:url(../../../img/require.png)!important}

/* 관리자 버튼 */
.sh_adm_btn{width:85px;height:38px;border-radius:2px;border:1px solid #ffd8e1;font-size:13.5px;line-height:36px;color:#ff567f;letter-spacing:-.7px;background-color:#fff7f9;transition:all .2s;font-weight:500;font-family:'Noto Sans KR'}
a.sh_adm_btn{display:block;text-align:center}
.sh_adm_btn:hover{border-color:#fdb6c6}

/* 버튼 공통 */
.btn_type01{display:inline-block;width:180px;height:55px;margin:0 auto;border-radius:2px;font-size:15px;color:#fff;text-align:center;line-height:55px;background-color:#0054a6;transition:all .2s;font-weight:500;font-family:'Noto Sans KR'}
.btn_type01:hover{background-color:#0064c5}
a.cancel_btn, a.btn_normal{display:inline-block;vertical-align:top;width:75px;height:55px;border:none;border-radius:2px;font-size:15px;text-align:center;color:#fff;line-height:55px;background-color:#bbb;font-weight:500;font-family:'Noto Sans KR'}
a.btn_line{display:inline-block;vertical-align:top;width:75px;height:55px;border-radius:2px;border:1px solid #d1d1d1;font-size:15px;text-align:center;color:#777;line-height:53px;font-weight:500;font-family:'Noto Sans KR'}

/* 페이지 */
.pg_wrap{display:block;float:none;margin:40px 0 0;text-align:center;font-weight:400;font-family:'Noto Sans KR'}
.pg_wrap a{display:inline-block;vertical-align:middle}
.pg_page{min-width:30px;height:30px;padding:0 5px;border:none;border-radius:0;font-size:14px;line-height:30px;color:#999;background:none}
.pg_page:hover{background:none}
.pg_current{display:inline-block;vertical-align:middle;min-width:30px;height:30px;padding:0 5px;border:none;border-radius:0;font-size:15px;line-height:29px;color:#222;background:none;box-shadow:none;font-weight:500;font-family:'Noto Sans KR'}
.pg_start,.pg_end,.pg_next,.pg_prev{width:30px;height:30px;border-radius:2px;border:1px solid #e1e1e1;font-size:0;text-indent:0;background-color:#fff}
.pg_start{margin-right:5px}
.pg_end{margin-left:5px}
.pg_next:before,.pg_prev:before{content:"\f105";font-size:12px;text-align:center;color:#555;line-height:28px;letter-spacing:.5px;font-family:'fontawesome'}
.pg_prev:before{content:"\f104"}
.pg_start:before,.pg_end:before{content:"\f104 \f104";font-size:12px;text-align:center;color:#555;line-height:28px;letter-spacing:.5px;font-family:'fontawesome'}
.pg_end:before{padding-left:3px;content:"\f105 \f105"}
.pg_prev:hover,.pg_start:hover,.pg_end:hover{background-color:#f6f6f6}

/* 테이블 공통 */
.sh_tbl_common{width:100%;border-top:1px solid #555}
.sh_tbl_common table{width:100%}
.sh_tbl_common th{border-bottom:1px solid #e1e1e1;font-size:15px;color:#222;font-weight:500;font-family:'Noto Sans KR'}
.sh_tbl_common td{border-bottom:1px solid #e1e1e1;font-size:14px;color:#777}

/* =========================
   리스트 (sw_prof_res)
========================= */
#sh_bo_gall{font-size:15px;letter-spacing:-.3px;line-height:1.8;color:#666;font-weight:400;font-family:'Noto Sans KR'}

/* 분류 탭 */
#bo_cate_ul_box{margin-bottom:30px;padding-left:1px}
#bo_cate_ul_box:after{display:block;content:"";visibility:hidden;clear:both}
#bo_cate_ul_box li{float:left;min-width:20%;text-align:center}
#bo_cate_ul_box li a{display:block;height:47px;margin:-1px 0 0 -1px;padding:0 15px;border:1px solid #e1e1e1;font-size:15px;line-height:47px;color:#999;background-color:#f6f6f6}
#bo_cate_ul_box li a:hover{background-color:#fbfbfb}
#bo_cate_ul_box #bo_cate_on{border-top:2px solid #222;color:#222;line-height:45px;background-color:#fff;font-weight:500;font-family:'Noto Sans KR'}

/* 분류 라인형 */
#bo_cate_ul_line{margin-bottom:25px;text-align:center}
#bo_cate_ul_line:after{display:block;content:"";visibility:hidden;clear:both}
#bo_cate_ul_line li{display:inline-block;vertical-align:top;margin:0 15px}
#bo_cate_ul_line li a{display:block;padding:2px 3px;font-size:17px;color:#999}
#bo_cate_ul_line #bo_cate_on{border-bottom:2px solid #222;color:#222;font-weight:500;font-family:'Noto Sans KR'}

/* 상단 툴바 */
#sh_bo_gall .list_top{position:relative;margin-bottom:12px}
#sh_bo_gall .list_top:after{display:block;content:"";visibility:hidden;clear:both}
#sh_bo_gall .list_top a{display:block;position:absolute;left:0;bottom:0;width:50px;height:24px;margin-top:18px;border-radius:2px;border:1px solid #e1e1e1;font-size:12px;text-align:center;line-height:21px;color:#aaa;background-color:#f6f6f6}
#sh_bo_gall .list_top a i{padding-right:5px}

/* 검색 */
#sh_bo_sch{float:right;padding-right:10px;border-radius:2px;border:1px solid #e1e1e1}
#sh_bo_sch select{width:90px;height:40px;padding-left:10px;border:none;font-size:14px;color:#777;-webkit-appearance:none;appearance:none;background:url(../../../img/select_arr.png) 95% center no-repeat;font-family:'Noto Sans KR'}
#sh_bo_sch select::-ms-expand{display:none}
#sh_bo_sch input[type=text]{width:150px;height:40px;padding-left:5px;border:none;font-size:14px;color:#777}

/* 그리드 */
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10{position:relative;min-height:1px;padding-left:10px;padding-right:10px;float:left;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.latest_row .col-gn-1{width:100%}
.gall_row .col-gn-2{width:50%;display:flex;gap:20px} /* 데스크탑 2열, 카드 내부 가로 배치 */
.gall_row .col-gn-3{width:33.33333333%}
.gall_row .col-gn-4{width:25%}
.gall_row .col-gn-5{width:20%}
.gall_row .col-gn-6{width:16.66666667%}
.gall_row .col-gn-7{width:14.28571428%}
.gall_row .col-gn-8{width:12.5%}
.gall_row .col-gn-9{width:11.11111111%}
.gall_row .col-gn-10{width:10%}
.gall_row .box_clear{clear:both}

#sh_bo_gall #sh_gall_ul{margin:0 -10px;padding:0;list-style:none;zoom:1}
#sh_bo_gall #sh_gall_ul:after{display:block;visibility:hidden;clear:both;content:""}

/* 카드 */
#sh_bo_gall .gall_li{margin-bottom:20px}
#sh_bo_gall .gall_li .gall_chk{position:absolute;top:0;left:20px}
/* 이미지 박스 + 이미지 (데스크탑 고정 크기, 테두리 제거) */
#sh_bo_gall .gall_img{height:210px;width:150px;border:0;border-radius:2px;text-align:center}
#sh_bo_gall .gall_img a{display:block;color:#777}
#sh_bo_gall .gall_img img{height:210px;width:150px !important;border:none !important}
#sh_bo_gall .gall_img .no_image{display:block;max-width:100%;background-color:#eee;font-weight:500;font-family:'Noto Sans KR'}

/* 텍스트 */
#sh_bo_gall .gall_now .gall_txt a{color:#ff567f}
#sh_bo_gall .gall_txt{padding:5px 0}
#sh_bo_gall .gall_txt a{padding:0 5px}
#sh_bo_gall .gall_txt .cate_link span{color:#0054a6;font-weight:500;font-family:'Noto Sans KR'}
#sh_bo_gall .gall_txt .cate_link span:after{display:inline-block;content:"";width:1px;height:10px;margin:0 0 0 12px;background-color:#ccc}
#sh_bo_gall .gall_txt .tit{color:#222;font-weight:500;font-family:'Noto Sans KR'}
#sh_bo_gall .gall_txt .new{display:inline-block;vertical-align:2px;width:14px;height:15px;margin-left:5px;border-radius:2px;font-size:10px;line-height:15px;color:#fff;text-align:center;background-color:#0054a6;font-family:'Poppins'}
#sh_bo_gall .gall_txt .new.flash{display:none}
#sh_bo_gall .gall_txt ul{margin-top:10px;padding:15px 10px;border-top:1px solid #e1e1e1}
#sh_bo_gall .gall_txt ul li{display:flex;flex-wrap:wrap;column-gap:5px;font-size:13px;line-height:1.4}
#sh_bo_gall .gall_txt ul li+li{margin-top:8px}
#sh_bo_gall .gall_txt ul li span{flex-shrink:0;width:55px;white-space:nowrap;color:#222;font-weight:500;font-family:'Noto Sans KR'}
#sh_bo_gall .gall_txt ul li p{width:calc(100% - 60px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 리스트 버튼 */
#sh_bo_gall .btn_area{position:relative;margin:20px 0}
#sh_bo_gall .btn_area:after{display:block;content:"";visibility:hidden;clear:both}
#sh_bo_gall .adm_btns{position:absolute;top:0;left:0}
#sh_bo_gall .adm_btns li{display:inline-block;vertical-align:top;margin-right:2px}
#sh_bo_gall .w_btn{float:right}
#sh_bo_gall .w_btn:hover{background-color:#0064c5}

/* =========================
   글쓰기 / 뷰 / 댓글 (필요 최소)
========================= */
/* 글쓰기 */
#sh_bo_w{font-size:15px;letter-spacing:-.3px;line-height:1.8;color:#666;font-weight:400;font-family:'Noto Sans KR'}
#sh_write_tbl label{font-size:15px}
#sh_write_tbl th{width:16%;padding:10px 0;line-height:1.6;background-color:#f5f6f8}
#sh_write_tbl td{padding:10px 0 10px 10px}
#sh_write_tbl .cate_wrap{display:inline-block;position:relative;min-width:181px;padding-left:10px;border-radius:2px;border:1px solid #e1e1e1}
#sh_write_tbl .cate_wrap:after{content:"\f107";position:absolute;right:10px;top:6px;font-size:15px;font-family:'fontawesome'}
#sh_write_tbl .sh_select{min-width:160px;height:40px;border:none;font-size:15px;color:#777;-webkit-appearance:none;appearance:none;font-weight:400;font-family:'Noto Sans KR'}
#sh_write_tbl .sh_select:focus,#sh_write_tbl .sh_select:active{border:none!important}
#sh_write_tbl .sh_input{height:40px;padding:0 20px 0 12px;border:1px solid #e1e1e1;border-radius:2px;font-size:15px;color:#777;font-weight:400;font-family:'Noto Sans KR'}
#sh_write_tbl textarea.sh_input{height:150px;padding:10px 12px}
#sh_write_tbl .sh_input:focus,#sh_write_tbl .sh_input:active{border:1px solid #e1e1e1!important;outline:none}
#sh_write_tbl .frm_address{margin-top:5px}
#sh_write_tbl .zip_btn{width:125px;height:40px;margin-left:2px;border:none;border-radius:2px;font-size:14px;color:#fff;background-color:#555;font-weight:500;font-family:'Noto Sans KR'}
#sh_write_tbl .read{background-color:#f5f6f8}
#sh_write_tbl textarea,#sh_write_tbl .txtarea{width:100%;height:100px;padding:12px;border:1px solid #e1e1e1;border-radius:2px;box-shadow:none}

/* 뷰 */
#sh_bo_v{font-size:15px;letter-spacing:-.3px;line-height:1.8;color:#666;font-weight:400;font-family:'Noto Sans KR'}
#sh_bo_v .profile{display:flex;column-gap:60px}
#sh_bo_v .profile .img{width:42%}
#sh_bo_v .profile .img img{width:100%;height:auto}
#sh_bo_v .profile .img .no_image{width:100%;line-height:400px;background:#eee;text-align:center}
#sh_bo_v .profile .info{width:58%;padding-top:30px}
#sh_bo_v .profile .info .tit{position:relative;margin-bottom:35px;padding-bottom:25px;border-bottom:2px solid #e1e1e1}
#sh_bo_v .profile .info .tit span{display:block;width:max-content;padding:2px 22px;margin-bottom:10px;border-radius:20px;font-size:17px;color:#fff;background:#0054a6;font-weight:500;font-family:'Noto Sans KR'}
#sh_bo_v .profile .info .tit p{font-size:32px;color:#222;font-weight:700;font-family:'Noto Sans KR'}
#sh_bo_v .profile .info .tit:after{display:block;content:"";position:absolute;left:0;bottom:-2px;width:150px;height:2px;background:#222}
#sh_bo_v .profile .info dl{display:flex;flex-wrap:wrap;row-gap:25px;padding:0 10px}
#sh_bo_v .profile .info dl dt{width:150px;font-size:16px;color:#222;font-weight:700;font-family:'Noto Sans KR'}
#sh_bo_v .profile .info dl dd{width:calc(100% - 150px)}
#sh_bo_v .bo_cont{padding:50px 15px;border-bottom:1px solid #d1d1d1;word-break:keep-all}
#sh_bo_v .bo_cont img{max-width:100%}

/* 댓글 (최소) */
#sh_bo_cmt{padding:20px 15px;border-bottom:1px solid #eee;font-size:14px;letter-spacing:-.3px;line-height:1.8;color:#666;font-weight:400;font-family:'Noto Sans KR'}
#sh_bo_vc article{margin:20px 0;position:relative}
#sh_bo_vc .cmt_contents{padding:15px;margin:5px 0 0;border-radius:2px;border:1px solid #e1e1e1;font-size:14px;background:#f5f6f8}

/* =========================
   반응형
========================= */
@media (max-width:1024px){
  .btn_type01{height:50px;font-size:14px;line-height:50px;appearance:none}
  #sh_bo_gall{padding:20px 0;font-size:14px}
  #sh_bo_gall .list_top{padding:0 10px}
  #sh_bo_gall .gall_txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}
  #sh_bo_gall .btn_area{padding:0 10px}
  #sh_bo_gall #sh_gall_ul{margin:0;padding:0 5px}
  .gall_row .col-gn-4{width:33.33%;padding:0 5px}
  #sh_bo_v{margin:20px 0;font-size:14px}
  #sh_bo_v .profile{column-gap:40px}
  #sh_bo_v .profile .info{padding-top:15px}
  #sh_bo_v .profile .info .tit span{padding:0 15px;font-size:15px}
  #sh_bo_v .profile .info .tit p{font-size:28px}
  #sh_bo_v .profile .info dl dt{font-size:15px}
  #sh_bo_v .bo_cont{padding:40px 15px}
}

@media (max-width:768px){
  #sh_bo_v .profile{display:block}
  #sh_bo_v .profile .img{width:100%;text-align:center}
  #sh_bo_v .profile .img img{width:100%;max-width:400px}
  #sh_bo_v .profile .info{width:100%;padding-top:30px}
  #sh_bo_v .profile .info .tit{padding-bottom:15px;margin-bottom:20px;text-align:center}
  #sh_bo_v .profile .info .tit:after{width:90px}
  #sh_bo_v .profile .info .tit span{margin:0 auto 10px}
  #sh_bo_v .profile .info .tit p{font-size:20px}
  #sh_bo_v .profile .info dl{row-gap:12px}
  #sh_bo_v .profile .info dl dt{width:90px;font-size:14px}
  #sh_bo_v .profile .info dl dd{width:calc(100% - 90px)}
}

/* === 모바일 핵심: 1열 + 좌 이미지 / 우 텍스트 === */
@media (max-width:480px){
  .btn_type01{width:120px}
  #sh_bo_gall{padding:20px 0}
  #sh_bo_gall .list_top a{position:relative;left:0;margin-bottom:5px}
  #sh_bo_sch{float:none;width:100%}
  #sh_bo_sch input[type=text]{width:calc(100% - 115px)}

  /* 한 줄에 1명 */
  .gall_row .col-gn-2{
    width:100% !important;   /* 2열 → 1열 */
    display:flex;            /* 이미지-텍스트 가로 배치 */
    gap:12px;
    padding:0 5px;
  }

  /* 이미지 영역 반응형 */
  #sh_bo_gall .gall_img{
    width:40% !important;
    max-width:160px;
    height:auto !important;
    border:none;
  }
  #sh_bo_gall .gall_img img{
    width:100% !important;
    height:auto !important;
  }

  /* 텍스트 영역 */
  #sh_bo_gall .gall_txt{
    width:60% !important;
    padding:4px 0 !important;
  }
  #sh_bo_gall .gall_txt ul{
    margin-top:6px !important;
    padding:8px 0 0 !important;
    border-top:0 !important;
  }
}
@media (max-width:380px){
.gall_row .col-gn-4{width:100%}
}
/* 반응형 [e] */
