

ul.gall {width:100%; gap:20px; flex-wrap:wrap}
ul.gall  * {   transition: all 0.3s ease;}
ul.gall li {width:calc(25% - 15px); padding:0; background-color:#f7f7f7 }

ul.gall li .img_div {width:100%; padding-bottom:100%;   overflow:hidden; position:relative;}
ul.gall li .img {width:100%; height:100%; position:absolute;  left:50%; top:50%; transform: translate(-50%, -50%); background-size:cover !important; background-position:center !important; background-repeat: no-repeat !important}
ul.gall li:hover .img  {width:120%; height:120%; }
ul.gall li .no_img {background-size:50% !important}
ul.gall li:hover .no_img  {width:100%; height:100%; }
 

ul.gall li img {  position:absolute; left:50%; top:50%; transform: translate(-50%, -50%);}


ul.gall li span {color:#1A89BE;  font-weight:500; display:inline-block; font-size:17px; margin-bottom:10px}
 
ul.gall li span.bg2 {color:#00458A; }
ul.gall li span.bg3 {color:#28A745}
ul.gall li span.bg4 {color:#FFC107}
ul.gall li span.bg5 {color:#E95420 }
ul.gall li span.bg6 {color:#6F42C1 }


ul.gall li h5 {font-size:1.15em; color:#111; font-weight:500;  margin:0px 0 5px 0 }
ul.gall li a {color:#333}
ul.gall li .text {padding:27px 20px 30px 20px;   box-sizing:border-box; }
ul.gall li p { 
    width: 100%;
    
    font-size: .95em;
    color: #333;
    
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
} 
ul.gall li:hover h5 {text-decoration:underline}
 
 @media all and (max-width:900px) {
		ul.gall {justify-content:space-between; gap:20px 0 }
		ul.gall li {width:48%; background:none }
		ul.gall li .text {padding:0; margin-top:20px}
		ul.gall li span {  font-size:14px}
		ul.gall li h5 {font-size:1.05em;   }


}

.page {text-align:center;   width:100%; margin-top:50px; display:inline-block; font-size:0}
.page ul { width:100%; text-align:center; }
.page li { display:inline-block; font-size:15px; font-weight:400;  }
 

.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:900px) {

		.page a { width:25px; line-height:25px; height:25px; }
     	.page img {width:25px; height:25px; vertical-align:top;  }

}

						
.search {margin-bottom:30px;  width:100%; display:flex;  justify-content:flex-end}
.search input  {width:200px; border:1px solid #ddd; padding-left:10px; font-size:14px; color:#666; margin:0 5px}
.search select  { font-size:14px;  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:14px; font-weight:500; padding:0 30px; display:inline-block; vertical-align:middle;}
.search.type2 {margin-bottom:0; }
  
  @media screen and (max-width:900px) {
		.search select {width:auto}
		.search input  {width:50%}
		.search a {padding:0 15px}

}
 

/*뷰페이지*/
 
  
p.view_title {font-size:1.7em;  line-height:1.3;  font-weight:600; color:#000;  width:100%; box-sizing:border-box; display:inline-block;   box-sizing:border-box; }
div.view_info {font-size:0.95em; font-weight:300; color:#666; width:100%;  border-bottom:1px solid #ddd; padding-bottom:20px;  margin-top:10px; display:inline-block; box-sizing:border-box; }

div.view_info span::after {width:1px; height:12px; vertical-align:middle;  content:''; display:inline-block; background-color:#888;  margin:0 5px 0 10px}
div.view_info span:last-child::after {display:none}
div.view_info a:hover {text-decoration:underline }
div.view_info span.file a {display:inline-block; border:1px solid #015bac; padding:0 10px; border-radius:2px; margin-left:3px; color:#015bac }

.view_flex {display:flex;   margin-bottom:50px }
.view_flex .img {width:50%; position:relative}
.view_flex .img img {width:100%; }
.view_flex .right_info {width:45%; margin-left:auto }
.view_flex .view_title {margin-bottom:30px; border-bottom:1px solid #ddd; padding-bottom:15px; font-weight:600 }
.view_flex dl {display:flex; width:100%; }
.view_flex dl dt {width:130px; font-weight:500;  flex-shrink:0}
.view_flex dl + dl {margin-top:10px}
.view_flex .swiper  {width:100%; height:100%; }
.view_flex .swiper-slide {width:100%; height:100%;  flex-shrink:0; display:flex; align-items:center; justify-content:center}

div.view_content {width:100%; display:inline-block;  border-bottom:1px solid #ddd; padding:20px 0; }
div.view_content img {max-width:100%}
div.view_file {width:100%; padding:12px 0 8px 0;  border-bottom:1px solid #ddd; }
div.view_file ul {width:100%; display:flex; flex-wrap:wrap;}
div.view_file ul li {display:inline-block; margin-bottom:5px; }
div.view_file ul li a {display:inline-block; font-size:0.90rem; background-color:#2478be; color:#fff; padding:4px 15px; border-radius:5px; margin-right:10px;}

 
.board_view div.view_content {border-bottom:none}
.board_view .view_flex p.view_title {font-size:1.5em; margin-top:20px}

 
 @media screen and (max-width:900px) {
		p.view_title {font-size:1.3em}
		.view_flex {gap:30px}
		.view_flex .img {width:100%; }
		.view_flex .right_info {width:100%;  }
 		.view_flex dl dt {width:100px;  font-size:14px}
		.view_flex dl dd {  font-size:14px}
		.board_view .view_flex p.view_title {font-size:1.2em; }


 }



.list_next  {width:100%; display:inline-block;  padding:11px 0; box-sizing:border-box; border-bottom:1px solid #ddd; line-height:0} 
.list_next p {width:100%; display:inline-block; font-size:1rem; line-height:1; color:#999;  overflow: hidden;   text-overflow: ellipsis; margin:3px 0;  white-space: nowrap;  }
.list_next p:last-child {text-align:left; }
.list_next b {font-weight:500; color:#333; width:80px; display:inline-block}
.list_next p a {color:#222}
.list_next p a:hover {text-decoration:underline}

 
 
 a.list_btn {
    text-align: center;
    line-height: 31px;
    padding: 0 20px;
    font-weight: 400;
    font-size: 15px;
    float: right;
    margin-top: 15px;
    margin-left: 5px;
    background-color: #fff;
	border:1px solid #ddd; 
    border-radius: 3px;
    color: #444;
}

 
.form_box {width:100%; }
.write_form {width:100%; display:flex; gap:30px 10px; flex-wrap:wrap;   }
.write_form li {width:calc(50% - 5px)}
.write_form li.li_100 {width:100%}
 
.write_form li label.tt {margin-bottom:10px; color:#000; font-size:1em;  display:inline-block }
.write_form li a {margin-left:auto}
 
.write_form li textarea {width:100%; height:200px; border-radius:10px;  border:1px solid #ddd; font-size:16px; padding:20px; box-sizing:border-box}
.write_form li input[type="text"] {width:100%; height:50px; font-size:16px; border:1px solid #ddd; border-radius:10px; padding-left:20px; box-sizing:border-box }
.write_form li select {width:100%; position:relative;  border:1px solid #ddd;  height:50px; font-size:16px; border-radius:10px; padding:0 20px; box-sizing:border-box;

 -webkit-appearance:none; /* 크롬 화살표 없애기 */
    -moz-appearance:none; /* 파이어폭스 화살표 없애기 */
    appearance:none;  /* 화살표 없애기 */
	background:url('/common/img/arrow_down.svg') no-repeat 97% 50%/15px auto;
}

.write_form li div input::placeholder {font-weight:300;  color:#868686}
 
  

 .styled-checkbox {
  position: absolute;
  opacity: 0;  
}
.styled-checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
}
.styled-checkbox + label:before {
  content: "";
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  width: 20px;
  height: 20px;
  background: #ddd;
  border-radius:3px;
  flex-shrink:0
}
 
.styled-checkbox:checked + label:before {
  background: var(--main_c);
}
 
.styled-checkbox:checked + label:after {
  content: "";
  position: absolute;
   left: 6px; 
    top: 50%;
	margin-top:-6px;
    width: 5px;
     height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

 


.contact span.point {width:8px; height:8px; border-radius:50%;  background-color:var(--main_c); vertical-align:top; display:inline-block; flex-shrink:0}

 

@media all and (max-width:900px) {

  .write_form li {width:100%}

} 