@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Aggravo';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroB.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

/* 바텀배너 */
.bottom_banner{
    position: fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index: 100;
    background-color:#317cf9;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
    padding:20px;
    font-size:22px;
    font-weight: 700;
    text-align: center;
}
.bottom_banner h4{
    color:#fff;
}
.bottom_banner h4 span{
    color:#84f5de;
}
.arrow_down{
    animation: arrowDown 2.8s infinite;
}
@keyframes arrowDown{
    0%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(10px);
    }
}
/* 윙배너 */
.wing_banner{
    position: fixed;
    top: 30%;
    right: 0;
    z-index: 100;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.25));
}

.wing_banner_item{
    background-color:#84f5de;
    padding:20px;
    text-align: center;
    font-size:22px;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom:10px;
    border-radius: 30px 0 0 30px;
}
.wing_banner_item a{
    color:#fff;
    font-weight: 700;
    font-size:18px;
    background-color:#212121;
    padding:10px 20px;
    border-radius: 50px;
    display:inline-block;
    margin-top:10px;
    width:114px;
}

.wing_banner_item_2{
    color:#fff;
    border:1px solid #84f5de;
    background:linear-gradient(to right, #414141, #010101);
}

.wing_banner_item_2 a{
    color:#212121;
    background-color:#84f5de;
}
.wing_banner_item_2_1{
    color:#fff;
}
.wing_banner_item_2 hr{
    border-bottom:1px solid #84f5de;
    margin:20px 0;
}

.wrap_public *{
    box-sizing: border-box;
}


.public_blue{
    color:#4188fe;
}

p{
    font-size:18px;
    font-family: 'Pretendard';
    font-weight: 300;
    line-height: 1.3;
}

h2{
    font-size:60px;
    font-family: 'Aggravo';
    font-weight: 700;
    line-height: 1.3;
}

h3{
    font-size:40px;
    font-family: 'GMarketSans';
    font-weight: 700;
    line-height: 1.5;
}

h3 strong{
    border-bottom:3px solid #317cf9;
}

h5{
    font-size:35px;
    font-family: 'GMarketSans';
    font-weight: 500;
}

h6{
    font-size:22px;
    font-family: 'Pretendard';
    font-weight: 700;
}

h7{
    font-size:18px;
    font-family: 'GMarketSans';
    font-weight: 500;
}
section{
    padding:130px 0;
}

.sub01_p{
    font-size:22px;
    font-weight:500;
    margin:20px 0 14px 0;
}

.sub02_p{
    font-size:20px;
    color:#666;
    line-height:1.4;
}

/* 비주얼배너  */
.visual {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.visual > video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.visual::before {
    content: "";
    position: absolute;
    inset: 0;             
    background: rgba(0, 0, 0, 0.4); 
    z-index: 1;
    pointer-events: none;  
}

.visual .visual-inner {
    position: relative;
    z-index: 2;
    color: #fff ;
    text-align: center;
    padding:120px 0;
}
.visual .visual-inner h6{
    font-size:40px;
    line-height: 1.3;
    padding-bottom:40px;
}
.visual .visual-inner h2{
    color:#fff;
    font-size:100px;
    padding-top:40px;
}

.visual_text_wrap{
    border:1px solid #eee;
    box-shadow: inset 0 0 10px 0 rgba(0,0,0,0.1);
    background:rgba(0,0,0,0.6);
    padding:20px 50px;
    border-radius: 10px;
    margin:0 auto;
    text-align: center;
    margin-top:50px;
    display:inline-block;
}
.visual_text_wrap p{
    color:#fff;
    font-size:25px;
    line-height: 1.7;
}
.visual_text_wrap p:last-child{
    font-size:30px;
    font-weight: 700;
}

.underscore h2{
    text-align: center;
}


/* 공용 혜택 메인 타이포 */
.benefit_box_item_content{
    margin-bottom:50px;
    margin-top:30px;
}
.benefit_box_item_content span{
    font-size:30px;
    font-family: 'Pretendard';
    font-weight: 500;
    color:#808080;
}

/* 혜택1 */

#section_01{
  scroll-margin-top: 120px; 
  background-color:#f0f6ff;
}

.section_01 .public_01 .underscore{
    position: relative;
}

.wrap_benefit{
    border:1px solid #317cf9;
    padding:70px 20px;
    border-radius: 15px;
    text-align: center;
    position: relative;
    background-color:#fff;
    width:900px;
    margin:30px auto;
    overflow: hidden;
}
.wrap_benefit_02{
    padding:30px 0 70px 0;
}
.benefit_box_item_title{
    width:100%;
    background-color:#317cf9;
    padding:10px 20px;
    margin-bottom: 10px;
    display: inline-block;
    position: absolute;
    top:0;
    left:0;
}
.benefit_box_item_title h6{
    color:#fff;
}
.benefit_box_item_desc{
    margin-top:40px;
    display:flex;
    justify-content: space-around;
    padding:0 40px;
}
.benefit_box_item_desc_img{
    width:55%;
    position: relative;
}
.benefit_box_item_desc_img i{
    position: absolute;
    left: 35%;
    top: 45%;
    transform: translate(-50%,-50%);
    font-size:54px;
    color:#fff;
}
.benefit_box_item_desc_item{
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content: center;
    background-color:#fff;
    padding:30px;
    border-radius: 10px;
    box-shadow: 0 10px 10px -5px rgba(0,0,0,0.1);
    border:1px solid #eee;
    width:45%;
    /* 애니메이션 적용 */
    animation: benefitFloat 2.8s ease-in-out infinite;
}

@keyframes benefitFloat {
    0% {
        transform: translateY(0);
        box-shadow: 0 10px 10px -5px rgba(0,0,0,0.12);
    }
    50% {
        transform: translateY(-9px);
        box-shadow: 0 18px 22px -10px rgba(0,0,0,0.18);
    }
    100% {
        transform: translateY(0);
        box-shadow: 0 10px 10px -5px rgba(0,0,0,0.12);
    }
}



.benefit_box_item_desc_item p{
    line-height: 1.5;
    padding-top:20px;
}
.benefit_box_flex{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.benefit_box_flex img{
    height: 50px;
    width: auto;
}
.benefit_box_flex p{
    padding-top:0;
    padding-left:15px;
    font-weight: 600;
    font-size:20px;
}
/* 폭죽 */
#firework-container{
    position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;z-index:10;
}

/* 혜택2 */
.benefit_classroom_item{
    width:100%;
}
.benefit_classroom_item img{
    width:100%;
    height:150px;
    border-radius:8px;
}

.sub_classroom_title{
    margin-top:7px;
    font-weight:600;
    background:#121312;
    color:#fff;
    display:inline-block;
    padding:3px 18px;
    font-size:15px;
    border-radius:10px;
}
.benefit_facility_desc_section {
    display: flex;
    gap: 26px;
    margin: 38px auto 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}

.benefit_facility_desc_item {
    width:80%;
    display: flex;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
}

.benefit_facility_desc_img {
    width: 53%;
    object-fit: cover;
}

.benefit_facility_desc_text {
    padding: 40px 18px;
    display: flex;
    flex-direction: column;
    text-align: left;
}

.benefit_facility_desc_text h6 {
    margin-bottom: 8px;
    line-height: 1.5;
}

.benefit_facility_desc_text p {
    line-height: 1.6;
}

/* 사진들 나열 */
.benefit_classroom_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* 혜택3 */
#section_03{
    background-color:#f0f6ff;
}

#section_03 .benefit_box_item_desc{
    display:flex;
    justify-content: center;
}

#section_03 .benefit_box_item_desc_item_3{
    text-align: center;
    background-color:#317cf9;
    border-radius: 10px;
    overflow: hidden;
    border:6px solid #317cf9;
}


#section_03 .benefit_box_item_desc_item_3 h6{
    font-weight:700;
    background-color:#317cf9;
    display:inline-block;
    margin-bottom:20px;
    width:100%;
    color:#fff;
    padding-top: 14px;
}

#section_03 .benefit_box_item_desc_item_3 h7{
    font-weight:700;
}

#section_03 .benefit_box_item_desc_item_3 p{
    line-height:1.5;
    padding-top:10px;
}

#section_03 .benefit_facility_desc_text_3{
    padding:15px;
    background-color:#fff;
}
#section_03 .benefit_facility_desc_text_3 img{
    width:100%; 
    max-height:200px;
    margin-bottom:20px;
}

.plus_sign{
    width:10%; display:flex; align-items:center; justify-content:center;
}

/* 내일배움카드만 */
#section_04{
    background:url('https://image.engineerlab.co.kr/data/acad/engr/promotion/2025/electicity/bg.png') 
    no-repeat center center;
    overflow: hidden;
    position: relative;
    height:1100px;
}

#section_04 .underscore h2{
    color:#fff;
    font-size:55px;
    line-height: 1.5;
}
#section_04 .underscore h2 span{
    background-color:#fff;
    color:#317cf9;
    padding:5px 10px;
    border-radius: 5px;
}

#section_04 .item_img{
    position: absolute;
    bottom:-30px;
    left:50%;
    transform: translateX(-50%);
}

.section_04_text{
    position: absolute;
    bottom:10%;
    left:50%;
    transform: translateX(-50%);
    font-size:30px;
    font-weight: 700;;
    text-align: center;
    padding:0 20px;
    background-color:#fff;
    border-radius: 10px;
    padding:10px 20px;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
    border:1px solid #eee;
}
.section_04_text h5{
    color:#317cf9;
    font-weight: 700;
}

/* 런칭혜택 */
#section_05{
    position: relative;
}

.apply.counsel.grant.wrap{
    position: relative;
}

#section_05 .countdown_wrap{
    position: absolute;
    top:-152px;
    right:0;
    z-index: 10;
}

.countdown_item_wrap{
    position:relative;
    width:250px;
}

.countdown_button_wrap{
    text-align: center;
}
#countdown-timer{
    position:absolute; top:65%; left:50%; 
    transform:translate(-50%,-60%); 
    font-size:46px; font-family:'Roboto Mono','Consolas','monospace'; 
    color:#317cf9; font-weight:900;
    z-index:2;
}
.countdown_button_wrap button{
    background:#000; color:#fff; 
    border-radius:24px; font-size:20px; font-weight:700; 
    padding:8px 38px; border:none; box-shadow:0 3px 16px #ccc; cursor:default;
}

.content div.sub_cont{
    width:100%;
    max-width:100%;
}
.pop_alert{
    box-shadow:0 0 10px 0 rgba(0,0,0,0.1);
}