/* common */
.evt_wrap { position:relative; margin:0 auto; overflow:hidden; max-width: 750px; } 
.evt_wrap * { font-family: 'Noto Sans KR', sans-serif; } 
.evt_wrap img:not(.slider-lazy-image) { display:block; width:100% } 
.p_r { position: relative; }
.mt-1{margin-top: -1px;}
.fc_red{color: #ff0000;}
.fc_grey{color: #a7a7a7;}

/* select box */
select::-ms-expand { display:none; } 
#pre_form { position:relative; } 
#info_pop { display: none; position:fixed; top:5px; z-index:10; overflow-y: scroll; height: 90vh; max-width: 640px; } 
#info_pop .close { width:10%; height:9vw; position:absolute; right:0; top:-20px; } 
.infoBox_text { width:100%; margin:0 auto; overflow-y: scroll; height: 100px; border: 1px solid #000; } 
.agree_area .infoBox_text_w { display:flex; text-align: left; justify-content:space-between; margin:0 auto; } 
.table_wrap tr td:first-child,
.table_wrap tr th:first-child { margin-right:10%; text-align: left; font-size: 4vw;} 
.table_wrap tr.agree th:first-child { padding-left: 0; } 

/* 근거문구 */
.reason { position: absolute; width:95%; top:14%; left:50%; padding:5%; box-sizing: border-box; background:rgba(0,0,0,0.85); color:rgba(255,255,255,0.7); text-align: left; font-size:12px; letter-spacing: -0.04em; display:none; transform: translateX(-50%); z-index: 99; } 
.reason .close { position: absolute; width:20px; height:20px; top:10px; right:10px; cursor: pointer; } 
.reason .close::before, .reason .close::after { content:''; display:block; width:100%; height:1px; background:rgba(255,255,255,0.7); position: absolute; top:50%; left:50%; transform: translate(-50%,-50%) rotate(45deg); } 
.reason .close::after { transform: translate(-50%,-50%) rotate(-45deg); } 

.top-bnr { background:#e41d27; padding: 3% 0; }
.top-bnr .bx-wrapper { max-width:100vw !important; }
.top-bnr li {width: 100vw !important; color: #fff; font-size: 3.1vw; font-weight: 600; }
.top-bnr li span { color: #ffeb10; }

.con01 .play_video {width: 100%;height: 100%;position: absolute;top: 0;left: 0;z-index: 2;}

.cont01_add .sys-f {position: absolute; color: #fff; top: 33%; left: 50%; transform: translateX(-50%); text-align: center; font-size: 3.3vw;}
.cont01_add .sys-f.ver2 {left: 28.5%; top: 70%;}
.cont01_add .sys-f.ver3 { left: 71.5%; top: 70%; }
.cont01_add .show-content {display: none; position: absolute; width: 41%; top: 22%; left: 50%; transform: translateX(-50%); padding: 3%; box-sizing: border-box; background: rgba(255, 255, 255, 0.85); color: #222; text-align: left; font-size: 3vw; line-height: 1.5; letter-spacing: -0.04em; border-radius: 10px; word-break: keep-all; z-index: 2;}
.cont01_add .show-content.ver2 { left: 29%; top: 55%; }
.cont01_add .show-content.ver3 { left: 71%; top: 55%; }
.cont01_add .show-content .close { position: absolute; width: 15px; height: 15px; top: 5px; right: 5px; cursor: pointer; }
.cont01_add .show-content .close::before, .show-content .close::after { content: ''; display: block; width: 100%; height: 1px; background: rgba(0, 0, 0, 0.9); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); }
.cont01_add .show-content .close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.text-ani span { display: block; opacity: 0; transform: translateY(30px); animation: slideUp 0.8s forwards; } 

/* CSS 변수를 활용한 간결한 애니메이션 딜레이 */
.text-ani1 {
    --base-delay: 0s;
    --interval: 0.2s;
}

.text-ani2 {
    --base-delay: 1.4s;
    --interval: 0.2s;
}

.text-ani1 span:nth-child(1), .text-ani2 span:nth-child(1) { animation-delay: calc(var(--base-delay) + 0 * var(--interval)); }
.text-ani1 span:nth-child(2), .text-ani2 span:nth-child(2) { animation-delay: calc(var(--base-delay) + 1 * var(--interval)); }
.text-ani1 span:nth-child(3), .text-ani2 span:nth-child(3) { animation-delay: calc(var(--base-delay) + 2 * var(--interval)); }
.text-ani1 span:nth-child(4), .text-ani2 span:nth-child(4) { animation-delay: calc(var(--base-delay) + 3 * var(--interval)); }
.text-ani1 span:nth-child(5), .text-ani2 span:nth-child(5) { animation-delay: calc(var(--base-delay) + 4 * var(--interval)); }
.text-ani1 span:nth-child(6), .text-ani2 span:nth-child(6) { animation-delay: calc(var(--base-delay) + 5 * var(--interval)); }
.text-ani1 span:nth-child(7), .text-ani2 span:nth-child(7) { animation-delay: calc(var(--base-delay) + 6 * var(--interval)); }

@keyframes slideUp { 
    0% { opacity: 0; transform: translateY(30px); } 
    100% { opacity: 1; transform: translateY(0); } 
}

.con03 .sticker{ position: absolute; top: 13%; left: 50%; transform: translateX(-50%); z-index: 2;} 
.con03 .ani_wrap{position: absolute; top: 7%; left: 50%; transform: translateX(-50%);} 
.con03 .ani_wrap li{width: 100%;}
.con03 .ani_wrap li:nth-child(1){margin-left: -30%;}
.con03 .ani_wrap li:nth-child(2){margin: 4% 0 0 40%;}
.con03 .ani_wrap li:nth-child(3){margin: 4% 0 0 -35%;}
.con03 .ani_wrap li:nth-child(4){margin: 4% 0 0 40%;}

.con07 .ani_wrap li{position: absolute;}
.con07 .ani_wrap li:nth-child(1){width: 20vw; max-width: 133px; bottom: 18.5%; left: 7%;}
.con07 .ani_wrap li:nth-child(2){width: 22vw; max-width: 154px; bottom: 24%; left: 27.8%;}
.con07 .ani_wrap li:nth-child(3){width: 19vw; max-width: 117px; bottom: 36.3%; left: 51.5%;}
.con07 .ani_wrap li:nth-child(4){width: 21vw; max-width: 151px; bottom: 40%; right: 7%;}
.con07 .ani_wrap li:nth-child(5){width: 18vw; max-width: 127px; bottom: 21.5%; right: 25%;}

/* 신청단 */
.con09 .infoBox_w{width: 92%; padding: 0 4.1% 15% 3.9%; background: linear-gradient(to bottom, #880311, #9e0213);}
.con09 .table_wrap {width: 100%; margin: 0 auto; padding: 0 5%; box-sizing: border-box; position: relative; background: #fff;} 
.con09 td input[type="text"],td select { border: 1px solid #cfcfcf; width:100%; padding:7% 5%; border-radius: 5px; background: #fff; color:#555 } 
.con09 td select { padding: 4% 3%; -webkit-appearance: auto;} 
.con09 input[type="checkbox"] { vertical-align: middle; background: none; appearance: none; border: 1px solid #999; border-radius: 3px; margin-right: 2%; position: relative;} 

.con09 input[type="checkbox"]:checked{ background: none; width: 18px; height: 18px; } 
.con09 input[type="checkbox"]:checked::after {content: '\2713'; background: #ff2418; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 12px; font-weight: 700; width: 18px; height: 18px; text-align: center; border-radius: 3px;} 

.con09 table { width:100%; margin:0 auto; } 
.con09 th { text-align:left; font-size:4vw; color:#333; text-indent:0px; } 
.con09 td { text-align:left !important; line-height:1.8; } 
.con09 .agree_area {display: block; width: 100%; margin: -1px auto 0; padding: 2% 5% 4%; box-sizing: border-box; background: #fff; font-size: 3.5vw;} 
.con09 .agree_area h3{margin-bottom: 3%; padding-top: 5%; border-top: 1px solid #b2b2b2;} 
.con09 .agree_area .agree_chk{margin: 2% 0; font-size: 3.8vw; font-weight: bold; display: flex; align-items: center;} 
.con09 .agree_area .infoBox_btn {margin-left: 2%; padding: 1% 2%; text-align: center; color: #474747; background: #eeeeee; font-size: 3vw; border-radius: 5px;} 
.con09 .agree_area .infoBox_text { text-align: left; padding: 3%; background: #ececec; margin-bottom: 10px; line-height: 1.5em; height: 75px; border: 1px solid #eee; border-radius: 5px; color: #111; overflow-y: auto; box-sizing: border-box; font-size: 2.4vw; } 
.con09 .agree_area .infoBox_text strong { display:block; margin-bottom:10px; font-size: 2.6vw; } 
.con09 .agree_area .infoBox_text_w { display:block; text-align: left; } 
.con09 .agree_area .infoBox_text_w .infoText_select {margin-bottom: 2%; text-align:left; display: flex; align-items: center; font-size: 3.2vw; } 

.con09 table th,
.con09 table td { padding: 2% 0; color: #1c1c1c; } 
.con09 table td input[type="text"] { padding:7% 2%; width: 100%; box-sizing: border-box; text-indent: 5px;} 
.con09 table td span{display: block; margin-top: 2%; font-size: 2.5vw; color: #939393; line-height: 1.2;} 

.con09 table ul { display: flex; justify-content: space-between; align-items: center;} 
.con09 table ul.v2 { justify-content: space-around; } 
.con09 table ul li { width: calc(100%/2 - 5px); position: relative;} 
.con09 table ul li input + label{display: block; padding: 5% 0; text-align: center; font-size: 4vw; color: #9c9c9c; background: #f3f3f3; border: 1px solid #d9d9d9; border-radius: 5px;} 
.con09 table ul li input:checked + label{color: #fff; background: #ff2418;} 
.con09 table ul li input[type='radio'] {position: absolute; top: 50%; left: 10%; transform: translateY(-50%); width: 20px; height: 20px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff; border: 2px solid #c5c5c5; border-radius: 50%; outline: none; cursor: pointer;}
.con09 table ul li input[type='radio']:checked {width: 19px; height: 19px; background-color: #090909; border: 4px solid #fff; box-shadow: 0 0 0 1px #c5c5c5;}

.con09 .form_btn {display: block; width: 90%; margin: -1px auto 0; padding: 0 5% 10%; background: #fff; border-radius: 0 0 20px 20px;} 
.con09 .target{width: 100%; height:1vw; position: absolute; top: 46vw; left: 0;}

/* 팝업 */
.pop_wrap .pop_con .form_in { width: 92%; margin:0 auto 5%; }
.pop_wrap .pop_con .table_wrap { margin: 0; width: 100%; box-sizing: border-box; padding:3%; position: relative; z-index: 2; border-radius: 10px; }
.pop_wrap .pop_con td input[type="text"],td select { border: none; margin-bottom: 3%; width:100%; padding:7% 5%; border-radius: 5px; background: #eee; color:#555 }
.pop_wrap .pop_con td select { padding: 3%; width: 100%; }
.pop_wrap .pop_con input[type="radio"],.pop_wrap .pop_con input[type="checkbox"] {width: 15px; height: 15px; margin-right: 5px; border: 1px solid #777; border-radius: 3px; background: none;}
.pop_wrap .pop_con input[type="checkbox"]:checked {appearance: none; background: #ff6c00; border: 1px solid #ff6c00; border-radius: 3px; position: relative;}
.pop_wrap .pop_con input[type="checkbox"]:checked::after {content: '\2713'; position: absolute; top: 48%; left: 50%; transform: translate(-50%, -50%); font-size: 12px; font-weight: bold; color: #fff;}
.pop_wrap .pop_con label { line-height:2; font-size:12px; vertical-align:middle; }
.infoBox_btn { display:inline-block; margin-left:2%; text-align:center; color:#333; font-size:10px; }
.pop_wrap .pop_con table { width:100%; margin:0 auto; }
.pop_wrap .pop_con th { text-align:left; font-size:13px; color:#333; text-indent:0px; }
.pop_wrap .pop_con td { text-align:left !important; line-height:1.8; }
.pop_wrap .pop_con .agree_area { display:block; width:94%; margin: 0 auto; box-sizing: border-box; }
.pop_wrap .pop_con .agree_area .infoBox_text { text-align: left; padding: 2%; border: 1px solid #ddd; background: #fff; margin-bottom: 10px; line-height: 1.5em; height: 30vw; overflow-y: auto; box-sizing: border-box; font-size: 12px; }
.pop_wrap .pop_con .agree_area .infoBox_text strong { display:block; margin-bottom:10px; font-size: 12px; }
.pop_wrap .pop_con .agree_area .infoBox_text_w { display:block; text-align: left; }
.pop_wrap .pop_con .agree_area .infoBox_text_w .infoText_select { text-align:left; }
.pop_wrap .pop_con input[type="radio"] { display: none; }
.pop_wrap .pop_con table td input+label { display: flex; align-items: center; }
.pop_wrap .pop_con table td input[type="radio"]+label::before { width: 20px; height: 20px; display: inline-block; content: ''; background: url('https://cdn.hackersut.com/www/images/event/2024/07/2400/radio.png') 0 0/100% no-repeat; margin-right:5px; }
.pop_wrap .pop_con table td input[type="radio"]:checked+label::before { background-position-y: 100%; }
.pop_wrap .pop_con input[type="radio"]:checked::after { display: none; }

#pre_Form2 input[type="checkbox"]:checked {appearance: none; background: #ff3000; border: 1px solid #ff3000;}
#pre_Form3 input[type="checkbox"]:checked {appearance: none; background: #46a600; border: 1px solid #46a600;}

.form_btn { width: 100%; margin: 0 auto; text-align: center; background: #111; color: #fff; padding:3% 0; font-size: 1rem; border-radius: 10px; display:flex; align-items: center; justify-content: center; }
.form_btn span.element { background: url('https://cdn.hackersut.com/www/images/event/2025/01/2200/pop_btn.png') 0 0/100% no-repeat; display: inline-block; width: 20px; height: 20px; margin-left:10px; }

.infoBox_w .infoText_select a { display: inline-block; margin-left: 10px; padding: 1px 8px; background: #eeeeee; border-radius: 5px; color: #494949; font-size: 0.6rem; }

.pop_wrap .pop_con table th,
.pop_wrap .pop_con table td {padding-bottom: 2%;}
.pop_wrap .pop_con table td input[type="text"] { padding:7% 2%; width: 100%; box-sizing: border-box; }
.pop_wrap .pop_con table td input+label { font-size: 3vw; margin-left: 5px; }

.pop_wrap .pop_con table .agree_area {display: none; background: #fff; font-size: 12px; height: 75px; }
.pop_wrap .pop_con table .agree_area .infoBox_text { height: 75px; border: 1px solid #eee; }
.infoText_select { display: flex; align-items: center; }

.pop_wrap .pop_con table .chek_tit ul { width: 100%; }
.pop_wrap .pop_con table .chek_tit ul li { width: 32%; margin-right:2%; text-align: center; font-size: 2.6vw; border: 1px solid#d9d9d9; border-radius: 6px; box-sizing: border-box; padding: 0.5vw; }
.pop_wrap .pop_con table .chek_tit ul li:last-child { margin-right: 0; }

.pop_wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; display: none; }
.pop_wrap>.pop_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; background: rgba(0,0,0,0.4); }
.pop_wrap>.pop_con { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-height: 70%; overflow-y: auto; background: #fff; z-index: 11; border-radius: 10px; display: none; }
.pop_wrap>.pop_con img { width: 100%; }
.pop_wrap .close_btn { position: absolute; top: 0; right: 0; width: 30px; height: 30px; color: #111; text-align: center; line-height: 25px; z-index: 11; }

.pop-title {background: #ff6c00; color: #fff; text-align: center; border-radius: 10px 0 0 0; padding: 5% 0; box-sizing: border-box; font-size: 5vw; font-weight: 700;}
.type02 .pop-title {background: #ff3000;}
.type03 .pop-title {background: #46a600;}
.form-btn__date { color:#fffc00; margin-right: 5px; }

.pop_wrap .pop_con::-webkit-scrollbar { width: 10px; }
.pop_wrap .pop_con::-webkit-scrollbar-track { background-color: #eee; }
.pop_wrap .pop_con::-webkit-scrollbar-thumb { background-color: #ddd; border-radius: 5px; }
.pop_wrap .pop_con::-webkit-scrollbar-button { display: none; }

/* 방문 안내 */
.visit_tab{padding-top: 10%;}
.visit_tab h1{text-align: center; margin-bottom: 5%}
.visit_tab .js-tab-type1{width: 70%; padding: 5% 3% 0; position: absolute; top: 62%; left: 50%; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 25px 25px 0 0; z-index: 1;}
.visit_tab .js-tab-type1 li{width: 49%;}
.visit_tab .js-tab-type1 li a{display: block; padding: 5% 0; text-align: center; font-size: 4.2vw; font-weight: bold; color: #000; background: #efefef; border-radius: 25px;}
.visit_tab .js-tab-type1 li.on a{color: #fff; background: #d11917;}
.visit_tab .js-tab-type1-con{padding-bottom: 5%;}

/* con08 */
.con08{padding-bottom: 10%; background: #000;}
.con08 .bx-wrapper .bx-pager{bottom: 0;}
.con08 .bx-wrapper .bx-pager.bx-default-pager a{background: #3d3a3a;}
.con08 .bx-wrapper .bx-pager.bx-default-pager a.active{width: 20px; background: #ffab42;}

/* 플로팅 배너 관리자단 연동 */
.bt_ban { position:fixed; bottom:0; left:50%; transform: translateX(-50%); width:100%; max-width: 640px; z-index: 9; background-color: #000;}