@charset "utf-8";


/* 게시판 목록 */
#bo_list .list-box { }
#bo_list .list-box .empty_table { display:flex; justify-content:center; align-items:center; height:30vh; }

#bo_list .list-box .tiles { display:flex; flex-wrap:wrap; }
#bo_list .list-box .a { border:1px solid #ddd; overflow:hidden; }
#bo_list .list-box .a::before,
#bo_list .list-box .a::after { display:none; }

#bo_list .list-box .tile { transition-duration:400ms; }
#bo_list .list-box .tile:hover { transform:translateY(-10px); }
#bo_list .list-box .tile:hover .a { box-shadow:2px 2px 10px rgba(0,0,0,.1); }

#bo_list .list-box .li_ck { position:absolute; z-index:9; left:10px; top:10px; right:10px; display:flex; align-items:center; }
#bo_list .list-box .li_ck input { margin:0; }
#bo_list .list-box .li_ck .modify-btn { position:absolute; right:0; top:0; font-size:.75rem; padding:2px 7px; border-radius:99px; background:#444; color:#fff; }

#bo_list .list-box .li_thumb .img { transition:transform 700ms; background-size:60%; }
#bo_list .list-box .li_thumb:not(.noimg) img.img { padding-bottom:0 !important; }
#bo_list .list-box .li_thumb.noimg .img { transform:scale(1); }
#bo_list .list-box .li_thumb.noimg:before { content:"이미지 없음"; position:absolute; left:0; top:0; right:0; bottom:0; background:#f8f8f8; border:1px solid #eee; display:flex; justify-content:center; align-items:center; }

#bo_list .list-box .content { margin-top:0; padding:20px; border-top:1px solid #eee; }
#bo_list .list-box .li_ca { font-size:0.9rem; color:#111; font-weight:600; background:var(--main-color1);color:#fff;margin-left:-0.2rem; padding:0.2rem 0.5rem; border-radius:0.2rem;width:fit-content; }
#bo_list .list-box .li_subject { font-size:1.25rem; color:#111; font-weight:600; margin-top:1.5rem; }
#bo_list .list-box .li_head { margin-top:5px; color:#666; }

#modal-partner button { right:0; bottom:100%; }
#modal-partner button:before,
#modal-partner button:after { width:2px; }

#modal-partner .modal-content { overflow:hidden; }
#modal-partner .image { position:relative; background:#111; }
#modal-partner .img { padding-bottom:65%; background:none no-repeat center/cover; opacity:0.6; }
#modal-partner .subject { position:absolute; left:30px; bottom:25px; font-size:1.7rem; color:#fff; font-weight:600; z-index:2; }
#modal-partner .content { padding:40px 30px 20px; }
#modal-partner .content .ellipsis4 {height: fit-content;} 
#modal-partner .content .head { font-size:1.125rem; font-weight:600; color:#111; margin-bottom:10px; }
#modal-partner .content .desc { line-height:1.4; }
#modal-partner .product-info { margin-top:25px; }
#modal-partner .product-info-container { border-top:1px solid #eee; padding-top:20px; }
#modal-partner .product-info-item { margin-bottom:20px; }
#modal-partner .product-info-item:last-child { margin-bottom:0; }
#modal-partner .product-info-item h4 { font-size:1rem; font-weight:600; color:#333; margin-bottom:8px; }
#modal-partner .product-info-item .product-info-content { font-size:0.95rem; line-height:1.5; color:#666; }
#modal-partner .btn-wrap { display:flex; justify-content:space-between; align-items:center; margin-top:25px; }
#modal-partner .btn-wrap img { max-width:200px; }
#modal-partner .btn-wrap .btn { border-radius:99px; border:1px solid #333; padding:5px 20px; }

#bo_list .wrap-loading { position:fixed; left:50%; top:50%; transform:translate(-50%, -50%); display:none; justify-content:center; align-items:center; color:#888; z-index:9999; }
#bo_list .wrap-loading > * { position:absolute; }
#bo_list .wrap-loading span,
#bo_list .wrap-loading.finish i { display:none; }

#bo_list .wrap-loading.on,
#bo_list .wrap-loading.finish { display:flex; }
#bo_list .wrap-loading.on i,
#bo_list .wrap-loading.finish span { display:block; }

#bo_list .wrap-loading.on i { font-size:60px; animation:loading_spin 2s linear infinite; }
#bo_list .wrap-loading.finish span {  padding:20px 50px; background:rgba(0,0,0,.6); color:#fff; border-radius:10px; animation:finish_text 600ms linear 1.5s forwards; white-space: nowrap; }


@keyframes loading_spin {
	from { transform:rotate(0deg); }
	to { transform:rotate(359deg); }
}

@keyframes finish_text {
	from { opacity:1; }
	to { opacity:0; visibility:hidden; }
}


@media (max-width: 1024px) {

}


@media (max-width: 767px) {
    #bo_list .list-box .content { padding:15px; }
    #bo_list .list-box .li_subject { font-size:1.125rem; }
    #bo_list .list-box .li_head { height:40px; }

    #modal-partner .subject { left:20px; bottom:20px; }
    #modal-partner .btn-wrap { margin-top:15px; }
    #modal-partner .btn-wrap img { max-width:160px; }

    #modal-partner .content { padding:20px; }
    #modal-partner .product-info { margin-top:15px; }
    #modal-partner .product-info-container { padding-top:15px; }
    #modal-partner .product-info-item { margin-bottom:15px; }
    #modal-partner .product-info-item h4 { font-size:0.95rem; margin-bottom:5px; }
    #modal-partner .product-info-item .product-info-content { font-size:0.9rem; }
}


/* 게시판 쓰기 */
#bo_w { border-top:1px solid #666; }
#bo_w .write-box { --odd-width:180px; }
#bo_w .write-box > ul { display:flex; flex-wrap:wrap; }
#bo_w .write-box > ul > li { padding:15px 20px; border-bottom:1px solid #ddd; display:flex; align-items:center; }
#bo_w .write-box > ul > li:nth-child(odd) { width:var(--odd-width); background:#f8f8f8; }
#bo_w .write-box > ul > li:nth-child(odd).required:after { content:"*"; color:#f50000; display:inline-block; }
#bo_w .write-box > ul > li:nth-child(even) { width:calc(100% - var(--odd-width)); }
#bo_w .write-box > ul > li.noflex { display:block; }
#bo_w .write-box > ul > li.full { width:100%; padding-left:0; padding-right:0; }

#bo_w .write-box label { position:relative; padding:5px 0; margin-right:5px; }
#bo_w .write-box label ~ label { margin-left:10px; }
#bo_w .write-box textarea { resize:none; }

#bo_w .write-box i { font-size:1.25rem; margin-right:3px; }
#bo_w .write-box i.link { transform:rotate(-45deg); }
#bo_w .write-box .w_link span { display:inline-block; width:50px; }
#bo_w .write-box .w_link ~ .w_link,
#bo_w .write-box .w_file ~ .w_file { margin-top:5px; }

#bo_w .write-box .file_del { display:inline-block; margin-left:10px; }




@media (max-width: 1024px) {
    #bo_w .write-box { --odd-width:130px; }
}

@media (max-width: 767px) {
    #bo_w .write-box > ul > li { padding:10px 15px; width:100% !important; }
    #bo_w .write-box > ul > li:nth-child(even) { padding:10px 0; }

    #bo_w .write-box .w_link { display:flex; align-items:center; }

	#bo_w .write-box input[type="file"] + input[type="text"] { margin-top:5px; }

	#bo_w .write-box .file_del { margin-left:0; }
}



/* 댓글 */
/*#bo_comment .pf_img { display:none; }*/


/* 게시판 읽기 */
#bo_v { --view-row-padding:30px; --view-col-padding:10px; }
#bo_v .view-head { border-top:1px solid #666; border-bottom:1px solid #ddd; padding:var(--view-row-padding); }
#bo_v .view-head .ctg { display:inline-block; border-radius:99px; padding:5px 20px; border:1px solid var(--main-color1); color:var(--main-color1); margin-bottom:10px; }
#bo_v .view-head .subject { font-size:2rem; font-weight:600; }
#bo_v .view-head .desc { display:flex; margin-top:20px; }
#bo_v .view-head .desc li:not(:last-child) { margin-right:30px; }
#bo_v .view-head .desc li b { margin-right:5px; }


#bo_v .video-box { max-width:1000px; }
#bo_v .video-box .video { position:relative; padding-bottom:60%; }
#bo_v .video-box .video iframe { position:absolute; width:100%; height:100%; }


#bo_v .view-file { padding:var(--view-col-padding) var(--view-row-padding); background:#fcfcfc; border-bottom:1px solid #ddd; }
#bo_v .view-file li { padding:5px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
#bo_v .view-file li b { display:flex; align-items:center; }
#bo_v .view-file li img { width:20px; margin-right:5px; }
#bo_v .view-file li .small { margin-left:5px; color:#888; font-weight:400; }
#bo_v .view-file li .btn { border-radius:99px; padding:5px 15px; border:1px solid #666; margin-left:auto; }
#bo_v .view-file li .btn:hover { background:#333; color:#fff; }
#bo_v .view-file li .btn i { font-size:.875rem; }

#bo_v .view-link { padding:var(--view-col-padding) var(--view-row-padding); display:flex; flex-wrap:wrap; align-items:center; margin:0 -5px; }
#bo_v .view-link li { margin:5px; }
#bo_v .view-link li a { display:inline-block; padding:10px 30px; border:1px solid #ddd; border-radius:99px; }
#bo_v .view-link li a:hover { box-shadow:2px 2px 3px rgba(0,0,0,.1); }
#bo_v .view-link li a i { font-size:.875rem; }


#bo_v .view-box { padding:var(--view-row-padding) var(--view-row-padding) calc(var(--view-row-padding) + 20px); }
#bo_v .view-box .view-editor { margin-top:20px; }


#bo_v .view-btn-box { border-top:1px solid #ddd; padding-top:40px; }
#bo_v .view-another ~ .view-btn-box { border-top:none; padding-top:0px; }


@media (max-width: 1024px) {
	#bo_v { --view-row-padding:20px; }
	#bo_v .view-head .subject { font-size:1.5rem; }
}


@media (max-width: 767px) {
	#bo_v { --view-row-padding:15px; --view-col-padding:5px; }
	#bo_v .view-head .ctg { padding:5px 15px; margin-bottom:5px; }
	#bo_v .view-head .desc { margin-top:15px; }

	#bo_v .view-link li { margin:2.5px; }
	#bo_v .view-link li a { padding:5px 15px; }
}

/* 다국어 입력 스타일 */
.lang-input-box { display:flex; gap:10px; width:100%; }
.lang-input-box .lang-input { position:relative; flex:1; }
.lang-input-box .lang-input .lang { position:absolute; left:10px; top:10px; font-size:12px; color:#999; z-index:10; }
.lang-input-box .lang-input input { padding-left:45px; }
.lang-input-box .lang-input textarea { padding-top:35px; resize:none; min-height:300px; }

/* 에디터 다국어 스타일 */
.lang-input-box .lang-input .cke { margin-top:30px; }

/* 언어 탭 스타일 */
.lang-tab { display:flex; gap:5px; margin-bottom:15px; }
.lang-tab li a { display:block; padding:8px 25px; background:#f5f5f5; border:1px solid #ddd; border-radius:5px; }
.lang-tab li.active a { background:var(--main-color1); color:#fff; border-color:var(--main-color1); }

.tab-content { display:none; }
.tab-content.active { display:block; }

#page[class*="board-"] .content-body header.header {text-align: left !important;font-weight: 700;}
#bo_list .category-box:not(.left) {justify-content: flex-start !important; align-items: flex-start !important;margin-top:2rem !important;}
#bo_list .search-box{margin: 1rem 0 2rem !important;}
#bo_list .search-box::before {display: none !important;}

.knx-board-machine {
    position: relative;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.2)), url('../../../img/bt5.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 2rem;
    height: 50rem;
    width: 100%;
    border-radius: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
	margin-bottom: 2rem;
}

.machine-intro-banner {
	background: rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 2rem;
	padding: 2rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	position: relative;
	
}

.machine-intro-banner .intro-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 4rem;
}

.machine-intro-banner .intro-text {
	flex: 1;
}

.machine-intro-banner .label {
	display: inline-block;
	background: var(--main-color1);
	color: #fff;
	padding: 0.5rem 1.5rem;
	border-radius: 2rem;
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	letter-spacing: 2px;
}

.machine-intro-banner .title {
	font-size: 2.8rem;
	font-weight: 700;
	color: white;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}

.machine-intro-banner .desc {
	font-size: 1.1rem;
	color: white;
	line-height: 1.7;
}

.machine-intro-banner .intro-stats {
	min-width: 320px;
}

.machine-intro-banner .stat-wrap {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.machine-intro-banner .stat-item {
	color: white;
	background: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 1.5rem;
	border-radius: 1rem;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 1rem;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.machine-intro-banner .stat-item:hover {
	transform: translateX(10px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.machine-intro-banner .number {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--main-color1);
	line-height: 1;
	min-width: 80px;
}

.machine-intro-banner .unit {
	font-size: 1rem;
	color: var(--main-color1);
	font-weight: 500;
}

.machine-intro-banner .text {
	font-size: 1rem;
	color: white;
	margin-left: auto;
}

/* 공정설비 목록 스타일 */
.process-equipment-list {
    padding: 40px 0;
    margin-top: 40px;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 1rem;
}
.process-equipment-list .process-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: 600;
    color: white;
}
.process-equipment-list .process-tiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
    margin: 0 auto;
    gap: 20px;
    padding: 0 20px;
}
.process-equipment-list .process-tile {
    flex: 0 0 calc(33.33% - 20px);
    max-width: calc(33.33% - 20px);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}
.process-equipment-list .process-tile:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.process-equipment-list .process-tile .thumbnail img {
    width: auto;
    height: 20rem;
    display: block;
}
.process-equipment-list .process-tile .content {
    padding: 15px;
}

@media (max-width: 1024px) {
	.machine-intro-banner {
		padding: 3rem;
	}

	.machine-intro-banner .intro-content {
		flex-direction: column;
		gap: 3rem;
	}

	.machine-intro-banner .intro-stats {
		width: 100%;
		min-width: auto;
	}

	.machine-intro-banner .title {
		font-size: 2.4rem;
	}

	.machine-intro-banner .stat-wrap {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.machine-intro-banner .stat-item {
		flex: 1;
		min-width: 280px;
	}
}

@media (max-width: 768px) {
	.machine-intro-banner {
		padding: 1rem;
	}

	.machine-intro-banner .title {
		font-size: 1.5rem;
	}
	.machine-intro-banner .desc{font-size: 0.9rem;}
	.machine-intro-banner .stat-item {
		min-width: 100%;
    }	
	.machine-intro-banner .number{
		font-size: 1.5rem;
	}
	.knx-board-machine{
		padding: 1rem;
	}
    
    .process-equipment-list .process-tile {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

@media (max-width: 480px) {
    .process-equipment-list .process-tile {
        flex: 0 0 100%;
        max-width: 100%;
    }
}