@charset "utf-8";

input:focus{outline:none;box-shadow:none;}
input,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);}

/*bng class common*/
.checkbox_group { display:flex;flex-wrap:wrap;gap:15px 0;}
.checkbox_group .group{display:flex;width:100%;gap:4px 2px;flex-wrap:wrap}
.checkbox_item { position:relative;display:inline-block;}
.checkbox_item input[type="checkbox"] { display:none;}
.checkbox_label { display:inline-block;padding:2px 10px;background-color:#F3F3F3;border-radius:20px;cursor:pointer;font-size:14px;color:#555;transition:all 0.2s ease;user-select:none;}
.checkbox_item input[type="checkbox"]:checked + .checkbox_label { background-color:#444;color:#fff;}

.class_channels{margin-bottom:20px;}
.class_channels h4{font-size:16px;font-weight:bold;color:#333;margin:0 0 10px 0;}
.channel_links{display:flex;flex-wrap:wrap;gap:6px;}
.channel_link{display:inline-block;width:36px;height:36px;border-radius:50%;text-indent:-9999px;background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_channel_v2.svg') no-repeat 50% 50%;transition:all 0.2s ease;}
.channel_link.instagram{background-position:-36px 50%}
.channel_link.kakao{background-position:-72px 50%}
.channel_link.blog{background-position:-108px 50%}
.channel_link.homepage{background-position:0 50%}

.contact_item{position:relative;display:flex;align-items:flex-start;font-size:16px;}
.contact_item .contact_label{width:30px;height:22px;font-weight:700;color:#333;line-height:30px;}
.contact_item .contact_value{flex:1;color:#000;font-size:14px;line-height:22px;word-break:keep-all;-webkit-touch-callout:none;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;text-decoration:none;}
.contact_item .contact_value .contact_phone{-webkit-touch-callout:none;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:inherit;text-decoration:none;color:#000 !important;line-height:14px;vertical-align:middle;line-height:22px;}
.contact_item .btn_copy{display:inline-block;padding:6px 12px 5px;margin-left:5px;background:#666;color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:11px;}
.contact_label.addr{background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_address.svg') no-repeat 0 3px / 14px auto;}
.contact_label.phone{background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_phone.svg') no-repeat 0 3px / 14px auto;}
.contact_label.sns{height:36px;background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_sns.svg') no-repeat 0 50% / 18px auto;}

.toast_phone{position:absolute;top:0;left:30px;opacity:0;display:inline-block;width:210px;padding:0 12px;background:#333;color:#fff;font-size:13px;border-radius:14px;pointer-events:none;box-sizing:border-box;text-align:center;}
.toast_phone.show{animation:fadeIn 0.3s forwards;}
.toast_phone.hide{animation:fadeOut 0.3s forwards;}
@keyframes fadeIn{0%{opacity:0;transform:translateY(5px);}100%{opacity:1;transform:translateY(0);}}
@keyframes fadeOut{0%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(5px);}}
/**/

.bng_class{
    padding-right:env(safe-area-inset-right);
    padding-left:env(safe-area-inset-left);
}
.bng_class h1{padding:20px 0;font-size:18px;text-align:center;font-weight:700;color:#000}


.banner_container{position:relative;}

.btn_position{position:absolute;right:calc(env(safe-area-inset-right) + 20px);bottom:115px;z-index:99;display:inline-block;width:40px;height:40px;border:1px solid #E5E5E5;border-radius:6px;box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, .2);background:#fff url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_position_on.svg') no-repeat 50% 50% / 20px auto;}
.btn_position.location_denied{background:#fff url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_position.svg') no-repeat 50% 50% / 20px auto;}
@media (orientation:landscape) and (max-height:400px){
	.btn_position{display:none!important;}
}
.banner_container .swiper_nav{position:absolute;left:50%;bottom:-32px;z-index:100;display:inline-flex;height:24px;justify-content:center;padding:4px 0;border-radius:12px;background:rgba(0, 0, 0, .5);transform:translateX(-50%);box-sizing:border-box;}
.banner_container .swiper_nav .swiper-button-prev,
.banner_container .swiper_nav .swiper-button-next{position:static;display:inline-block;width:36px;height:100%;margin-top:0;background-color:transparent;border:0 none}
.banner_container .swiper_nav .swiper-button-prev:after,
.banner_container .swiper_nav .swiper-button-next:after{display:none;}
.banner_container .swiper_nav .swiper-button-prev{border-right:1px solid rgba(255, 255, 255, .43);}
.banner_wrap{position:relative;position:absolute;left:20px;right:20px;top:20px;z-index:100;width:calc(100% - 40px);box-sizing:border-box;transition:opacity 0.2s ease-out;}
.banner_wrap.closing{opacity:0;}
.banner_slide{overflow:hidden;width:100%;border-radius:28px;transition:transform 0.3s ease-out, opacity 0.3s ease-out;box-shadow:0px 0px 10px 3px rgba(0, 0, 0, .2)}
.banner_wrap .swiper-slide{height:194px;padding:30px;background:url('https://pic.neungyule.com/nebuildandgrow/mall/mobile/img/ico/ico_arr.svg') no-repeat left 30px bottom 30px;box-sizing:border-box;}
.banner_wrap .swiper-slide .bnr_txt{opacity:0.2;transform:translateY(15px);transition:opacity 0.2s ease-out, transform 0.4s ease-out;}
.banner_wrap .swiper-slide .badge{display:inline-block;padding:4px 12px;font-size:12px;color:#fff;font-weight:700;background:#000;border-radius:15px}
.banner_wrap .swiper-slide .tit{padding:8px 0 0;margin-bottom:12px;font-size:24px;line-height:30px;font-weight:800;color:#000;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
.banner_wrap .swiper-slide .txt_sub{color:rgba(0, 0, 0, .8)}
.banner_wrap .swiper-slide .addr{margin-top:10px;text-align:right;color:#343434;}
.banner_wrap .swiper-slide .addr strong{font-weight:700;}
.banner_wrap .btn_close{position:absolute;right:8px;top:8px;z-index:1;display:inline-block;width:40px;height:40px;background:url('https://pic.neungyule.com/nebuildandgrow/mall/mobile/img/ico/ico_x.svg') no-repeat 50% 50% / 14px auto;border:0 none}
.banner_wrap .swiper-slide.swiper-slide-active .bnr_txt{opacity:1;transform:translateY(0)}

.map_container{position:fixed;left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:0;z-index:100;/*width:100%;*/height:85px;padding:25px 0 0;background:#fff;border-radius: 15px 15px 0 0;box-sizing:border-box;/*transition:height 0.3s ease-out, transform 0.3s ease-out;*/display:flex;flex-direction:column;box-shadow:0px 0px 10px 3px rgba(0, 0, 0, .16);/*padding-bottom:env(safe-area-inset-bottom);*/transform:translateY(calc(100% - 85px));}
.map_container.view_100{height:calc(100dvh);top:env(safe-area-inset-top);/*bottom:env(safe-area-inset-bottom);*/bottom:0;padding-top:25px;animation:slideUpFromBottom 0.3s ease-out forwards;border-radius:0}
@keyframes slideUpFromBottom{
	from{transform:translateY(100%);}
	to{transform:translateY(0);}
}
.map_container.view_50{height:calc(50vh - env(safe-area-inset-bottom));height:calc(50dvh - env(safe-area-inset-bottom));bottom:env(safe-area-inset-bottom);transform:translateY(0);}
.map{width:100%;height:calc(100dvh - 60px);}

.map_container.view_50 .search_box,
.map_container.view_100 .search_box{display:inline-flex;}

.map_container .search_option{position:relative;padding:0 20px 15px;margin-bottom:6px;border-bottom:1px solid #F2F2F2;box-sizing:border-box;}
.map_container .search_option:after{content:'';position:absolute;left:0;bottom:-7px;display:block;width:100%;height:6px;background-color:#F9F9F9}
.map_container .search_option .Select li{padding:5px 0 5px 10px;font-size:14px}

/* 상단 핸들 바 */
.map_container .map_handle{position:absolute;top:0;left:0;display:block;width:100%;height:25px;cursor:pointer;border:0 none;background:#fff;text-indent:-9999px;border-radius: 15px 15px 0 0;}
.map_container .map_handle:after{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);display:inline-block;width:34px;height:3px;background:rgba(0, 0, 0, .45);border-radius:3px;}

.map_search{display:flex;gap:6px;}
.map_search .st_select:first-child{width:120px;}
.map_search .st_select:last-child{flex:1;}
.map_search .st_select p.pl10{border-color:#ddd;border-radius:5px;}
.map_search .st_select .select_input{height:40px;line-height:40px;}
.map_search .st_select .button-1{height:40px}
.map_search .st_select .Select{top:39px;}

/* class_selector와 class_list 스크롤 설정 */
.map_container .class_selector{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.map_container .class_list{flex:1;overflow-y:auto;overflow-x:hidden;height:100%;box-sizing:border-box;}
.map_container.view_100 .class_list{padding-bottom:65px;}
.map_container .class_list .list_more{padding:15px 20px 20px;}
.map_container .class_list .list_more button{width:100%;height:50px;line-height:50px;background:#fff;color:#333;border:0 none;border-radius:6px;border:1px solid #ddd}
.map_container .class_selector .btn_go_map{animation:slideUp 0.5s ease-out forwards;}
@keyframes slideUp{
	from{transform:translate(-50%, 100%);opacity:0;}
	to{transform:translate(-50%,0);opacity:1;}
}

 /* layer_pop_container */
 .layer_pop_container{display:none;}
.layer_pop_container .overlay{position:fixed;top:0;left:0;z-index:1001;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);}
.layer_pop_container .layer{overflow:auto;position:absolute;left:50%;top:50%;padding:30px 35px 25px;background-color:#fff;width:100%;max-width:85%;max-height:80%;border-radius:10px;text-align:center;transform:translate(-50%, -50%);box-sizing:border-box;}
.layer_pop_container .pop_tit{margin-bottom:15px;color:#444;font-weight:700;font-size:18px;line-height:1.4}
.layer_pop_container .pop_tit strong{font-weight:700;color:#3455D5}
.layer_pop_container .pop_cont p{line-height:1.7;color:#444;font-size:14px;word-break:keep-all;}
.layer_pop_container .pop_cont p strong{color:#7747B5;font-weight:900}
.layer_pop_container .btn{display:inline-block;min-width:120px;margin-top:20px;padding:15px 8px;border-radius:8px;text-align:center;border:0 none;background-color:#313131;font-size:14px;font-weight:700;color:#fff !important;box-sizing:border-box;}
.layer_pop_container .btn_close{position:absolute;top:15px;right:15px;display:inline-block;width:24px;height:24px;cursor:pointer;text-indent:-9999px;background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/lms/btn_close.svg') no-repeat 50% 50% / 100% auto;border:none;}
 
@media (orientation: landscape){
	.map_container.view_50{height:calc(70vh - env(safe-area-inset-bottom));height:calc(70dvh - env(safe-area-inset-bottom));}
}


/****************/
.snb{position:relative;display:flex;padding:0 6px;}
.snb li{padding:0 14px;}
.snb li a{position:relative;display:block;line-height:40px;height:40px;font-size:13px;color:#ABABAB;text-align:center;font-weight:700;}
.snb li.on a{color:#7747B5;}
.snb li.on a::after{content:'';display:inline-block;position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background-color:#BFBFBF;z-index:10;}
.snb.has_line{margin-bottom:8px;border-bottom:0 none}
.snb.has_line:after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:8px;background:#F9F9F9;border-top:1px solid #F2F2F2;border-bottom:1px solid #F2F2F2;}
.snb.has_line li.on a::after{bottom:2px;}


.membership_list{border-top:1px solid #D5D5D5}
.membership_list > li{padding:16px;border-bottom:1px solid #D5D5D5;}
.membership_list > li > a{display:block;}
.membership_list .title{display:block;font-size:16px;line-height:22px;color:#646464;padding:6px 0;word-break: keep-all;}
.membership_list .date{display:block;font-size:11px;line-height:12px;color:#999;}
.membership_list .ico{display:inline-block;font-size:12px;font-weight:700}
.membership_list .ico{display:inline-block;width:62px;height:20px;line-height:20px;text-align:center}
.membership_list .state_wait{background-color:#FAA731;color:#242424}
.membership_list .state_ok{background-color:#7747B5;color:#fff;}
.membership_list .state_cancel{background-color:#CCCCCC;color:#242424}

/* Search Options Checkbox Styles */
.search_options {overflow-x:auto;flex:1;}
.search_options h4 { margin:0 0 10px 0;font-size:14px;font-weight:bold;color:#333;}

.search_box{display:none;position:relative;/*display:inline-flex;*/align-items:center;width:100%;height:48px;margin-top:8px;background:#F2F2F2;border:2px solid #EEEEEE;border-radius:5px;padding:0 20px;box-sizing:border-box;}
.search_box input{flex:1;max-width:calc(100% - 52px);padding-right:10px;border:none;outline:none;font-size:16px;color:#000;background:transparent;}
.search_box input::placeholder{color:#999;font-size:15px;font-weight:700}
.search_box .clear_btn{display:none;width:16px;height:16px;border:none;background:#969696 url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_x.svg') no-repeat 50% 50% / 8px auto;color:#fff;text-indent:-9999px;border-radius:50%;cursor:pointer;margin-right:10px;flex-shrink:0}
.search_box .search_btn{width:26px;height:26px;border:none;color:#000;background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_search.svg') no-repeat 50% 50% / 20px auto;text-indent:-9999px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;background-size:20px auto;flex-shrink:0}

.map_container .map_wrap {overflow:hidden;position:relative;display:flex;height:785px;border-top:0 none}
.map_container .map{position:absolute;top:0;left:0;width:100%;height:100%}

.no_data{display:flex;padding-top:110px;align-items:center;justify-content:center;}
.no_data p{padding-top:65px;font-size:16px;font-weight:700;color:#969696;letter-spacing:-.05em;line-height:1.4;text-align:center;background:url('https://pic.neungyule.com/nebuildandgrow/mall/img/bngclass/ico_alert.svg') no-repeat 50% 0 / 48px auto;}

.col_list{overflow-y:auto;height:100%;}
.col_list::-webkit-scrollbar{width:6px;}
.col_list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px;}
.col_list::-webkit-scrollbar-thumb{background:#E5E5E5;border-radius:3px;}
.col_list::-webkit-scrollbar-thumb:hover{background:#a8a8a8;}
.list_item{width:100%;padding:12px 0;cursor:pointer;font-size:16px;text-align:center;color:#000;letter-spacing:-.03em;transition:all 0.2s ease;box-sizing:border-box;}
.list_item:not(.no_data):hover,
.list_item:not(.no_data).active{background:#F1F1F1;font-weight:700}
.list_item.no_data{pointer-events:none}

.class_selector.show{display:block;}

.swiper_btn_all.active .swiper-wrapper .swiper-slide{margin-right:2px;margin-bottom:4px;}
.cate_choice .cate_list label{padding:6px 12px}
.cate_list{padding-right:30px;}
.cate_list.active .content-slider br+.swiper-slide{margin-top:8px}


.class_selector{overflow-y:auto;height:100%;border-top:1px solid #F2F2F2}
.class_selector .btn_go_map{position:absolute;bottom:20px;left:50%;z-index:1;display:inline-block;height:48px;padding:0 34px;border:none;background:#7747B5;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.05em;line-height:1.4;cursor:pointer;border-radius:25px;transform:translateX(-50%);}
.map_container:not(.view_100) .btn_go_map{display:none}
.class_list{height:calc(100% - 50px)}
.class_list .class_item{overflow:hidden;border-bottom:1px solid #f0f0f0;transition:all 0.2s ease;}
.class_list .class_item.active{background:#F2E8FF;}
.class_list .class_item:last-child{border-bottom:none;}
.class_list .class_item > a{display:block;height:100%;padding:25px 20px;box-sizing:border-box;}
.class_list .class_item .class_name{display:flex;margin-bottom:12px;font-size:20px;font-weight:bold;color:#000;letter-spacing:-.05em;line-height:1.4;box-sizing:border-box;}
.class_list .class_item .class_name.highlight{color:#7747B5;}
.class_list .class_item .class_name svg{margin:5px 0 0 5px;flex-shrink:0}
.class_list .class_item .class_desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:14px;font-weight:bold;color:#000;letter-spacing:-.05em;line-height:1.4;white-space:normal;word-break:break-word;}
.class_list .class_item .class_images{overflow:hidden;position:relative;display:inline-flex;width:auto;height:100px;gap:2px;box-sizing:border-box;}


.image_swiper{display:inline-flex;width:auto;height:100%;}
.image_swiper .swiper-slide{overflow:hidden;width:100px !important;margin-right:2px;background:#e6e6e6;}
.image_swiper .swiper-slide:first-child{border-radius:12px 0 0 12px}
.image_swiper .swiper-slide:last-child{border-radius:0 12px 12px 0}
.image_swiper .swiper-slide:only-child{border-radius:12px}
.image_swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;}

.class_detail{overflow-y:auto;transition:transform 0.5s ease;}
.class_detail.show{display:block;transform:translateX(0);}
.class_detail .class_info{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid #eee;}
.class_detail .class_info .name_box{display:flex;margin-bottom:15px;flex-wrap:wrap;gap:5px 18px;align-items:flex-end;}
.class_detail .class_info .name_box .detail_class_name{font-size:30px;font-weight:700;color:#000;letter-spacing:-.05em;}
.class_detail .class_info .name_box .class_location{font-size:20px;color:#000;letter-spacing:-.05em;line-height:1.2;font-weight:700;}
.class_detail .class_info .name_box .options{display:flex;margin-top:15px;align-items:center;gap:6px;}

.class_description{font-size:14px;color:#000;line-height:24px;}
.class_description img{display:inline-block;max-width:100%;margin:12px 0}


/*pop_promotion_view / class_view*/
.pop_promotion h1.h1_bng{padding:20px;text-align:center;font-size:18px;font-weight:700;color:#000}
.pop_promotion h1.h1_class{padding-top:30px;text-align:left;font-size:28px;font-weight:900;color:#000;letter-spacing:-.05em;line-height:1.2;word-break:break-all}
.pop_promotion .visual{padding:28px 20px;text-align:center;background-color:#D8F2EF}
.pop_promotion .visual .badge {display:inline-block;margin-bottom:8px;padding:5px 12px;border-radius:20px;font-size:12px;letter-spacing:-0.02em;font-weight:700;color:#fff;background:#000}
.pop_promotion .visual .tit {padding:0;margin-bottom:15px;font-size:24px;font-weight:900;color:#000;line-height:30px;word-break:keep-all}
.pop_promotion .visual .txt_sub {font-weight:700;font-size:17px;color:rgba(0, 0, 0, 0.8);}
.pop_promotion .visual .addr{margin-top:15px;font-size:11px;}
.pop_promotion .visual .addr span{display:inline-block;color:#343434;font-size:12px;line-height:1;font-weight:700;}
.pop_promotion .visual .addr span:first-child{font-weight:900;margin-right:5px;}
.pop_promotion .content{/*padding:40px 20px 100px*/padding:40px 20px 40px}
.pop_promotion .contact_col{position:relative;display:flex;gap:24px;padding:25px 30px;justify-content:center;flex-direction:column;border-bottom:1px solid #F2F2F2;box-sizing:border-box}
.pop_promotion .contact_col:after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:8px;background:#F9F9F9;border-top:1px solid #F2F2F2;border-bottom:1px solid #F2F2F2;}
.pop_promotion .content .content_inner{display:flex;flex-direction:column;gap:30px;text-align:center;font-size:14px;line-height:1.75;letter-spacing:-0.02em;color:#000}
.pop_promotion .content .detail_thumbnails{display:flex;flex-direction:column;gap:12px;}
.pop_promotion .content img{max-width:100%}
.pop_promotion .content_text{white-space:pre-wrap;}
.pop_promotion .content_link a{display:block;width:75%;margin:0 auto;padding:10px 10px;background-color:#000;border-radius:40px;color:#fff;font-size:16px;word-break:keep-all;box-sizing:border-box;}
.pop_promotion .content_subtitle h4{font-size:20px;font-weight:700}
.pop_promotion .content_youtube{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;}
.pop_promotion .content_youtube iframe{position:absolute;top:0;left:0;width:100%;height:100%;}
.pop_promotion footer{/*max-width:calc(100% - 40px);*/margin:40px auto 0;padding:50px 0;/*height:110px;align-items:center;*/text-align:center;border-top:1px solid #000;background-color:#fff;box-sizing:border-box;}
.pop_promotion footer p{margin-bottom:25px;font-size:12px;line-height:18px;color:#000;letter-spacing:-0.04em;word-break:keep-all}
.pop_promotion footer img{width:160px}
.pop_promotion .top_info{margin:0 auto 40px;border-bottom:1px solid #ddd}
.pop_promotion .top_info .main_txt{margin-top:30px;padding:30px 20px;color:#191919;font-size:18px;line-height:28px;font-weight:700;letter-spacing:-.03em;text-align:center;word-break:keep-all;border-top:1px solid #ddd}
.pop_promotion .labels{display:flex;/*padding:0 0 30px;*/gap:4px;flex-wrap:wrap;/*border-bottom:1px solid #ddd*/}
.pop_promotion .labels .label{display:inline-block;padding:5px 8px;font-size:12px;color:#000;background-color:#E9E9E9;border-radius:20px;}
.pop_promotion .btn_win_close{position:absolute;right:14px;top:14px;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0 none;background:none;cursor:pointer}
