/* 기본 reset */
* {
  box-sizing: border-box;
}
a {
  text-decoration: none;
  color: inherit;
}
ul,
ol,
li {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-weight: inherit;
}
ul:after {
  content: '';
  display: block;
  clear: both;
}
img {
  max-width: 100%;
  border: 0;
}
input {
  outline: none;
  cursor: auto;
  vertical-align: middle;
  font-family: inherit;
  font-size: inherit;
}
section,
article,
h1,
h2,
h3,
h4,
h5,
h6,
p,
button {
  outline: none;
  background-color: transparent;
  border: none;
}

/* common */
.com_section_wrap .com_guide {
  max-width: 1400px;
  min-width: 280px;
}

.com_title {
  text-align: center;
  font-size: 2.67em;
  font-weight: 700;
  line-height: 1.2em;
}
/* cate */
.txt_box .cate {
  font-size: 0.78em;
  display: inline-block;
  padding: 4px;
  min-width: 3.57em;
  border: 1px solid transparent;
  border-radius: 5em;
  text-align: center;
  font-weight: 500;
  line-height: initial;
}
.txt_box .cate.red {
  color: #cf0000;
  border-color: #cf0000;
}
.txt_box .cate.blue {
  color: #0374e8;
  border-color: #0374e8;
}
.txt_box .cate.yellow {
  color: #de8e03;
  border-color: #de8e03;
}
.txt_box .cate.green {
  color: #21ae69;
  border-color: #21ae69;
}
.txt_box .cate.gray {
  color: #666666;
  border-color: #666666;
}

/* empty_info - 비어있는 값 */
.empty_info {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 5em 0;
}
.empty_info span {
  color: #ddd;
  font-size: 2.5em;
  font-weight: 700;
}
.empty_info .info_txt {
  width: 100%;
  text-align: center;
  padding-top: 1.5em;
  color: #666;
}

/* main */
.main_board_latest {
  background-color: #f9f6f1;
  padding: 5em 0;
  margin: 0 -30px;
}
.main_board_latest .com_guide {
  max-width: 100%;
}
.main_latest_wrap {
  padding: 3.89em 0;
  margin: -0.83em;
}
.main_latest_wrap .item {
  width: 18.75%;
  height: auto;
  padding: 0.83em;
}
.main_latest_wrap .item a {
  padding: 1.11em;
  display: block;
  background-color: #fff;
  border: 1px solid transparent;
  box-shadow: 3px 0 8px rgba(55, 43, 36, 0.1);
  height: 100%;
}
.main_latest_wrap .item .thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1/0.67;
}
.main_latest_wrap .item .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.main_latest_wrap .txt_box {
  border-top: 1px solid #e1e1e1;
  padding: 1.67em 0;
  margin-top: 1.11em;
}
.main_latest_wrap .txt_box .tit {
  font-size: 1.33em;
  font-weight: 700;
  line-height: 1.25em;
  margin-top: 10px;
}
.main_latest_wrap .txt_box .desc {
  font-size: 0.89em;
  color: #333;
  line-height: 1.625em;
  margin-top: 1.2em;
}
.main_latest_wrap .item a:hover .txt_box,
.main_latest_wrap .txt_box,
.main_latest_wrap .txt_box .tit,
.main_latest_wrap .txt_box .desc {
  color: var(--link_color);
}

.main_more_btn {
  text-align: center;
}
.main_more_btn a {
  display: inline-block;
  font-size: 1.11em;
  padding: 0.9em 0.8em 0.8em;
  border: 1px solid #111;
  border-radius: 5em;
  min-width: 11em;
}
@media screen and (max-width: 1200px) {
  .main_latest_wrap .item {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .com_section_wrap {
    font-size: 0.8em;
  }
  .main_latest_wrap .item {
    width: 60%;
  }
}

/* ------- list ------- */
.kboard-control-write {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 10px;
}
/* tab_menu */
.tab_menu {
  display: flex;
  align-items: center;
}
.tab_menu .menu {
  flex: 1;
  text-align: center;
  font-weight: 500;
  /* line-height: 1.11em; */
  /* padding: 1em; */
  background-color: #fff;
  cursor: pointer;
  border: 1px solid #111;
}
.tab_menu .menu + .menu {
  border-left: 0;
}

.tab_menu .menu.active,
.tab_menu .menu:hover {
  background-color: #111;
}

.tab_menu .menu.active a,
.tab_menu .menu:hover a {
  color: #fff;
}

.tab_menu .menu a {
  display: block;
  line-height: 1.11em;
  padding: 1em;
}

.tab_cont_wrap {
  padding: 2em 0 6.11em;
}
.tab_cont_wrap .tab_cont {
  display: none;
}
.tab_cont_wrap .tab_cont.active {
  display: block;
}
@media screen and (max-width: 767px) {
  .tab_cont_wrap {
    padding: 3em 0 4em;
  }
  .tab_menu .menu {
    flex: none;
    width: 35%;
  }
}
/* search_area */
.search_area {
  background-color: #f9f6f1;
  width: 100%;
  padding: 1.28em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.78em;
}
.search_area .search_cont {
  position: relative;
  width: 46%;
}
.search_area .search_cont input {
  display: block;
  width: 100%;
  height: 3em;
  padding: 0 4em 0 1.67em;
  border-radius: 5em;
  border: 1px solid #d5d5d5;
}
.search_area .search_cont input:focus {
  border-color: #e7b12e;
}
.search_area .search_cont input::placeholder {
  color: #aaa;
  font-size: 0.83em;
}
.search_area .search_cont .sch_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 1.11em;
  transform: translateY(-50%);
}
.search_area .search_cont .sch_btn span {
  font-size: 2em;
  color: #e7b12e;
}

.sort_area {
  text-align: right;
  margin-top: 2em;
}

.sort_area select {
  width: 100%;
  max-width: 200px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
/* gallery_list_item */
.gallery_list_item {
  display: flex;
  flex-wrap: wrap;
  margin: -1.67em -0.83em;
}
.gallery_list_item .item {
  width: 25%;
  padding: 1.67em 0.83em;
}
.gallery_list_item .item a {
  display: block;
  width: 100%;
}
.gallery_list_item .item .img {
  position: relative;
  width: 100%;
  margin-bottom: 0.89em;
  aspect-ratio: 1/0.67;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery_list_item .item .img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #d5d5d5;
}
.gallery_list_item .item .txt_box .title {
  display: flex;
  align-items: baseline;
}
.gallery_list_item .item .txt_box .cate {
  margin-bottom: 0;
  min-width: 3.28em;
}
.gallery_list_item .item .txt_box .title .tit {
  padding-left: 8px;
  flex: 1;
  font-size: 1.11em;
  font-weight: 700;
  line-height: 1.5em;
  color: var(--link_color);
}
.gallery_list_item .item .txt_box .desc {
  margin-top: 10px;
  font-size: 0.89em;
  line-height: 1.25em;
  color: var(--link_color);
}
.gallery_list_item .item:hover .img img {
  border-color: #e7b12e;
}

.gallery_list_item .item a:hover .txt_box,
.gallery_list_item .item a:hover .tit,
.gallery_list_item .item a:focus .txt_box,
.gallery_list_item .item a:focus .tit {
  color: var(--link_color);
}

/* pagination */
.messe-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}
.messe-pagination li {
  font-size: 0.89em;
  width: 1.75em;
  height: 1.75em;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  margin: 0 8px;
  border-radius: 50%;
  cursor: pointer;
}
.messe-pagination li.prev,
.messe-pagination li.next {
  display: flex;
  align-items: center;
  align-items: center;
}
.messe-pagination li.prev {
  padding-right: 12px;
}
.messe-pagination li.next {
  padding-left: 12px;
}
.messe-pagination li.prev span,
.messe-pagination li.next span {
  color: #111;
}
.messe-pagination li.now {
  background-color: #f1f1f1;
  color: #111;
}
.messe-pagination li:hover {
  color: #111;
}
@media screen and (max-width: 1200px) {
  .gallery_list_item .item {
    width: 33.33%;
  }
  .search_area .search_cont {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .gallery_list_item {
    margin: -1em -0.5em;
  }
  .gallery_list_item .item {
    width: 50%;
    padding: 1em 0.5em;
  }
  .gallery_list_item .item .txt_box .title {
    flex-wrap: wrap;
  }
  .gallery_list_item .item .txt_box .title .tit {
    width: 100%;
    padding: 5px 0 0;
    flex: inherit;
  }
}

/* ------- view ------- */
.top_detail_area {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4.44em;
}
.top_detail_area .img {
  position: relative;
  width: 42%;
  aspect-ratio: 1/0.67;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top_detail_area .img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #d5d5d5;
  box-sizing: border-boxs;
}
.top_detail_area .view_txt_box {
  width: 58%;
  padding-left: 3.5%;
}
.top_detail_area .view_txt_box .title {
  font-size: 1.78em;
  font-weight: 700;
  line-height: 1.25em;
  margin-bottom: 0.625em;
}
.top_detail_area .detail_info .info {
  display: flex;
  padding: 0.78em 0;
  line-height: 1.5em;
}
.top_detail_area .detail_info .info + .info {
  border-top: 1px solid #d5d5d5;
}
.top_detail_area .detail_info .info .tit {
  font-weight: 700;
  width: 6.67em;
}
.top_detail_area .detail_info .info .desc {
  flex: 1;
  word-break: break-all;
}
.bottom_detail_area {
  margin-bottom: 5.56em;
}

.back_btn {
  text-align: center;
}
.back_btn a {
  display: inline-block;
  padding: 1em;
  min-width: 20em;
  border-radius: 5em;
  text-align: center;
  color: #fff;
  background-color: #3f2110;
  border: 1px solid #3f2110;
}
.back_btn a:hover {
  background-color: #fff;
  color: #3f2110;
}
@media screen and (max-width: 767px) {
  .top_detail_area .img {
    width: 100%;
  }
  .top_detail_area .view_txt_box {
    width: 100%;
    padding: 2em 0 0;
  }
}

/* 241205 add: s - sns 추가 */
.top_detail_area .detail_info .info .desc:has(.sns_list) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 0;
}
.top_detail_area .detail_info .info .desc:has(.sns_list) > a {
  margin-right: 1.5em;
}
.top_detail_area .sns_list {
  display: flex;
  margin: -7px;
}
.top_detail_area .sns_list .sns a {
  display: block;
  padding: 7px;
}
.top_detail_area .sns_list .sns img {
  display: block;
  width: 100%;
}
