.container {
    position: relative;
    padding:20px 0;
}

/* 이동 경로 */
 .breadcrumb {
    max-width: 1480px;
    margin: 40px auto;
    padding-left: 40px;
    padding-right: 40px;
}

 .breadcrumb ol {
   position: relative;
}


 .breadcrumb ol li.now {
    color: var(--color3);
    font-weight: 700;
}


 .breadcrumb ol li {
    display: inline-block;
    vertical-align: top;
    font-size: 18px;
    color: #555;
}


.breadcrumb ol li::before {
    content: '·';
    display: inline-block;
    vertical-align: top;
    margin: 0 6px;
    color: #dbdbdb;
}

.breadcrumb ol li:first-of-type a {
    background: url(/_icon/icon-home.png) center center / contain no-repeat;
    width: 18px;
    height: 16px;
    display: block;
}

.breadcrumb ol li:first-of-type::before{
    display: none;
}

/* 철근 */
 .sect {
    max-width: 1480px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
    margin-top: 100px;
    overflow: hidden;
}

 .sect:first-child {
    margin-top: 0;
    padding-bottom: 10px;
}



@media screen and (max-width: 1366px) {
     .sect {
        overflow: hidden;
    }
}


@media screen and (max-width: 1024px) {
     .sect {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}


@media screen and (max-width: 767px) {
     .sect {
        padding-left: 12px;
        padding-right: 12px;
        overflow: hidden;
        margin-top:20px;
    }
}


 .cate-tabs {
    position: relative;
  }
  
  .cate-tabs::-webkit-scrollbar {
    display: none;
  }
  
   .cate-tabs .tabs {
    display: flex;
    font-size: 0;
    white-space: nowrap;
    gap:10px;
  }
  
   .cate-tabs .tabs.wrap {
    flex-wrap: wrap;
  }
  
  .cate-tabs .tabs.wrap li {
    width: calc(16.6667% - 10px); 
    cursor: pointer;
  }
  
  @media screen and (max-width: 1024px) {
    .cate-tabs .tabs.wrap li {
      width: calc(25% - 10px);
    }
  }
  
  @media screen and (max-width: 520px) {
    .cate-tabs .tabs.wrap li {
      width: calc(50% - 10px);
    }
  }
  
   .cate-tabs .tabs.wrap .tabs li {
    width: 10%;
  }

  .cate-tabs .tabs li a {
    display: flex;
    height: 50px;
    font-size: 16px;
    justify-content: center;
    line-height: 1.2;
    align-items: center;
    font-weight: 700;
    text-align: center;
    background: #fff;
    border: solid 1px #ddd;
    border-radius: 5px;
}
  
  @media screen and (max-width: 767px) {
     .cate-tabs .tabs li a {
      font-size: 14px;
      padding: 0 20px;
    }
  }
  
  
  
   .cate-tabs .tabs li.active a {
    border:solid 1px var(--color0);
    color: var(--color0);
  }


  
   .cate-tabs-eyebrow{
    font-size: 24px;
    color: #6f359e;
    font-weight: bold;
    margin-bottom: 20px;
  }
  
   .cate-tabs.learning {
    box-shadow: none;
    margin-bottom: 60px;
  }
  
  
   .cate-tabs.learning .tabs {
    overflow: hidden;
    gap: 20px;
  }
  
   .cate-tabs.learning .tabs li {
    border: none;
    border-radius: 20px;
  }
  
   .cate-tabs.learning .tabs li a {
    border-radius: 30px;
    border: solid 1px #ddd;
  }
  
  @media screen and (max-width: 767px) {
     .cate-tabs.learning .tabs{
      overflow-x: scroll;
    }
     .cate-tabs.learning .tabs::-webkit-scrollbar{
      display: none;
    }
  }
  

/* 필터 */
.list-filter {
    position: relative;
    display: flex;
    align-items: flex-end;
    margin-bottom: 15px;
}

.list-filter .search-wrap {
    display: flex;
    width: fit-content;
    max-width: 420px;
    margin-left: auto;
    border-radius: 25px;
    box-shadow: 0px 0px 15px 0px rgba(217, 217, 217, 0.75);
    overflow: hidden;
    align-items: center;
    margin:10px;
    margin-left:auto;
}

.list-filter .search-wrap .input-wrap {
    flex: 1;
}

.list-filter .total {
    order: -1;
    font-size: 16px;
    line-height: 22px;
    text-transform: uppercase;
}

.list-filter .total em {
    font-weight: 700;
    font-size: 16px;
}

.list-filter .search-wrap .input-wrap input {
    height: 50px;
    padding: 10px 30px;
    border-radius: 0;
    border-color: transparent;
}

.list-filter .search-wrap .input-wrap input:focus {
    outline: none;
}


.list-filter .search-wrap .btn-search {
    display: block;
    width: 40px;
    height: 40px;
    background: url(/_icon/icon-search.png)left center no-repeat;
}



@media screen and (max-width: 520px) {
    .list-filter {
        margin: 10px;
    }
    .list-filter .search-wrap .input-wrap input{
        padding: 10px;
        font-size: 14px;
    }
    .list-filter .search-wrap .btn-search{
        width: 30px;
        height: 30px;
        background: url(/_icon/icon-search.png) left center no-repeat;
        background-size: 15px
    }
}



/* 게시판 - 리스트형*/


table {
    border-collapse: collapse;
    border-spacing: 0;
}

.table-responsive {
 position: relative;
}

.tbl-wrap {
  position: relative;
}


.tbl-wrap .table.col-tbl {
  vertical-align: middle;
  border-top: 1px solid #333;
  text-align: center;
}

.tbl-wrap .table {
  table-layout: fixed;
  width: 100% !important;
}

.tbl-wrap .table.col-tbl .col1 {
  width: 10%;
}

.tbl-wrap .table.col-tbl .col2 {
  width: 20%;
}

.tbl-wrap .table.col-tbl .col3 {
  width: 30%;
}

.tbl-wrap .table.col-tbl .col4 {
  width: 40%;
}

.tbl-wrap .table.col-tbl .col5 {
  width: 5cm;
}


.tbl-wrap .table.col-tbl thead {
  border-bottom: 1px solid #333;
  background: #f8f8f8;
}

.table>thead {
  vertical-align: bottom;
}


.table> :not(caption)>*>* {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.tbl-wrap .table.col-tbl thead th {
  height: 55px;
  padding: 12px;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.3px;
  font-weight: 700;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}


.tbl-wrap .table.col-tbl tbody th,
.tbl-wrap .table.col-tbl tbody td {
  position: relative;
  height: 60px;
  padding: 12px;
  border-bottom: 1px solid #ddd;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.3px;
  vertical-align: middle;
  word-break: keep-all;
  border-right: 1px solid #e6e6e6;
  font-weight: 500;
}


.tbl-wrap .table.col-tbl tbody td.align_left{
    text-align: left;
}

.tbl-wrap .table.col-tbl tbody td.is-new{
    padding-right:50px;
}

.tbl-wrap .table.col-tbl tbody td.is-new::after{
    right:unset;
}


.tbl-wrap .table a[class^="link-"] {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: keep-all;
    font-size: 17px;
    cursor: pointer;
    padding-left: 0;
    padding-right: 0; 
}


  


.is-new {
    position: relative;
    white-space: nowrap;
    padding-right:40px;
}



.is-new::after {
    content: '';
    display: inline-block;
    width: 35px;
    height: 15px;
    vertical-align: middle;
    background: url(/_icon/ico_new.png) no-repeat center / contain;
    animation: new 2s ease-in-out infinite;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    margin-left:5px;
    right:0;
}

@keyframes new {
    0%, 100% {
      opacity: 1;
    }
  
    50% {
      opacity: 0.5;
    }
}

.hold {
    position: relative;
}

.hold::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(/_icon/ico_lock.png) no-repeat center / contain;
    vertical-align: middle;
    margin-right:5px;
}

.repl {
    position: relative;
    padding-left: 35px !important;
}

.repl::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 16px;
    background: url(/_icon/ico_repl.gif) no-repeat center / contain;
    transform: translateY(-50%);
    z-index: 2;
    opacity: 1;
}


.repl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 16px;
    transform: translateY(-50%);
    z-index: 1;
}

/* 두개 같이 사용시 */

.hold.repl {
    padding-left: 50px !important; 
}

.hold.repl::before {
    left: 25px !important;
}





@media screen and (max-width: 1024px) {
    .tbl-wrap .table-responsive {
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
    }

    .tbl-wrap .table-responsive .table {
        table-layout: auto;
    }

    .tbl-wrap .table-responsive .table th, .tbl-wrap .table-responsive .table td {
        white-space: nowrap;
    }

    .tbl-wrap .table-responsive .table a[class^="link-"] {
        max-width: 200px;
        text-overflow: ellipsis;
        white-space: nowrap;
        word-break: keep-all;
        overflow: hidden;
    }
}




@media screen and (max-width: 767px) {

    .tbl-wrap .table.col-tbl tbody th, .tbl-wrap .table.col-tbl tbody td {
        height: 50px;
        padding: 10px 5px;
    }

    .tbl-wrap .table.col-tbl tbody th, .tbl-wrap .table.col-tbl tbody td {
        font-size: 13px;
        line-height: 22px;
    }
}

@media screen and (max-width: 520px) {
    .tbl-wrap .table-responsive .table a[class^="link-"] {
        font-size: 14px;
    }
}



/* 게시판 - 갤러리형 */
.thumb-list-wrap {
    overflow: hidden;
    /*margin-top: 50px;*/
}

.thumb-list-wrap .lists {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 20px; 
}

.thumb-list-wrap .lists .items {
    width: calc((100% - 40px) / 3);
    box-sizing: border-box;
}

.thumb-list-wrap .lists .items .thumb {
    display: block;
    width: 100%;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 20px;
    display: block;
    width: 100%;
    height: 300px;
}

.thumb-list-wrap .lists .items .thumb img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}



.thumb-list-wrap .lists .items .info {
    position: relative;
    margin-top: 20px;
    text-align: center;
}


.thumb-list-wrap .lists .items .info .tit {
    display: block;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
    overflow: hidden;
    padding: 0 20px;
    text-align: center;
    margin-bottom: 10px;
}

.thumb-list-wrap .lists .items.info .tit, .thumb-list-wrap .lists .items .info .desc {
    margin-top: 5px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -0.3px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    font-weight: 500;
    line-clamp: 5;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

.thumb-list-wrap .lists .items .info .desc {
    width: fit-content;
    margin: 10px auto;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: inline-block;
    margin: 10px auto;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.3px;
    max-width: calc(100%);
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    white-space: nowrap;
    vertical-align: middle;
}

.thumb-list-wrap .lists .items .info .desc.is-new::after{
    right: 0;
}


.thumb-list-wrap .lists .items .info .date {
    margin-top: 15px;
    font-size: 16px;
    font-weight: 700;
}


@media screen and (max-width: 767px) {

    .thumb-list-wrap .lists .items {
        width: 100%;
    }

    .thumb-list-wrap .lists .items .info {
        margin-top: 15px;
    }

    .thumb-list-wrap .lists .items .info .desc{
        font-size:16px;
    }
    
}



/* 게시판 - 매거진형 */
.magazine-lists {
    border-top: 1px solid #ddd;
}

.magazine-lists>li {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
}


.magazine-lists>li .inner {
    display: flex;
    align-items: center;
}

.magazine-lists>li .inner .thumb {
    display: block;
    width: 150px;
    height: 150px;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center;
    filter: brightness(.7);
    transition: all .3s;
    cursor: pointer;
}

.magazine-lists>li .inner .thumb img{
    width: 100%;
	height: 100%;
	object-fit: cover;
}

.magazine-lists>li .inner .conts {
    width: calc(100% - 170px);
    margin-left: auto;
    padding-right: 20px;
}

.magazine-lists>li .inner .conts .top {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    line-height: 1.2;
}

@media screen and (max-width: 767px) {
	.magazine-lists>li .inner .conts .top {
		margin-bottom: 5px;
	}
}
.magazine-lists>li .inner .conts .top .by {
    line-height: 1;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.3px;
    max-width: calc(100%);
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left;   
}


.magazine-lists>li .inner .conts .top .flag {
    color: #fff;
}

.magazine-lists>li .inner .conts .top .flag.spot01 {
    background: #828282;
}

.magazine-lists>li .inner .conts .top .info {
    margin-left: auto;
    font-size: 0;
}

.magazine-lists>li .inner .conts .top .info li {
    display: inline-block;
    vertical-align: top;
    margin-left: 20px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.3px;
    color: #a3a3a3;
    font-weight: 700;
}


.magazine-lists>li .inner .conts .top .info li.star {
    color: #ef3745;
}

.magazine-lists>li .inner .conts .desc {
	display: -webkit-box;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -0.3px;
    min-height: 75px;
    color: #404040;	
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
	.magazine-lists>li .inner .conts .desc {
		-webkit-line-clamp: 2;	
	}
}

.magazine-lists>li .inner .conts .date {
    margin-top: 10px;
    font-size: 16px;
    color: #999;
    font-weight: 700;
    text-align: right;
}


@media screen and (max-width: 767px) {
    .magazine-lists>li .inner {
        align-items: flex-start;
    }

    .magazine-lists>li .inner .thumb {
        width: 80px;
        height: 110px;
    }

    .magazine-lists>li .inner .conts .top .info li {
        display: block;
        margin-left: 0;
    }

    .magazine-lists>li .inner .conts {
        width: calc(100% - 90px);
        padding-right: 10px;
    }
        
    .magazine-lists>li .inner .conts .top {
        /* flex-wrap: wrap; */
        display: block;
    }


    .magazine-lists>li .inner .conts .desc {
        min-height: 0;
        font-size:15px;
    }

    .magazine-lists>li .inner .conts .top .by{
        max-width:90%;
        font-size:16px;
        margin:0;
    }

    .magazine-lists>li .inner .conts .date {
        font-size: 14px;
        text-align: right;
    }



}




/* 게시판 -  포스트잇형 */

.postit-lists {
    position: relative;
    /*padding-top: 30px;*/
    margin-bottom: 20px;
}

.postit-lists ul.lists {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.postit-lists ul.lists > li {
    width: calc((100%) / 3 - 15px);
}


.postit-lists ul.lists > li > span.inner {
    display: block;
    padding: 30px;
    box-shadow: 0px 0px 15px 0px rgba(217, 217, 217, 0.75);
}


.postit-lists ul.lists > li > span.inner .flag {
    margin-bottom: 5px;
}

.postit-lists ul.lists li > span.inner .count {
    display: block;
    font-size: 16px;
    font-weight: 700;
    padding: 0;
    margin-bottom: 17px;
}


.postit-lists ul.lists > li > span.inner .tit {
    line-clamp:1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.3px;
    max-width: calc(100%);
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left;
    margin-top:5px;
}


.postit-lists ul.lists > li > span.inner .desc {
    margin-top: 15px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.3px;
    height: 120px;
    color: #404040;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp:5;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;   
}

.postit-lists ul.lists > li > span.inner .is-new::after{
    right: unset;
}


@media (max-width: 768px) {
    .postit-lists ul.lists > li {
        width: calc((100%)); 
    }
    .postit-lists ul.lists > li > span.inner .tit{
        max-width: 100%;
        font-size:16px;
    }
    .postit-lists ul.lists > li > span.inner .is-new::after{
        right:0;
    }
    .postit-lists ul.lists > li > span.inner .desc{
        font-size:15px;
    }
}


/* 게시판 -  동영상형 */

.video-lists {
    position: relative;
}

.video-lists > ul {
    position: relative;
    display: flex;
    gap: 40px 20px;
    flex-wrap: wrap;
}


.video-lists > ul > li {
    position: relative;
    width: calc(100% / 4 - 15px);
}

.video-lists > ul > li img.play{
    position: absolute;
    width: 68px;
    height: 48px;
    top:50%;
    left:50;
    left: calc(50% - 34px);
    top: calc(50% - 24px);
}


.video-lists h4.title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}

.video-lists .thumb {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 56.25%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
}


.video-lists .thumb::before {
    content: ' ';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
    border-radius: 10px;
}


.video-lists .thumb::after {
    content: ' ';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 72px;
    margin-top: -36px;
    margin-left: -36px;
    background: url(/_icon/ico_play.png) center center / contain no-repeat;
    z-index: 10;
}


.video-lists .tit {
    position: relative;
    white-space: nowrap;
    word-break: keep-all;
    width: fit-content;
    margin: 15px auto 10px;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.3px;
    max-width: calc(100%);
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}


.video-lists .tit.new{
    padding-right: 20px;
}

.video-lists .tit.new::after {
    content: 'N';
    position: absolute;
    right: 0;
    top: 50%;
    width: 16px;
    height: 16px;
    background: #a02013;
    color: #fff;
    border-radius: 4px;
    margin-top: -8px;
    font-family: sans-serif;
    font-size: 11px;
    line-height: 15px;
    text-align: center;
    animation: new 2s ease-in-out infinite;
}


.video-lists .tit small {
    display: block;
    line-height: 1;
    font-weight: 900;
}

.video-lists .info {
    display: none !important;
}


.video-info{
    text-align: center;    
}

.video-info > ul li{
    position: relative;
}

.video-info > ul li{
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 600;
}

.video-info > ul li:first-of-type::before{
    display: none;
}

.video-info > ul li::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 1px;
    height: 10px;
    margin: 0 5px;
    background: #999;
}


@media (max-width: 768px) {
    .video-lists > ul{
        position: relative;
        padding: 16px;
        white-space: nowrap;
        overflow-x: auto;
        display: flex;
        gap: 20px;
        border-bottom: solid 1px #e6e6e6;
        align-items: center;
    }

    .video-lists > ul > li{
        width: calc(100%);
    }
}

.form-control {
    display: block;
    /* max-width: 750px; */
    width: 100%;
    min-height: 50px;
    height: auto;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #fff;
    font-size: 18px;
    line-height: normal;
    transition: border-color 0.15s ease-in-out;
}

textarea.form-control {
    resize: none;
    max-width: 100%;
    height: 300px;
}

#submit {
    color: #fff;
    font-weight: bold;
    margin: 10px auto;
    display: block;
}