@charset "utf-8";

/* -- 게시판 공통 -- */
    #board { position: relative; width: 100%; }

    #board .web_col{ display: table-column-group; }
    #board .mob_col{ display: none; }
    #board .web_td{ display: table-cell; }
    #board .mob_td{ display: none; }
    @media ( max-width: 991px) {
		#board table th, #board table td { padding: 15px 5px; }

	    #board .web_col{ display: none; }
	    #board .mob_col{ display: table-column-group; }
	    #board .web_td{ display: none; }
	    #board .mob_td{ display: table-cell; }
    }

/* 게시판 제목 말줄임 */
    #board .subject{ display: inline-block; width: 100%; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #board .subject2 { text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; /* 라인수 */ -webkit-box-orient: vertical; word-wrap:break-word; line-height: 1.2em; height: 2.4em; overflow: hidden; }
    #board .subject3 { text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; /* 라인수 */ -webkit-box-orient: vertical; word-wrap:break-word; line-height: 1.2em; height: 3.6em; overflow: hidden; }

/* -- 비밀번호 팝업 -- */
	#board_pw .modal-body{ padding: 3rem; }
    #board_pw .pw_title{ padding:0 0 1rem 0; text-align: center; }
    #board_pw a{ display: block; height: 40px; line-height: 37px; text-align: center; border-radius: 5px; }
    #board_pw input{ border-radius: 5px; }

/* -- 글갯수 -- */
    #board .total{ padding: 0 2px 10px 0; text-align: left; line-height: 1em; }
    @media (max-width:991px) {
        #board .total{ text-align: right; }
    }

/* -- 개시물 없음 -- */
	.no_data{ padding: 10% 0; }
	.no_data i{ font-size: 3em; }
	.no_data p{ padding: 10px 0 0 0; }

/* -- 첨부파일 -- */
    .filebox{ overflow: hidden; }
    .filebox .upload-name { vertical-align: middle; }
    .filebox label{ padding: 0; }
    .filebox label i{ display: block; height: 40px; line-height: 38px; text-align: center; border-radius: 40px; cursor: pointer; }
    
/* -- 버튼 -- */
    .btn_wrap { overflow: hidden; }
    .btn_wrap .center{ text-align: center; }
    .btn_wrap .left{ text-align: left; }
    .btn_wrap .right{ text-align: right; }
    .btn_wrap a{ display: inline-block; height: 40px; margin: 0 3px; padding: 0 15px; vertical-align: middle; text-align: center; line-height: 40px; border-radius: 5px; }
    .btn_wrap input[type="submit"]{ display: inline-block; vertical-align: middle; width: auto; padding: 0 15px; line-height: 40px; border-radius: 5px; }
    @media (max-width:991px) {
        .btn_wrap li:nth-child(2){ padding-top: 2%; }
    }

 /* 버튼 색상 */
    .bt_main{ font-size:12pt;font-weight:500;color: #fff !important; background: #59493F; }
    .bt_gray{ font-size:12pt;font-weight:500;color: #fff !important; background: #3c3c3b; }
    .bt_line{ border: 1px solid #cacaca; }



    .btn_wrap2{ color: #fff !important; background: #9e0b15;display: inline-block; height: 30px; margin: 0 3px; padding: 0 15px; vertical-align: middle; text-align: center; line-height: 30px; border-radius: 5px; }
    
    
    
    #board .category{ padding-bottom: 20px; }
    #board .category a{ display: inline-block; padding: 0 10px; line-height: 2.5em; border: 1px #e2dbd5 solid; border-radius: 3px; background: #ede8e4; }
    #board .category .on { border: 1px solid #d7272a; color: #fff; background: #d7272a; }

/* -- 리스트 -- */
    #board .list { border-top: 1px solid #9e0b14; }
    #board .list th, #board .list td { padding: 10px; text-align: center; font-size:12pt;font-weight:500; }
    #board .list th { border-bottom: 1px solid #D1C4C4; background: #DFD2D2; }
    #board .list td { border-bottom: 1px solid #D1C4C4; }
    #board .list td span{ padding: 0 0 0 10px; }
    #board .list img{ width: auto; }
    #board .list .bg{ background: #E2DEDE; }
    #board .list a{ display: block; padding: 5px; border-radius: 5px; }
    #board h3{ font-weight: 600; }
    #board .list .text-left{ text-align: left; }




/* -- 리스트 -- */
    #board .list2 { border-top: 1px solid #9e0b14;border-bottom: 1px solid #9e0b14; }
    #board .list2 th { padding: 10px; text-align: center; border-bottom: 1px solid #e8d6d6; background: #DFD2D2; }
    #board .list2 td { padding: 10px; text-align: center; border-left: 1px solid #e8d6d6;  border-right: 1px solid #e8d6d6; border-bottom: 1px solid #e8d6d6; }
    #board .list2 a{ padding: 10px; text-align: center; }




/* -- 보기 -- */
    #board .view table{ border-bottom: 1px solid #dcc8c8; }
	#board .view th{ padding: 15px 10px; text-align: center; font-size:12pt;font-weight: 500; border-top: 1px solid #ab0505; background: #DFD2D2; }
    #board .view td{ padding: 15px 10px; font-size:12pt;text-align: center; border-top: 1px solid #dcc8c8; }
    #board .view td:nth-child(2n+1){ background: #e2dede; }
	#board .view .date{ font-size: 0.9em; color: rgba(108,102,97,0.5); }
	#board .view .con{ text-align: left; background: #fff !important; }
	#board .view .con img{ display: block; width: auto; max-width: 100%; margin: 0 auto; }
    #board .view ul{ padding-top: 20px; }
    @media (max-width:991px) {
        #board .view tr{ background: #e2dede; }
        #board .view th{ display: block; float: left; width: 100%; }
        #board .view td:nth-child(2n+1){  display: block; float: left; width: 30%; }
        #board .view td:nth-child(2n+2){ display: block; float: left; width: 70%; background: #fff; }
    }




    
    #board .letter{ border-top: 1px solid #ab0505; border-bottom: 1px solid #ab0505; }
    #board .letter th{ font-size:12pt;padding: 10px; text-align: center; border-bottom: 1px solid #dcc8c8; background: #e2dede; }
    #board .letter td{ font-size:12pt;padding: 10px; border-bottom: 1px solid #dcc8c8; }

/* -- 비디오 -- */
    .video li{ padding-bottom: 20px; }
    .video .name{ padding: 15px 0; }
    .video .q_btn a { display: inline-block; padding: 5px 10px; border: 1px solid #e5e5e5; }
    .video .q_btn label { float: right; display: inline-block; padding: 5px 0; }
    /*#video_view .video{ position: relative; padding-bottom: 56.25%; }*/
    /*#video_view .video iframe{ position: absolute; width: 100%; height: 100%; }*/
    #video_view .modal-body{ padding: 0; }

    /*.view .video{position: relative; padding-bottom: 56.25%;}*/
    /*.view .video iframe{position: absolute; width: 100%; height: 100%;}*/

    .vod_view th{ padding: 15px 10px; text-align: center; font-weight: 500; border-top: 1px solid #ab0505; background: #DFD2D2; }
    .vod_view td{ padding: 15px 10px; vertical-align: top; border-bottom: 1px solid #dcc8c8; }
    .vod_view .con{ padding: 0; border: 0; }
    .vod_view ul{ border-top: 1px solid #dcc8c8; }
    .vod_view li{ position: relative; padding: 5px 10px 5px 30px; border-bottom: 1px solid #dcc8c8; cursor: pointer; }
    .vod_view li i{ position: absolute; top: 5px; left: 10px; }
    .vod_view .on, .vod_view li:hover{ background: #dcc8c8; }
    .vod_view img{ width: auto; max-width: 100%; }
    @media (max-width:991px) {
        #board .vod_view .con{ padding: 0; border: 0; }
        #board .vod_view td{ padding: 0 0 15px 0; }
        .vod_view th{ display: block; float: left; width: 100%; }
        .vod_view td{ display: block; float: left; width: 100%; }
    }

/* 주문 */
    .order_tt { font-weight: 600; }
    .order th { text-align: center; padding: 10px 0; border-top: 1px solid #9E0B14; border-bottom: 1px solid #F0F0F0; }
    .order td { padding: 10px 0; border-bottom: 1px solid #F0F0F0;}
    .order li{ line-height: 40px; text-align: center; }
    .order img{ width: auto; }
    .order span{ font-weight: 500; }
    .order .pd_0{ padding: 5px 0; }
    .order .won{ padding: 10px; text-align: right; background: #F0F0F0; }
    .order .bg{ background: #F0F0F0; }
    .order .won i{ display: block; font-weight: 800; }
    .order .number div{ width: 60px; margin: 0 auto; }
    .order .number p{ float: left; width: 40px; font-size: 16px; }
    .order .number i{ float: left; display: block; width: 20px; height: 20px; line-height: 20px; text-align: center; border: 1px solid #e5e5e5; cursor: pointer; }
    
    .order_info { border-top: 1px solid #9E0B14; }
    .order_info th { text-align: center; padding: 10px; border-bottom: 1px solid #F0F0F0; background: #E2DEDE; }
    .order_info td { padding: 10px; border-bottom: 1px solid #F0F0F0;}
    .order_info label { display: inline-block; padding: 0 10px 0 0; }

    .order_end { text-align: center; }
    .order_end h2{ padding: 0 0 20px 0; font-weight: 700; }
    
    @media (max-width:991px) {
        .order th { display: block; float: left; width: 100%; text-align: center; }
        .order td { display: block; float: left; width: 100%; text-align: left;}
        .order li{ padding: 5px 0; text-align: left; overflow: hidden; }
        .order .pd_0{ text-align: center; }
        .order .number div{ margin: 0; }

        .order_info label { display: block; padding: 5px 0; }
    }

/* -- 페이징 -- */
    #page { font-size:12pt;padding: 3% 0 0 0; text-align: center; clear: both; }
    #page a{ display: inline-block; width: 40px; height: 40px; line-height: 40px; }
    #page a:hover { color: #9e0b15; }
    #page .on {border-radius: 50%; color: #fff; background: #59493F; }
    #page .on:hover{ color: #fff; }
    #page .first, #page .prev, #page .next ,#page .last{ width: 20px; height: 40px; background: url('../../img/common/arrow.png') no-repeat; vertical-align: top; }
    #page .first{ background-position: -40px 8px; }
    #page .prev{ background-position: 0px 8px; margin: 0 2% 0 0; }
    #page .next{ background-position: -20px 8px; margin: 0 0 0 2%; }
    #page .last{ background-position: -60px 8px; }

/* -- 검색 -- */
    .board_search { font-size:12pt;width: 45%; margin: 0 auto; padding: 3% 0 0 0; text-align: center; }
    .board_search ul{ font-size: 12pt; }
    .board_search ul li{ font-size: 12pt;display: inline-block; width: 20%; padding: 0 1px; font-size: 12px; vertical-align: middle; }
    .board_search ul li:nth-child(2){ width: 40%; }
    .board_search input, .board_search select{font-size: 12pt; border-radius: 5px; }
    @media (max-width:991px) {
        .board_search { width: 95%; margin: 0 auto; }
        .board_search ul li{ font-size: 12px; }
    }
    @media (max-width:767px) {
        .board_search ul li{ font-size: 12px; }
    }
    
    
.btn_d72{background-color: #d7272a;text-align:center;font-size: 12pt;border-radius: 3px;}
.bd_e2d{font-weight:500;border-radius:3px;box-sizing: border-box;border:1px #e2dbd5 solid;text-align: center;font-size:12px;color:#4a413b;background-color: #ede8e4;}

.basebtn{padding:10px;color:#FFFFFF;font-weight:500;background-color:#55a9bb;text-align:center;font-size:20pt;border-radius: 3px;}
.basebtn2{padding:10px;color:#FFFFFF;font-weight:500;background-color:#55a9bb;text-align:center;font-size:20pt;border-radius:10px;}
.basebtn3{color:#FFFFFF;font-weight:500;background-color:#55a9bb;text-align:center;border-radius: 3px;}

/* Gallery banner layout */
.gallery-board-container {
    max-width: 1280px;
}

.gallery-board-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.gallery-board-layout.has-side-banners {
    grid-template-columns: minmax(0, 1fr) 280px;
}

.gallery-board-main,
.gallery-side-banners {
    min-width: 0;
}

.gallery-board-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
    padding: 0;
}

.gallery-board-grid::before,
.gallery-board-grid::after {
    display: none;
}

.gallery-board-item,
.gallery-board-empty,
.gallery-side-banners__list > *,
.gallery-bottom-banners__list > * {
    list-style: none;
}

.gallery-board-item {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
}

.gallery-board-link {
    display: block;
}

.gallery-board-thumb-wrap {
    padding: 0 !important;
}

.gallery-board-thumb {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.gallery-board-caption {
    word-break: keep-all;
}

.gallery-banner-title {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #a9a9a9;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #222;
}

.gallery-side-banners__list,
.gallery-bottom-banners__list {
    display: grid;
    gap: 16px;
}

.gallery-side-banners__list {
    grid-template-columns: 1fr;
}

.gallery-side-banner,
.gallery-bottom-banner {
    display: block;
    overflow: hidden;
    border: 1px solid #cfcfcf;
    background: #fff;
}

.gallery-side-banner img,
.gallery-bottom-banner img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.gallery-side-banner img {
    aspect-ratio: 11 / 4;
}

.gallery-bottom-banners {
    margin-top: 48px;
}

.gallery-bottom-banners__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gallery-bottom-banner img {
    aspect-ratio: 11 / 4;
}

@media (max-width: 1199px) {
    .gallery-board-layout.has-side-banners {
        grid-template-columns: minmax(0, 1fr) 240px;
    }

    .gallery-board-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-bottom-banners__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .gallery-board-layout.has-side-banners {
        grid-template-columns: 1fr;
    }

    .gallery-side-banners__list,
    .gallery-bottom-banners__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .gallery-banner-title {
        font-size: 18px;
    }

    .gallery-board-grid,
    .gallery-side-banners__list,
    .gallery-bottom-banners__list {
        grid-template-columns: 1fr;
    }
}

.menu-map-section {
    margin-top: 48px;
    padding: 28px;
    border: 1px solid #e6e7ec;
    border-radius: 24px;
    background: #fafbfe;
}

.menu-map-section__header h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: #1d2433;
}

.menu-map-section__address {
    margin: 14px 0 0;
    color: #2a3140;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
}

.menu-map-section__note {
    margin: 8px 0 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.8;
}

.menu-map-section__frame {
    margin-top: 18px;
    overflow: hidden;
    border-radius: 18px;
    background: #e9edf3;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.05);
}

.menu-map-section__frame iframe {
    display: block;
    width: 100%;
    height: 420px;
    border: 0;
}

@media (max-width: 767px) {
    .menu-map-section {
        margin-top: 32px;
        padding: 18px;
        border-radius: 18px;
    }

    .menu-map-section__header h2 {
        font-size: 22px;
    }

    .menu-map-section__frame iframe {
        height: 320px;
    }
}
