@charset "utf-8";

.admin_login {position: fixed; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between; width: 100%; padding-left: 1rem; background: var(--blue); height: 2.8rem; color: #fff; font-size: .9rem; box-sizing: border-box; z-index: 91; }
.admin_login .logout {height: 100%; padding: 0 1rem; background: var(--yellow); display: flex; align-items: center; justify-content: center; color: #333; font-weight: 600; }

#wrap:has(.admin_login) { padding-top: 2.8rem; }
#wrap:has(.admin_login) header { top: 2.8rem; }

header .navBox .dep { gap: 0; }

footer .box .bg img { left: 0; right: 0; }

.main .visual { background: #488FC7; }
.fade-in-image { opacity: 0; transition: opacity 0.5s ease-in-out; }

.main .sec03 .inner .videoBox { padding-top: 56.25%; }
.main .sec03 .inner .videoBox .thumbnail { display: none; }

.sub .festival_overview .box .posterBox { border-radius: 32px; overflow: hidden; }
.sub .poster .board_list li .textBox .nameBox > * { font-weight: 500; }

.board_view .textWrap .edit_view span,
.board_view .textWrap .edit_view strong,
.board_view .textWrap .edit_view a { display: inline !important; }
.board_view .textWrap .edit_view p + p { margin-top: 0.3rem; }

.modalCon .boxWrap { border-radius: 1.7rem; }

.anchor-target { position: absolute; display: block; height: 260px; margin-top: -260px; visibility: hidden; }

.linkBtn.soda-leaflet { width: 320px; height: 3.6rem; margin: 0 auto; }

p[style*="font-family:'맑은 고딕'"],
span[style*="font-family:'맑은 고딕'"] { font-family: 'Pretendard', sans-serif !important; }
p[style*="font-size:12pt"],
span[style*="font-size:12pt"] { font-size: unset !important; }

.sub .invitation_letter .box.soda { gap: 2rem 2rem; }
.sub .invitation_letter .box.soda .titleBox { width: calc(50% - 1rem); gap: 2rem; }
.sub .invitation_letter .box.soda .textBox { width: calc(50% - 1rem); gap: 2rem; }
.sub .invitation_letter .box.soda figure { border-radius: 1rem; overflow: hidden; }

.sub .box.soda { display: flex; flex-direction: column; gap: 2.0rem; }
.sub .box.soda.leaflet figure { border-radius: 1.0rem; box-shadow: 0 2px 8px #00000016; overflow: hidden; }
.sub a.soda-leaflet { width: 280px; height: 3.5rem; margin: 0 auto; border-radius: .9rem; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; transition: .5s ease; background: var(--blue); color: #fff; }
.sub a.soda-leaflet:hover {box-shadow: inset 0 -4px 0 #ffffff70, 0 5px 5px #1D518130;}


.sub .listType1 {display: flex; flex-wrap: wrap; gap: 2.2rem; line-height: 1.3;}
.sub .listType1 > li {width: calc(50% - 1.1rem); display: flex; align-items: flex-start; gap: 3.5%;}
.sub .listType1 > li .imgBox { border-radius: 1.0rem; overflow: hidden; box-shadow: 0 2px 8px #00000016;}
.sub .listType1 > li .textBox { max-width: 300px; width: 45%; flex: none;}
.sub .listType1 > li .soda-num { display: inline-block; padding: 0.2rem 0.4rem; background: var(--blue); border-radius: 0.4rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0; color: #fff; }
.sub .listType1 > li .title { font-size: 1.2rem; font-weight: 600; word-break: keep-all; line-height: 1.2; }
.sub .listType1 > li .title small { font-size: 0.9rem; color: #999; }
.sub .listType1 > li .title + small { display: block; font-weight: 600; font-size: 0.9rem; line-height: 1.2; color: #999; }
.sub .listType1 > li .soda-num + .title { margin-top: 0.4rem; }
.sub .listType1 > li .textList { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.9rem; margin-top: 0.6rem; color: #999999; font-weight: 600; }
.sub .listType1 > li .textList li.time { color: var(--blue); }
.sub .listType1 > li .text { font-size: 1.0rem; font-weight: 500; color: #666; margin-top: 0.6rem; word-break: keep-all; }
.sub .listType1 > li .text.sub { font-size: 0.9rem; margin-top: 0.2rem; color: #999999; }

.sub .listType1 > li.large { width: 100%; gap: 2%; }
.sub .listType1 > li.large .textBox { max-width: unset; width: 50%; }
.sub .listType1 > li.large.program .textBox { width: 100%; }
.sub .listType1 > li.large .title { font-size: 2rem; }
.sub .listType1 > li.large .textList { font-size: 1.3rem; }
.sub .listType1 > li.large .text { font-size: 1.1rem; }
.sub .listType1 > li.large .text img { max-width: 100%; }

.sub .listType1 > li.onlyT { padding: 1.6rem; border: 1px solid #ddd; border-radius: 1.0rem; box-sizing: border-box; }
.sub .listType1 > li.onlyT .textBox { width: 100% !important; max-width: unset; }
.sub .listType1 > li.onlyT .horizon { display: flex; gap: 1.6rem; }

.glance .topText {text-align: center; line-height: 1.3; margin-bottom: 2.6rem;}
.glance .topText p {font-size: 1.6rem;}
.glance .topText p.title {font-size: clamp(2rem, 4vw, 2.6rem);}
.glance .tableBox table {border-spacing: 3.3rem .9rem; border-collapse: separate;}
.glance .tableBox table thead th {font-size: .9rem;}
.glance .tableBox table tr > * {padding:  0;}
.glance .tableBox .th1 {width: 11rem;}
.glance .tableBox .th3 {width: 13rem;}
.glance .tableBox .table1 > tbody > tr {position: relative;}
.glance .tableBox .table1 > tbody > tr:after {content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); height: 100%; width: calc(100% + 6.6rem); z-index: -1; border-radius: .9rem; box-sizing: border-box; border: 1px solid #EEEEEE;}
.glance .tableBox .table2 {margin: 0 -3.3rem; width: calc(100% + 10.6rem); border-spacing: 3.3rem 0;}
.glance .tableBox .table2 th div {display: flex; align-items: center; gap: .5rem; align-items: center; font-size: 1.2rem;}
.glance .tableBox .table2 th .num {width: 1.35rem; height: 1.35rem; border-radius: 50%; background: var(--blue); color: #fff; font-size: .9rem; display: flex; align-items: center; justify-content: center;}
.glance .tableBox .table2 tr {position: relative;}
.glance .tableBox .table2 tr:after {content: ""; position: absolute; width: calc(100% - 12.3rem); height: 1px; border-bottom: 1px solid #00000016; right: 0; bottom: 0;}
.glance .tableBox .table2 tr:last-child:after {opacity: 0;}
.glance .tableBox .table2 td {font-size: 1.0rem; padding: .9rem 0; line-height: 1.3; text-align: left;}
.glance .tableBox .table2 td:last-child {text-align: center;}
.glance .tableBox .table1 > tbody > tr:last-child {height: 4.8rem;}

.main .sec03 .inner .arrowBtnWrap .arrowBtn { cursor: pointer; }

.main_popup {position: fixed; z-index: 1005; top: 0; left: 0; right: 0; bottom: 0; z-index: 100; display: flex; align-items: center; justify-content: center; display: none;}
.main_popup.on {display: flex;}
.main_popup:after {content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: #11111180; z-index: -1;}
.main_popup .box {max-width: 90%;}
.main_popup .box .imgBox {margin-bottom: .9rem; max-width: 480px; position: relative;}
.main_popup .box .imgBox .arrowBtn {position: absolute; top: 50%; transform: translateY(-50%);}
.main_popup .box .imgBox .arrowBtn.leftBtn {left: -2rem;}
.main_popup .box .imgBox .arrowBtn.rightBtn {right: -2rem;}
.main_popup .box .btnBox {width: 100%; display: flex; justify-content: space-between; align-items: center;}
.main_popup .box .checkBox input {background-image: url(./images/ico_checkbox_white.svg);}
.main_popup .box .checkBox input:after {background-image: url(./images/ico_checkbox_check_white.svg);}
.main_popup .box .checkBox label small {color: #fff;}
.main_popup .box .imgBox .swiper-pagination-bullet {background: #fff;}

.main_popup.soda { gap: 2.0rem; padding: 0 2.0rem; transition: all 0.3s; }
.main_popup.soda .box { transition: all 0.3s; }
.main_popup.soda .box .imgBox { margin-bottom: 0; }
.main_popup.soda .box .imgBox figure { border-radius: 1.0rem; overflow: hidden; }
.main_popup.soda .box .btnBox { padding: 16px; box-sizing: border-box; }

.container .arrowBtn .icon {width: 1.1rem; height: 2.7rem; cursor: pointer; transition: .5s ease;}
.container .arrowBtn.swiper-button-disabled .icon {opacity: .2; cursor: no-drop}
.container .arrowBtn.leftBtn .icon {background: url( ./images/arrow_left_black.svg) no-repeat center / contain;}
.container .arrowBtn.rightBtn .icon {background: url(./images/arrow_right_black.svg) no-repeat center / contain;}
.container .arrowBtn.leftBtn.white .icon {background-image: url(./images/arrow_left_white.svg);}
.container .arrowBtn.rightBtn.white .icon {background-image: url(./images/arrow_right_white.svg);}

.swiper-pagination { position: relative; margin-top: 1.0rem; }
.swiper-pagination-bullet { background: #fff; opacity: 0.4; }
.swiper-pagination-bullet-active { opacity: 1; }

.closeBtn .icon {width: 24px; height: 24px; background: url(./images/ico_close_white.svg) no-repeat center / contain; transition: .5s ease;}



@media screen and (max-width: 1024px) {
    
	.sub .invitation_letter .box.soda > *:not(.imgBox) { width: 100%; }
	
	.sub .listType1 > li {flex-direction: column; gap: 2rem;}
	.sub .listType1 > li .imgBox {width: 100%;}
	.sub .listType1 > li .imgBox img {width: 100%;}
	.sub .listType1 > li .textBox {width: 100%; max-width: none;}
	
	.sub .listType1 > li.large { gap: 2rem; }
	.sub .listType1 > li.large .textBox { width: 100%; }
	.sub .listType1 > li.large .title { font-size: 1.2rem; }
	.sub .listType1 > li.large .textList { font-size: .9rem; }
	.sub .listType1 > li.large .text { font-size: .9rem; line-height: unset; }
	
	.glance .tableBox table {border-spacing: 1rem .9rem;}
	.glance .tableBox .th1 {width: 8.5rem;}
	.glance .tableBox .th3 {width: 8rem;}
	.glance .tableBox .table1 > tbody > tr:after {width: calc(100% + 2.6rem);}
	.glance .tableBox .table2 {margin: 0 -2rem; width: calc(100% + 9rem);}
	.glance .tableBox .table2 tr:after {width: calc(100% - 14rem); right: 4rem;}
	.glance .tableBox .table2 th div {font-size: 1.1rem;}
	.glance .tableBox .table2 th .num {width: 1.1rem; height: 1.1rem; font-size: .85rem;}
	.glance .tableBox .table2 td {font-size: 1rem;}
	
}

@media screen and (max-width: 768px) {
	
	.sub .listType1 {gap: 2rem 1.2rem;}
	.sub .listType1 > li {width: calc(50% - .6rem);}
	
	/* 한눈에 보기 ----------------------------------------------------- */
	.glance .tableBox table {border-spacing: 0;}
	.glance .tableBox table tr > * {display: block;}
	.glance .tableBox .table1 > thead, .glance .tableBox .table2 colgroup {display: none;}
	.glance .tableBox .table1 > tbody > tr {padding: .9rem 0;}
	.glance .tableBox .table1 > tbody > tr:not(:last-child) {margin-bottom: 1rem; display: block;}
	.glance .tableBox .table2 {margin: 0; width: 100%; border-spacing: 0;}
	.glance .tableBox .table2 tr {display: flex; flex-wrap: wrap; padding: 0 .9rem;}
	.glance .tableBox .table2 th {width: 100%; height: 3rem; display: flex; align-items: center; margin-bottom: .5rem;}
	.glance .tableBox .table2 td {width: 50%; padding: .5rem 0;}
	.glance .tableBox .table2 td:last-child {text-align: right;}
	.glance .tableBox .table2 tr:after {width: 100%; right: 0;}
	
	.main_popup.on { flex-direction: column; justify-content: flex-start; }
	.main_popup.on .box { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; }
	
}

@media screen and (max-width: 480px) {
	
	.sub .listType1 {gap: 3rem;}
	.sub .listType1 > li {width: 100%; gap: 1.5rem;}
	.sub .listType1 > li .title br, .sub .listType1 > li .text br {display: none;}
	
	/* 한눈에 보기 ----------------------------------------------------- */
	.glance .tableBox .table2 td {width: 100%; padding: 0; padding-top: .5rem;}
	.glance .tableBox .table2 td:last-child {width: 100%; padding: 0; padding-bottom: .5rem; font-size: .9rem;}

}

@media screen and (max-width: 400px) {
	
	/* 한눈에 보기 ----------------------------------------------------- */
	.glance .tableBox .table2 th {height: 2.5rem;}
	.glance .tableBox .table1 > tbody > tr:after {width: calc(100% + .4rem);}
	.glance .tableBox .table2 tr:after {width: calc(100% - 1.5rem); right: 50%; transform: translateX(50%);}
	
}



.gbFont.en { letter-spacing: 0; }
header .navBox .dep.en .dep2 { font-size: 0.8rem; }
.glance .tableBox.en .table2 th div {font-size: 1.0rem;}
.glance .tableBox.en .table2 td {font-size: 0.9rem;}




/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute; background:#fff}
.hd_pops_con {}
.hd_pops_con img {width:100%; height: 100%; object-fit: contain; }
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
.hd_pops {left: 50% !important; top: 10px !important; transform: translateX(-50%) !important; }

@media screen and (max-width: 520px) {
	.hd_pops_con {max-width: calc(100vw - 40px) !important; height: calc((100vw - 40px) * 1.5) !important; }
}