/************************************************************************************************************************/
/* 홈페이지 최상단 - GNB메뉴까지 */
#header {position: relative; z-index: 100;}

/* 최상단 사이트 링크 및 SNS 링크 */
.top_link_wrap {position: relative; width: 100%; height: 40px; background: #e03a3e;}
.top_link {width: 100%; max-width: 1260px; margin: 0 auto; padding-left: 30px; padding-right: 30px;}
.top_link ul {display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center;}
.top_link ul li {height: 40px;} 
.top_link ul li a {font-size: 0.875rem; color: #fff; padding: 12px; line-height: 40px;}
.top_link ul li:hover {background: #fff;}
.top_link ul li:hover a {color: #e03a3e;}

/* 상단 로그인아웃 */
.top_loginout_wrap {position: relative; width: 100%; height: 40px; background: #fff; overflow: hidden;}
.top_loginout {width: 100%; max-width: 1260px; margin: 0 auto; padding-left: 30px; padding-right: 30px;}
.top_loginout ul {width: 100%; text-align: right;}
.top_loginout ul li {display: inline-block; margin-left: 20px;}
.top_loginout ul li a {display: inline-block; font-size: 0.875rem; line-height: 40px;}
.top_loginout ul li a:hover {color: #e03a3e;}
.top_loginout ul li span {font-size: 0.875rem;}

/* 상단 로고, 검색창 */
.top_main_wrap {position: relative; width: 100%; height: 100px;}
.top_main {
	width: 100%; max-width: 1260px; margin: 0 auto; padding-left: 30px; padding-right: 30px; 
	display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;
}
.top_main_lt {position: relative; width: 32%;}
.top_main_ct {position: relative; width: 33%;}
.top_main_rt {position: relative; width: 35%; text-align: right;}
.inp_search {width: 100%; max-width: 400px; height: 40px; border-radius: 20px; padding: 0 40px 0 20px; border: 2px solid #e03a3e;}
.inp_search_btn {
	position: absolute; top: 50%; right: 15px; margin-top: -10px; width: 20px; height: 20px; border: 0; overflow: hidden; 
	text-indent: -999em; background: url('/assets/images/icon/search_btn.png') 50% 50% no-repeat;
}
.top_main_lt img {position: relative; width: 100%; width: auto; max-height: 90px;}
.top_main_rt img {position: relative; top: 4px; width: 100%; max-width: 350px;}


/* 상단 우측 바로가기 고정 버튼 */
.dr_go_wrap {display: inline-block; position: absolute; top: 80px; right: 0; z-index: 999;}
.dr_go_wrap div {position: absolute; right: 0; width: 150px; height: 40px; border-radius: 5px;}
.dr_go_wrap div:nth-child(1) {top: 0px; background: #333;}
.dr_go_wrap div:nth-child(2) {top: 45px; background: #333;}
.dr_go_wrap .dr_go a {display: inline-block; width: 150px; line-height: 40px; color: #fff; text-align: center;}
.dr_go_wrap div:hover {width: 200px; background: #e03a3e; -webkit-transition: all .35s,; transition: all .35s;}

/***** GNB 메뉴 *****/
.main_menu_wrap {position: relative; width: 100%; height: 80px; z-index: 10;}
.main_menu_wrap::before, 
.main_menu_wrap::after {position: absolute; width: 100%; height: 1px; background-color: #eee; content: "";}
.main_menu_wrap::before {top: 0;}
.main_menu_wrap::after {top: 80px;}
.main_menu {width: 100%; max-width: 1260px; margin: 0 auto; padding-left: 30px; padding-right: 30px;}

/* GNB 메뉴 - 대분류(1depth) */
.main_ul {display: flex; flex-flow: row wrap; justify-content: space-around; align-items: center;}
.main_ul > li {position: relative;}
.main_ul > li > a {display: block; font-size: 1.125rem; font-weight: 600; padding: 25px 0px; white-space: nowrap;}
.main_ul > li > a:active, 
.main_ul > li > a:hover, 
.main_ul > li > a:focus {color: #e03a3e;}

.main_ul > li > a.active::before,
.main_ul > li > a:hover::before,
.main_ul > li > a:focus::before {left: 0%; opacity: 1; width: 100%;}

.main_ul > li > a.active::before, 
.main_ul > li > a::before {
	position: absolute; top: 0; left: 0; width: 0%; height: 2px; background-color: #e03a3e; 
	transition: all 0.35s; -webkit-transition: all 0.35s; opacity: 0; content: "";
}

/* GNB 메뉴 - 중분류(2depth) */
.sub_ul {
	display: block; z-index: 11; border: 1px solid #222;
	width: 200px; height: 0; position: absolute; top: 80px; left: 50%; opacity: 0; visibility: hidden;
	-webkit-transform: translateX(-50%); transform: translateX(-50%);
}
.sub_ul > li {position: relative; background: #fff;}
.sub_ul > li > a {
	display: block; font-size: 0.938rem; padding: 15px 5px; text-align: center; -webkit-transition: all .25s; transition: all .25s;
}
.sub_ul > li > a:active, 
.sub_ul > li > a:hover, 
.sub_ul > li > a:focus {background: #e03a3e; color: #fff;}
.main_ul > li:hover .sub_ul {height: auto; opacity: 1; visibility: visible;}
.main_ul > li:hover .sub_ul > li {display: block;}

/* GNB 메뉴 - 소분류(3depth) */
.sc_sub_ul {
	display: block; z-index: 11; border: 1px solid #222; 
	width: 200px; height: 0; position: absolute; top: -1px; left: 100%; opacity: 0; visibility: hidden;	
}
.sc_sub_ul > li {position: relative; background: #fff;}
.sc_sub_ul > li > a {
	display: block; font-size: 0.938rem; padding: 15px 5px; text-align: center; -webkit-transition: all .25s; transition: all .25s;
}
.sc_sub_ul > li > a:active, 
.sc_sub_ul > li > a:hover, 
.sc_sub_ul > li > a:focus {background: #e03a3e; color: #fff;}
.sub_ul > li:hover .sc_sub_ul {height: auto; opacity: 1; visibility: visible;}
.sub_ul > li:hover .sc_sub_ul > li {display: block;}

/* header - 모바일 메뉴 */
#m_container {position: relative;}
.m_menu_btn {display: none; position: fixed; top: 20px; left: 20px; z-index: 500; width: 45px; height: 45px; padding: 5px; background: #fff; border: 0;}
.m_menu_btn i {font-size: 2em;}
.m_menu_wrap {
	position: fixed; top: 0; left: -300px; z-index: 400; overflow: auto; width: 300px; height: 100%; padding: 60px; box-sizing: border-box;
    transition: left .25s ease-in-out; background-color: #fff;
}
.m_menu_wrap.on {left: 0;}
#dimmed {position: fixed; top: 0; left: 0; z-index: 300; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7);}
.m_menu_list {padding: 20px 0; border-bottom: 2px solid #e03a3e;}
.m_menu_list:last-child {border-bottom: none;}
.m_menu_list li a {display: block; width: 100%; padding: 5px 10px;}
.m_menu_list li a:hover {color: #e03a3e;}

/************************************************************************************************************************/
/***** 메인 full-width 슬라이드 swiper *****/
.main_slide {width: 100%; height: 400px; background: #fff;}
.main_slide .main_slide .swiper {width: 100%; height: 100%; margin-left: auto; margin-right: auto;}
.main_slide .swiper-slide a {
	text-align: center; font-size: 1.125rem; background: #fff;
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.main_slide .swiper-slide img {display: block; width: 100%; max-width: 1920px; height: 400px; object-fit: cover;}


/* 메인 슬라이드 하단 미니게시판 기본 설정 */
.mini_board_wrap {display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;}
.mini_board {position: relative; display: inline-block; height: auto;}
.mini_board:first-child {width: 49%;}
.mini_board:last-child {width: 49%;}

.mini_board_ttl_wrap {width: 100%; height: auto; padding: 5px 0 15px;}
.mini_board_ttl_wrap .more_btn {position: absolute; top: 3px; right: 0;}

.mini_board_list {padding: 10px 0; border-top: 1px solid #222; border-bottom: 1px solid #222;}
.mini_board_list ul li {margin: 4px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.mini_board_list ul li span {color: #999;}
.mini_board_list ul li a:hover {text-decoration: underline;}

/* 메인 미니게시판 우측 이벤트 배너 */
.main_evt_wrap {width: 100%; min-height: 240px;}
.main_evt {
	display: inline-block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;
}
.main_evt img {width: 100%;}


/* 메인 멀티 강좌 배너 Slick slider */
.slide_bnn_wrap {width: 100%; max-width: 1260px; margin:0 auto; padding-left: 30px; padding-right: 30px;}
.slide_bnn_wrap .slide_bnn {position: relative;}
.slide_bnn_wrap .slide_bnn > div {
	width: 96%; margin: 0 auto; min-height: 310px; border: 1px solid #eee; margin-bottom: 5px; overflow: hidden; transition: all 0.25s;
}
.slide_bnn_wrap .slide_bnn > div:hover {border: 1px solid #333; box-shadow: 2px 4px 6px #ddd;}
.slide_bnn_wrap .slide_bnn img {width: 100%; max-width: 300px; height: auto;}
.slide_bnn_wrap .slick-dots {display: none !important;}
.slide_bnn_wrap .slide_bnn p.txt_s {padding: 10px 10px 0; color: #e03a3e;}
.slide_bnn_wrap .slide_bnn p.txt_m {padding: 10px 10px 20px;}
.bnn_red_sticker, .bnn_blue_sticker {
	display: inline-block; position: absolute; width: auto; height: 30px; top: 1px; right: 11px; z-index: 13;
}
.bnn_red_sticker {background: #f00;}
.bnn_blue_sticker {background: #1766df;}
.bnn_red_sticker p, .bnn_blue_sticker p {
	display: inline-block; width: 100%; font-size: 0.875rem; font-weight: 600; color: #fff;
	padding: 5px 6px; letter-spacing: -0.5px; text-align: center;
}

/* 메인 590 배너 */
.main_bnn_wrap {display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;}
.main_bnn_wrap div {width: 590px; height: 150px;}

/* 메인 고객센터 바로가기 */
.main_cs_wrap {display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: stretch;}
.main_cs_wrap > div {
	position: relative; width: 25%; height: auto; padding: 25px; border: 2px solid #fff;
	background: linear-gradient(to bottom right, #fcfcfc, #f9f9f9, #e8eaed); text-align: center; border-radius: 10px; transition: all 0.25s;
}
.main_cs_wrap > div:hover {border: 2px solid #222;}
.main_cs_wrap img {position: relative; top: 15%;}
.main_cs_wrap p.txt_m {position: relative; top: 25%;}
.main_cs_wrap > div.main_cs_txt {background: #fff; margin-right: 0; text-align: left; border: none;}
.main_cs_wrap > div.main_cs_txt p.txt_2xl {color: #e03a3e; margin: 5px 0;}
.main_cs_wrap > div.main_cs_txt p.txt_m {position: relative; top: 0px;}

/* 메인 우측 하단 픽스 배너 */
.btm_rt_fix_bnn_wrap {position: fixed; display: inline-block; z-index: 1000;}
.btm_rt_fix_bnn {position: fixed; bottom: 0px; right: 0px; width: 250px; height: 340px;}
.btm_rt_fix_bnn_close {width: 250px; display: flex; flex-flow: row wrap; justify-content: flex-end; align-items: center; position: fixed; right: 0; bottom: 340px; z-index: 100; cursor: pointer; background: rgba(255,255,255, 0.9);}
.btm_rt_fix_bnn_close p {display: inline-block; padding-right: 5px; color: #222;}
.btm_rt_fix_bnn_close:hover p {color: #222;}
.btm_rt_fix_bnn_close img {display: inline-block; width: 20px; height: 20px;}

/* 메인 하단 와이드 픽스 배너 */
.btm_fix_bnn_wrap {position: fixed; display: inline-block; width: 100%; height: 130px; z-index: 999;}
.btm_fix_bnn {width: 100%; margin: 0 auto; height: 100px; text-align: center; position: fixed; bottom: 0px; right: 0px; background: linear-gradient(to right, #080923, #2d214b);}
.btm_fix_bnn img {position: relative; bottom: 30px;}
.btm_fix_bnn_close {display: inline-block; width: 25px; height: 25px; position: fixed; bottom: 105px; right: 5px; z-index: 100; cursor: pointer;}


/************************************************************************************************************************/
/***** 홈페이지 하단 - 푸터 *****/

#footer {position: relative; border-top: 1px solid #e8eaed;}
.footer_list ul {display: flex; flex-flow: row wrap; justify-content: flex-start; padding: 20px 0;}
.footer_list ul li {margin-right: 50px;}
.footer_list ul li a {font-size: 1.000rem;}
.footer_list ul li a:hover {text-decoration: underline;}
.footer_info ul {display: flex; flex-flow: row wrap; justify-content: flex-start;}
.footer_info ul li {margin-right: 10px; font-size: 0.875rem; color: #666;}
.footer_sns ul {display: flex; flex-flow: row wrap; justify-content: flex-start;}
.footer_sns ul li {margin-right: 20px; margin-bottom: 20px;}