ul.gall_list * {transition: all 0.3s ease-out; word-break: normal; }
ul.gall_list {width:100%; display:flex; flex-wrap:wrap;  gap:20px; }
ul.gall_list li {width:calc(25% - 15px);   position:relative; cursor:pointer }


ul.gall_list li .img {position:relative; height:300px; overflow:hidden; cursor:pointer; }
ul.gall_list li img {width:100%;   }
ul.gall_list li div.img_bg {width:100%; height:100%; position:absolute; left:50%; top:50%; transform: translate(-50%, -50%);   }
ul.gall_list li:hover  div.img_bg {border:1px solid red; width:115%; height:115%}


ul.gall_list li .text { margin-top:10px; box-sizing:border-box; color:#555; font-size:15px; box-sizing:border-box;}
ul.gall_list li h5 {font-size:1.1em; color:#222; font-weight:400; margin-bottom:3px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; word-wrap: break-word; }
ul.gall_list li h5 b {font-weight:700}
ul.gall_list li h5 + p { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-wrap: break-word; }
ul.gall_list li p.date {font-size:14px; margin-top:4px; letter-spacing:0; color:#555; font-weight:300}

 

 @media all and (max-width:1101px) {
		ul.gall_list {gap:20px 0; justify-content:space-between }
		ul.gall_list li {width:49% }
		ul.gall_list li .img {height:49vw }
 

}
 

.table { width: 100%; display: table;  }

.row {display: table-row; background: #fff; font-size:1em; }
.row.th {font-weight:500; color: #fff; background:#333;}
.row.notice {background-color:#eff8fc}
 
.cell { padding:11px 12px; display:table-cell; vertical-align:middle;  text-align:Center;  border-bottom:1px solid #ddd; color:#666}
.cell a {color:#111}
.row.th .cell { color: #fff}

.cell.td_tit  {width:55%; text-align:left;  line-height:1.3; font-size:1em; font-weight:400}
.cell.td_tit a:hover {text-decoration:underline}
 
.cell.td_tit  a {color:#222}

.cell.td_tit span {background-color:var(--main_c); color:#fff; width:20px; height:20px; display:inline-flex; align-items:center; font-weight:300; font-size:13px;   justify-content:center; line-height:0; border-radius:2px; margin-left:5px;  vertical-align:5px;  box-sizing:border-box}
.cell.no {width:50px; }
.cell.class {width:100px; }
  

@media screen and (min-width:900px) {
  
   .cell.name {width:100px; white-space:nowrap;  }
   .cell.date {width:100px;  white-space:nowrap;   }
   .cell.hit {width:80px; white-space:nowrap;  }

}
 
@media screen and (max-width:1100px) {
	 .cell.td_tit  {width:50%; }
 }


@media screen and (max-width:900px) {
	.table { display: block; font-size:1em }
    .table * {line-height:1.3}
	.row {padding:13px 2%; display: block;  border-bottom:1px solid #ddd}
	.row.th {padding: 0; height: 2px; }
	.row.th .cell { display: none; }
	  
	.row .cell:before { margin-bottom: 3px; content:attr(data-title); text-transform: uppercase;color:#555;}
	.cell { padding:0; padding-right:5px; display: block; border-bottom:none; text-align:left}
 	.cell_col {display:inline-block; width:auto; font-size:.9em;  }
	 
	.cell.td_tit  {width:100%; font-size:1.05em;  display:inline-block}
    .cell.no {display:none}
	.cell_col.cell_select {width:100%; margin-bottom:8px }

  
}
 
 
/*뷰페이지*/
 
.board_view_wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 20px;
}

/* 제목 */
.view_title h3 {
    font-size: 28px;
    font-weight: 700;
    padding-bottom: 20px;
    border-bottom: 2px solid #222;
}

/* 정보 */
.view_info {
    display: flex;
    gap: 20px;
    padding: 15px 0;
    font-size:.9em;
    color: #666;
    border-bottom: 1px solid #ddd;
	background-color:#fff; 
}

.view_info b {
    color: #222;
    margin-right: 6px;
}

/* 첨부파일 */
.view_file {
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
  font-size:.9em;
  background-color:#fff; 
}

.view_file a {
    margin-left: 10px;
    color: #005bac;
    text-decoration: underline;
}

/* 내용 */
.view_content {
    padding: 40px 0;
    font-size: 16px;
    line-height: 1.8;
    color: #333;
	background-color:#fff; 
 }

/* 이전/다음글 */
.view_nav {
    margin-top: 30px;
    border-top: 1px solid #222;
	background-color:#fff; 
}

.view_nav dl {
    display: flex;
    padding: 12px 0;
    border-bottom: 1px solid #ddd;
	font-size:.9em;
}

.view_nav dt {
    width: 80px;
    font-weight: 600;
    color: #222;
}

.view_nav dd a {
    color: #333;
}

.view_nav dd a:hover {
    text-decoration: underline;
}

/* 버튼 */
.view_btns {
    margin-top: 40px;
    text-align: center;
}

.btn_list {
    display: inline-block;
    padding: 12px 40px;
    border: 1px solid #222;
    color: #222;
    font-weight: 600;
}

.btn_list:hover {
    background: #222;
    color: #fff;
}
 
.btn_wrap {width:100%; display:inline-block }
 
 a.list_btn {
    text-align: center;
    line-height: 31px;
    padding: 0 20px;
    font-weight: 400;
    font-size: 0.90em;
    float: right;
    margin-top: 15px;
    margin-left: 5px;
    background-color: #fff;
	border:1px solid #ddd; 
    border-radius: 3px;
    color: #444;
}


  
/*페이지*/


.page {text-align:center;   width:100%; margin-top:30px; display:inline-block; font-size:0}
.page ul { width:100%; text-align:center; }
.page li { display:inline-block; font-size:14px; font-weight:300;  }
 

.page a {
	display:inline-block;
 	text-decoration:none; vertical-align:middle;
 	border:1px solid #d1d1d1; background-color:#fff;  width:29px; line-height:29px; height:29px;  margin-left:-1px; color:#999; text-align:Center; 
   }

.page img {width:29px; height:29px; vertical-align:top;  }
 
.page a.ov  {border:1px solid #555; background-color:#555; color:#fff;}

 
 
 @media screen and (max-width:800px) {

		.page a { width:25px; line-height:25px; height:25px; }
     	.page img {width:25px; height:25px; vertical-align:top;  }

}

   
 

/*search*/
 						
.search {margin-top:30px;  width:100%; display:flex;  justify-content:flex-end}
.search input  {width:30%;  border:1px solid #ddd; padding-left:10px; font-size:0.93em; color:#666; margin:0 5px}
.search select  { font-size:0.93em; color:#666; border:1px solid #ddd;  vertical-align:middle; width:100px;  }
.search a {background-color:#333; border-radius:3px; box-shadow:1px 1px 2px #ddd; color:#fff; line-height:33px; font-size:0.95em; font-weight:500; padding:0 30px; display:inline-block; vertical-align:middle;}
									   
 


.faq_list {
    border-top: 2px solid #222;
}

.faq_item {
    border-bottom: 1px solid #ddd;
}

.faq_q {
    width: 100%;
    padding: 15px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
      text-align: left;
	  font-size:1em; 
	  background-color:#fff; 
}

.faq_q .farrow {
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: transform .3s ease;
	

}

.faq_item.active .faq_q .farrow {
    transform: rotate(-135deg);
}

.faq_a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

.faq_a p {
    padding: 0 10px 20px;
     color: #555;
     background-color:#fff; 

}