@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 .tiles .a2::before,
#bo_list .list-box .tiles .a3::before { background: var(--main-color4, var(--main-color2)); }
#bo_list .list-box .tiles .a2::after,
#bo_list .list-box .tiles .a3::after { background: var(--main-color4, var(--main-color2)); }

#bo_list .list-box .a { overflow:hidden; }
#bo_list .list-box .a::before,
#bo_list .list-box .a::after { display:none; }

#bo_list .list-box .li_type { position:absolute; left:10px; top:10px; z-index:9; }
#bo_list .list-box .li_type span { display:inline-block; padding:5px 10px 4px; font-size:.625rem; font-weight:700; border-radius:5px; border:1px solid var(--main-color2); }
#bo_list .list-box .li_type span.best { background:var(--main-color2); color:#fff; }
#bo_list .list-box .li_type span.new { background:#fff; color:var(--main-color2); }

#bo_list .list-box .li_ck { position:absolute; z-index:9; top:10px; right:10px; display:flex; justify-content:center; align-items:center; }
#bo_list .list-box .li_ck input { margin:0; }
#bo_list .list-box .li_num { position:absolute; z-index:3; right:5px; top:5px; }

#bo_list .list-box .li_ca { margin-bottom:15px; }
#bo_list .list-box .li_ca span { display:inline-block; padding:5px 15px; border-radius:99px; border:1px solid var(--main-color1); color:var(--main-color1); font-size:.875rem; }

#bo_list .list-box .li_thumb { transition:transform 700ms; padding:30px; transition-duration:700ms; }
#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 { text-align:center; }
#bo_list .list-box .li_subject { display:flex; align-items:center; justify-content:center; }
#bo_list .list-box .li_subject .subject { font-size:1.25rem; color:#111; font-weight:600; }
#bo_list .list-box .li_desc { color:#888; margin-top:5px; }

#bo_list .list-box ul { display:flex; font-size:.875rem; margin-top:20px; }
#bo_list .list-box li:not(:last-child) { position:relative; margin-right:10px; padding-right:10px; }
#bo_list .list-box li:not(:last-child):before { content:""; position:absolute; right:0; top:calc(50% - 6px); width:1px; height:12px; background:#ddd; }


#bo_list .list-box .notice-icon { width:30px; height:30px; font-size:.875rem; background:var(--main-color3); color:#fff; border-radius:99px; display:flex; justify-content:center; align-items:center; box-shadow:0 0 3px rgba(0,0,0,.3); }
#bo_list .list-box .notice-icon i { transform:rotate(25deg); }

#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 { margin-top:10px; }
    #bo_list .list-box .li_subject .subject { font-size:1.125rem; }
}


/* 게시판 쓰기 */
#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; }
#bo_w .write-box .cata_wrapper_list{

}
.category-section {
    margin-bottom: 20px;
}

.category-title {
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
    padding-bottom: 5px;
    border-bottom: 1px solid #ddd;
}

.category-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bo_w_ico {
    margin-right: 15px;
    margin-bottom: 5px;
}


/* 다중 카테고리 스타일 */
.category-wrapper {
    margin-bottom: 30px;
}

.multi-category {
    position: relative;
}

.category-section {
    margin-bottom: 20px;
}

.category-title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    color: #333;
    padding-bottom: 5px;
    border-bottom: 1px solid #ddd;
}

.all-category,
.solutions-category,
.systems-category,
.category-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.all-category li,
.solutions-category li,
.systems-category li,
.category-list li {
    margin-right: 10px;
    margin-bottom: 10px;
}

.all-category li a,
.solutions-category li a,
.systems-category li a,
.category-list li a {
    display: block;
    padding: 8px 15px;
    background: #f5f5f5;
    border-radius: 4px;
    transition: all 0.3s;
}

.all-category li.active a,
.solutions-category li.active a,
.systems-category li.active a,
.category-list li.active a {
    background: #333;
    color: #fff;
}

.selected-categories {
    margin-top: 20px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 4px;
}

.selected-title {
    font-weight: bold;
    margin-bottom: 10px;
}

.selected-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.selected-item {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 5px;
    padding: 5px 10px;
    background: #e9e9e9;
    border-radius: 3px;
}

.remove-category {
    margin-left: 5px;
    color: #f00;
    font-weight: bold;
}

.reset-all {
    margin-left: 15px;
    color: #666;
    text-decoration: underline;
}
#bo_list .list-box .li_ca span.ca-separator{
    display: none;
}
@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-top { display:grid; grid:auto 1fr/calc(45% - 40px) calc(55% - 40px); justify-content:space-between; }


#bo_v .header { grid-row:1/2; grid-column:2/3; }
#bo_v .header .ctg { margin-bottom:10px;  display: flex; justify-content: space-between ; align-items: center;}
#bo_v .header .ctg span { display:inline-block; border-radius:99px; padding:5px 20px; border:1px solid var(--main-color1); color:var(--main-color1); }
#bo_v .header .subject { font-size:2rem; font-weight:600; margin-bottom:5px; }
#bo_v .header .desc { color:#888; }


#bo_v .view-img { grid-row:1/3; grid-column:1/2; }
#bo_v .view-img .swiper-img { 
    border:1px solid #ddd; 
    border-radius: 20px;
}
#bo_v .view-img .img { padding-bottom:100%; background:none no-repeat center/contain; }
#bo_v .view-img .swiper-thumb { margin-top:10px; }
#bo_v .view-img .swiper-thumb .img { background-size:cover;     border-radius: 10px;transition-duration:300ms; border:1px solid #ddd; cursor:pointer; }
#bo_v .view-img .swiper-thumb .swiper-slide-thumb-active .img,
#bo_v .view-img .swiper-thumb .swiper-slide:hover .img { border-color:#3fbde2; box-shadow: 0 0 0 5px #3fbde2 inset; }


#bo_v .view-head { grid-row:2/3; grid-column:2/3; }
#bo_v .view-head > ul:not(.file) { border-top:1px solid #ddd; margin-top:30px; padding-top:30px; }
#bo_v .view-head > ul li > b { display:block; font-size:1.25rem; }
#bo_v .view-head > ul li > span { display:block; }

#bo_v .view-head .info li:not(:first-child) { margin-top:30px; }
#bo_v .view-head .info li b { margin-bottom:10px; }
#bo_v .view-head .info li span { color:#777; }

#bo_v .view-head .price li { display:flex; justify-content:space-between; align-items:center; }
#bo_v .view-head .price > b { font-size:1.25rem; }
#bo_v .view-head .price span { font-size:1.25rem; }
#bo_v .view-head .price span b { font-size:1.5rem; color:#3fbde2; }

#bo_v .view-head .file { display:flex; text-align:center; margin:60px -2.5px 0; }
#bo_v .view-head .file li { width:80px; margin:0 2.5px; }
#bo_v .view-head .file a { display:block; height:80px; border:1px solid #ccc; border-radius:5px; background:none no-repeat center/40%; }
#bo_v .view-head .file span { display:block; font-size:.875rem; font-weight:600; margin-top:3px; line-height:1.3; }


 #productDesc span {
    display: block;
    overflow: hidden;
    transition: max-height 0.3s ease;
    position: relative;
}

.desc-toggle-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 5px 15px;
    background: #666;
    color: #fff;
    /* border: 1px solid #ddd; */
    border-radius: 99px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s ease;
}

.desc-toggle-btn:hover {
    background: #000000;
}

.fade-effect {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    pointer-events: none;
}











#bo_v .view-box { position:relative; padding:var(--view-row-padding) 0 calc(var(--view-row-padding) + 20px); margin-top:100px; }
#bo_v .view-box:before { content:""; position:absolute; left:50%; top:0; width:100vw; transform:translateX(-50%); height:20px; background:#f8f8f8; box-shadow:inset 1px 1px 3px rgba(0,0,0,.1); }

#bo_v .view-box img {
    max-width: 50%;
    height: auto;
    margin-bottom: 10px;
    border-radius: 16px;
}

#bo_v .view-box .head { font-size:1.25rem; margin:30px 0 50px; border-bottom:1px solid #ddd; text-align:center; font-weight:600; }
#bo_v .view-box .head span { display:inline-block; padding:0 10px 5px; margin-bottom:-1px; border-bottom:2px solid #333; }
#bo_v .view-box .view-editor { margin-top:20px; }


#bo_v .video-box {
    max-width: 50%;
    margin: 0 auto;
 }
#bo_v .video-box .video { position:relative; padding-bottom:60%; }
#bo_v .video-box .video iframe { position:absolute; width:100%; height:100%; border-radius: 16px;}


#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-btn-box { border-top:1px solid #ddd; padding-top:40px; }
#bo_v .view-another ~ .view-btn-box { border-top:none; padding-top:0px; }
#bo_v .view-box .view-editor p{ text-align: center; }

#bo_v .yt_link_btn{
    display: flex;
    align-items: center;
}
#bo_v .yt_img{
    display: block;
    width: 50px;
    height: 50px;

}
/* 플로팅 버튼 스타일 */
.floating-button {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    /* width: 60px;
    height: 42px; 
    background-color: #FF0000;  */
    border-radius: 12px; 
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    z-index: 999;
    cursor: pointer;
    transition: all 0.3s ease;
    background:#000;
    padding: 4px 8px 4px 4px;
    flex: 1;
    border: 1px solid #333;
    overflow: hidden;
    animation: movedown 2s ease-in-out infinite;
}
.floating-button .youtube-icon {
    width: 50px;
    height: 50px;
    background: url(../../../assets/images/Youtube_logo.png) center center / 80% no-repeat;
}
.floating-button p{
    font-size: 14px;
    font-weight: 700;
}
.floating-button:hover{
    transform: translateX(-50%) scale(1.05);
    box-shadow: 0 4px 20px rgba(255, 62, 62, 0.3);
}
@keyframes movedown {
    0%{
        bottom: 30px;
    }
    50%{
        bottom: 10px;
    }
    100%{
        bottom: 30px;
    }

}
/* .floating-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 4px;
    background: linear-gradient(120deg, #f20000, #ff8b83, #f20000);
    background-size: 300% 300%;
    clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - 3px), 3px calc(100% - 3px), 3px 100%, 100% 100%, 100% 0%, 0% 0%);
  }
  
  .floating-button.in:after {
    animation: frame-enter 1s forwards ease-in-out reverse, gradient-animation 4s ease-in-out infinite;
  } */
@keyframes rotate {
	100% {
		transform: rotate(1turn);
	}
}

@keyframes gradient-animation {
    0% {
      background-position: 15% 0%;
    }
    50% {
      background-position: 85% 100%;
    }
    100% {
      background-position: 15% 0%;
    }
  }
  
  @keyframes frame-enter {
    0% {
      clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - 3px), 3px calc(100% - 3px), 3px 100%, 100% 100%, 100% 0%, 0% 0%);
    }
    25% {
      clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) 100%, 100% 100%, 100% 0%, 0% 0%);
    }
    50% {
      clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, 100% 0%, 0% 0%);
    }
    75% {
      -webkit-clip-path: polygon(0% 100%, 3px 100%, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 0%, 0% 0%);
    }
    100% {
      -webkit-clip-path: polygon(0% 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 0% 100%);
    }
  }
/* .floating-button:hover {
    transform: scale(1.1);
    background-color: #CC0000; 
} */

/* 유튜브 재생 버튼 모양 */
/* .floating-button .youtube-icon {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 16px;
    border-color: transparent transparent transparent #ffffff;
} */
/*YT btn : e*/

.head-description{
    font-size: 0.875rem;
    color: #888;
    text-align: left;
    line-height: 1.25;
}
.head-description b{
    color: #0b3d99;
}
.content-body header.header .head{
    text-align: center;
    font-weight: 700;
}
#bo_list .category-box:not(.left) {
    justify-content: flex-start;
    flex:2;
}
#bo_list .search-box:before{
    display: none;
}
#bo_list .search-box{
    margin: 0 10px;
    flex:1;
}
#bo_list .list-head{
    display: flex;
    justify-content: flex-end;
}
#bo_list .list-box .li_desc{
    margin-bottom: 18px;
}



@media (max-width: 1200px) {
    #bo_v .view-top { grid-template-columns:calc(45% - 20px) calc(55% - 20px); }
}


@media (max-width: 1024px) {
	#bo_v { --view-row-padding:20px; }
	#bo_v .header .subject { font-size:1.5rem; }
    #bo_v .view-box img{
        max-width: 100%;
    }
    #bo_v .video-box {
        max-width: 100%;
        
     }
     #bo_v .view-img .swiper-img{
        border-radius: 10px;
     }
     #bo_v .view-img .swiper-thumb .img {
        border-radius: 6px;
     }
}


@media (max-width: 767px) {
	#bo_v { --view-row-padding:15px; --view-col-padding:5px; }

    #bo_v .view-top { display:block; }

    #bo_v .header .desc { margin-bottom:20px; }

    #bo_v .view-head .info { margin-top:20px; border-top:1px solid #333; }
    #bo_v .view-head .file { margin-top:20px; }
    #bo_v .view-head .file a { width:60px; height:60px; }

    #bo_v .view-box { margin-top:50px; }
    #bo_v .view-box:before { height:10px; }

    #bo_v .view-box .head { margin:30px 0; }

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

    #bo_list .list-box .li_thumb {
        padding: 0;
    }

    #bo_list .list-box .li_ca {
        flex-direction: column;
    }

    #bo_list .list-box .li_ca span {
        font-size: 11px;
        padding: 4px 8px;
    }
}