@charset "utf-8";
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
 * date :2018-02-28
******************************************************** */
@import url("/css/font.css");
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:400,700|Rubik:300,400,500');
@font-face { font-family: 'CHONBUKL'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/CHONBUKL.woff') format('woff'); font-weight: normal; font-style: normal; }



/* layout */
body{-webkit-touch-callout:none;}
body, table, th, td, button, select {
	font-size:13px;
	color:#666;
	-webkit-text-size-adjust:none;
	font-family:'Rubik','Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
}
body { background-color:#fff; }
#wrap{width:100%; min-width:320px; background-color:#f6f6f6;}

/* 공통클래스 */
.area{margin:0px auto; padding:0 15px;}
.clearfix{*zoom:1;}
.clearfix:after{clear:both; display:block; content:"";}
.blind{overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}
.text-ellipsis{overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.trans200{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;-o-transition:all 0.2s;-ms-transition:all 0.2s;transition:all 0.2s}
.trans300{-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s}
.trans400{-webkit-transition:all 0.4s;-moz-transition:all 0.4s;-o-transition:all 0.4s;-ms-transition:all 0.4s;transition:all 0.4s}
.trans500{-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s}
.material-icons{line-height:inherit; color:inherit; vertical-align:middle;}
.font-noto{font-family:"Noto Sans KR", "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;}

/* skip NAV */
.cm-accessibility a { position:absolute; text-align:center; width:200px; display:block; background:#c52227; color:#fff; left:-9999px; }
.cm-accessibility a:hover { z-index:999999; margin-left:-100px; left:50%; }
.cm-accessibility a:focus { z-index:999999; margin-left:-100px; left:50%; }
.cm-accessibility a:active { z-index:999999; margin-left:-100px; left:50%; }

/* ******************  Header ********************** */
#header, #headerInner{height:60px; } /* 헤더 높이값 */
#header{position:relative;}
#headerInner{position:fixed; top:0px; left:0px; width:100%; z-index:99; background-color:#fff; border-bottom:1px solid #f2f2f2;}
#headerInner .logo{position:relative; padding:8px  0 0 15px;}
#headerInner .logo img{height:38px; vertical-align:top; }

/* -------- Header :: Util menu -------- */
.header-util-box{position:absolute; top:0px; right:15px; height:60px; margin-right:34px;}
.header-util-box ul li{float:left; line-height:60px; width:35px; text-align:center;}
.header-util-box ul li a i{font-size:24px; line-height:60px}
.header-util-box ul li.header-shuttle-bus a i{color:#023793;}
.header-util-box ul li.header-schedule a i{color:#404e67;}
/* -------- Header :: NAV OPEN BUTTON -------- */
.nav-open-btn{
	position:fixed; top:0; right:15px; z-index:9998; height:60px; width:30px; 
	transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-webkit-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);  
	-oz-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-ms-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
}
.nav-open-btn:focus{outline:none;}
.nav-open-btn .line{
	display:block; width:15px; height:2px; background-color:#999; margin: 3px auto;
	-webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
 }
.nav-open-btn.active .line:nth-child(2){opacity: 0;}
.nav-open-btn.active .line:nth-child(1){
  -webkit-transform: translateY(5px) rotate(45deg);
  -ms-transform: translateY(5px) rotate(45deg);
  -o-transform: translateY(5px) rotate(45deg);
  transform: translateY(5px) rotate(45deg);
}
.nav-open-btn.active .line:nth-child(3){
  -webkit-transform: translateY(-5px) rotate(-45deg);
  -ms-transform: translateY(-5px) rotate(-45deg);
  -o-transform: translateY(-5px) rotate(-45deg);
  transform: translateY(-5px) rotate(-45deg);
}

/* -------- Header :: Gnb Mobile -------- */
.gnb-bg{display:none; 	position:absolute; top:0; left:0; width:100%; height:100%; background-color:#000; opacity:0.6; filter:alpha(opacity=60); z-index:998;}
#gnbM{ 
	display:block; 
	overflow-y:auto; 
	position:fixed; 
	top:0px; 
	right:-90%; 
	width:90%; 
	height:100%;  
	background-color:#fff; 
	z-index:999; 
	transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-webkit-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);  
	-oz-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-ms-transition:all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);		/* gnb OPEN 속도 */
	visibility:hidden;
}
#gnbM.open{
	right:0px; 
	visibility:visible;
}
#gnbM #navigation{padding-bottom:128px;}	/* Header 높이값 */
.gnb-inner-box{height:100%; min-height:550px;}
/* GNB Mobile :: 1차 */
#gnbM #navigation > li{border-bottom:1px solid #ddd;}
#gnbM #navigation > li > a {position:relative; display:block; height:48px; line-height:48px; padding:0 20px; color:#222; font-size:16.5px; letter-spacing:-0.25px; font-weight:500;}
#gnbM #navigation > li.active > a{color:#023793;}
#gnbM #navigation > li.has-2dep > a{}
#gnbM #navigation > li.has-2dep.active > a{}
/* GNB Mobile :: 2차 */
#gnbM #navigation > li .gnb-2dep{display:none; background-color:#f5f5f5;}
#gnbM #navigation > li .gnb-2dep > li{border-top:1px solid #e9e9e9;}
#gnbM #navigation > li .gnb-2dep > li > a{display:block; height:48px; line-height:48px; padding:0 30px; color:#666; font-size:14px; }
/* GNB Mobile :: 3차 */
#gnbM #navigation > li .gnb-2dep > li > .gnb-3dep{display:none; padding:10px 20px; background-color:#aaa; box-shadow:inset 0px 3px 9px rgba(0, 0, 0, .3);}
#gnbM #navigation > li .gnb-2dep > li > .gnb-3dep > li > a{display:block; padding:8px 0; font-size:13px; color:#fff;}
#gnbM #navigation > li .gnb-2dep > li > .gnb-3dep > li > a:before{display:inline-block; content:"-"; margin-right:5px;}

/* -------- GNB :: 상단버튼 -------- */
#gnbTopContorols{height:60px; border-bottom:2px solid #023793}
#gnbTopContorols > ul{padding:15px 20px;}
#gnbTopContorols > ul li{float:left; margin-right:5px;}
#gnbTopContorols > ul a{display:block; min-width:70px; padding:0 5px; height:30px; line-height:30px; background-color:#222; text-align:center; color:#fff;}
#gnbTopContorols > ul a i{font-size:18px; margin-right:3px; vertical-align:middle; margin-top:-2px;}
#gnbTopContorols > ul a strong{display:inline-block; vertical-align:middle;font-weight:500; font-size:15px; letter-spacing:-0.3px;}


/* -------- GNB :: 하단 정보 -------- */
#gnbCustomerInfo{/* position:absolute; bottom:20px; left:20px; right:20px; */ position:relative; padding:20px;}
#gnbCustomerInfo .cs-time-box{margin-bottom:20px}
#gnbCustomerInfo .cs-time-box dt{color:#333; font-size:15px; letter-spacing:-0.5px; font-weight:500;}
#gnbCustomerInfo .cs-time-box dd{color:#666; font-size:14px; letter-spacing:-0.25px;}
#gnbCustomerInfo .cs-time-box dd p{margin-top:6px; position:relative; padding-left:8px}
#gnbCustomerInfo .cs-time-box dd p:before{position:absolute; top:6px; left:0px; width:2px; height:2px; background-color:#747474; content:"";}
#gnbCustomerInfo .cs-link-box{margin:0 -2%;}
#gnbCustomerInfo .cs-link-box li{float:left; width:46%; margin:0 2%;}
#gnbCustomerInfo .cs-link-box li a{height:31px; line-height:31px; display:block; border:1px solid #dfdfdf; text-align:center; color:#aaa; font-size:14px; letter-spacing:-0.25px;}
#gnbCustomerInfo .cs-link-box li a i{font-size:15px; position:relative; margin-right:3px; top:1px;}
/* gnb 닫기버튼이 메뉴와 같이 움직일경우에만 주석 해제 */
/* .nav-open-btn.active{right:82%; }
#gnb{max-width:none;} */

/* ******************  MyPage Bar ********************** */
#mypageFixedBar{position:fixed; bottom:0; left:0px; width:100%; height:55px; background-color:rgba(73,73,73,0.87); z-index:9; }

.index-warpper #mypageFixedBar{
	opacity:0;filter:Alpha(opacity=0);
	transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-webkit-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);  
	-oz-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-ms-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
	-ms-transform:translateY(60px) ;
	-o-transform:translateY(60px);
	-moz-transform: translateY(60px);
	-webkit-transform:translateY(60px) ;
	transform: translateY(60px);
}
.my_class-index-page #mypageFixedBar{
	opacity:0;filter:Alpha(opacity=0);
	transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-webkit-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);  
	-oz-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715); 
	-ms-transition:all 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
	-ms-transform:translateY(30px) ;
	-o-transform:translateY(30px);
	-moz-transform: translateY(30px);
	-webkit-transform:translateY(30px) ;
	transform: translateY(30px);
}
.index-warpper #mypageFixedBar.open,
.my_class-index-page #mypageFixedBar.open{
	opacity:1.0;filter:Alpha(opacity=100);
	-ms-transform:translateY(0) ;
	-o-transform:translateY(0);
	-moz-transform: translateY(0);
	-webkit-transform:translateY(0) ;
	transform: translateY(0); }
/* 메뉴 리스트 */
.my-page-menu-list-con{position:absolute; top:55px; left:0; right:0; background-color:#fff; border-bottom:1px solid #ccc}
.my-page-menu-list-con li{float:left; width:25%; position:relative;}
.my-page-menu-list-con li:before{position:absolute; top:50%; left:-1px; width:1px; height:10px; margin-top:-5px; background-color:#ccc; content:"";}
.my-page-menu-list-con li:first-child:before{display:none;}
.my-page-menu-list-con li a{display:block;  text-align:center; position:relative;}
.my-page-menu-list-con li a:after{position:absolute; bottom:-1px; left:0px; width:100%; height:2px; background-color:#023793; content:""; display:none;}
.my-page-menu-list-con li a .my-page-menu-tit{display:inline-block; position:relative; height:45px; line-height:48px; color:#999; font-size:11px; letter-spacing:-0.25px; font-weight:500; }
.my-page-menu-list-con li a .new-btn{position:absolute; top:50%; left:100%; width:10px; height:10px;  margin-top:-15px; margin-left:-1px;/* background-color:#dadf00; color:#494949;  font-size:10px; letter-spacing:-0.25px; font-weight:600; -webkit-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%; */ background:url(/images/icon/new_icon.png) no-repeat; background-size:10px 10px;}
.my-page-menu-list-con li.on a:after{display:block;}
.my-page-menu-list-con li.on a .my-page-menu-tit{color:#023793;}

/* 이름영역 */
.mypage-name-box{position:absolute; top:0px; left:0px; height:100%; width:100%; background-color:#023793;}
.mypage-name-box.sub-mypage-name-box{padding-right:55px; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
 box-sizing: border-box; }
.mypage-name-box .mypage-name-btn{display:block; line-height:55px; padding:0 15px; color:#fff; font-size:18px; font-weight:400;}
.mypage-name-box .mypage-name-btn strong{font-weight:400;}
.mypage-name-box .mypage-arrow{display:none; position:absolute; top:0; right:20px; color:#fff;  font-size:24px; }
.mypage-name-box .my-page-name-open .mypage-arrow{display:block;}
.mypage-name-box.sub-mypage-name-box .mypage-arrow{right:75px}
.mypage-name-box .mypage-arrow i{line-height:55px}
.mypage-list-con{display:none; position:absolute; bottom:55px; left:0px; width:100%; background-color:#023793; border-top:1px solid #e5e5e5; z-index:99}
.mypage-list-con li{border-bottom:1px solid #e5e5e5;}
.mypage-list-con li a{display:block; line-height:60px; padding:0 15px; background-color:#f3f3f3; font-size:15px; font-weight:400; color:#222;}
.mypage-list-con li a:hover{color:#023793;}
/* Close BTN */
#mypageFixedBar .prev-page-btn{position:absolute; top:10px; right:0px; width:55px; height:55px; text-align:center; line-height:55px; color:#fff; font-size:22px; margin-top:-10px; z-index:1; background-color:#222;}

/* 마이페이지 FIXED BAR */
.sub-page-wrapper #mypageFixedBar{/* position:static; */ position:absolute;  bottom:auto; }
.sub-page-wrapper  #mypageFixedBar .mypage-list-con{bottom:auto; top:55px; border-top:0; border-bottom:1px solid #e5e5e5}
.sub-page-wrapper  #mypageFixedBar .mypage-list-con li{border-bottom:0; border-top:1px solid #fff; }



/* ****************** FOOTER ********************** */
#footer{padding:15px 0 70px; background-color:#fff; border-top:1px solid #e5e5e5;}
#footer.footer-login{padding-bottom:100px;}
#footerInner{position:relative; }
.footer-left-con{float:left; }
.footer-right-con{float:right;}

/* -------- 푸터 :: 상단 -------- */
#footerTop{border-bottom:1px solid #e5e5e5; margin-bottom:15px; padding-bottom:15px; }
.footer-info-box{}
.footer-info-box dl{float:left; width:50%;  }
.footer-info-box dl:first-child{float:none; margin-left:0; width:100%; margin-bottom:14px;}
.footer-info-box dl dt,
.footer-info-box dl dd{display:inline-block; vertical-align:middle; font-size:12px; letter-spacing:-0.25px; color:#777;}
.footer-info-box dl dd a{color:#777}
.footer-info-box dl dt{width:65px;color:#777;}
.footer-info-box dl:last-child dt{width:50px}
/* Footer :: 푸터메뉴 */
.foot-menu{}
.footer-link{float:left;}
.footer-link li{float:left;margin-right:35px;}
.footer-link li a{display:block; color:#aaa; line-height:30px; font-size:13px;}
.footer-link li a b{color:#333; font-weight:500;}



/* Footer :: 왼쪽정보 */
.family-address{margin-bottom:15px}
.family-address p{color:#aaa; font-size:10px; line-height:20px; }
.family-address span{position:relative; display:inline-block; padding-left:18px}
.family-address span:before{position:absolute; top:4px; left:9px; width:1px; height:11px; background-color:#ddd; content:"";}
.family-address span.no-line{padding-left:0}
.family-address span.no-line:before{display:none;}
.family-address a{color:inherit}


/* Footer :: SNS 리스트 */
.sns-list-con{margin-bottom:15px;}
.sns-list-con li{float:left; margin-left:18px}
.sns-list-con li:first-child{margin-left:0}
.sns-list-con li a{color:#ccc; font-size:19px;}
.sns-list-con li a:hover{color:#333;}
.sns-list-con li.facebook a:hover{color:#4267b2;}
.sns-list-con li.insta a:hover{color:#5e4fc3;}
.sns-list-con li.naver a:hover{color:#00c23a;}
.sns-list-con li.kakao a:hover{color:#f8d600;}
.sns-list-con li.twt a:hover{color:#29a4da;}

/* Footer ::  패밀리사이트 및 pc버전 링크*/
.footer-bottom-buttons{margin:0 -1%;}
.footer-bottom-buttons .to-pc-btn{float:left; width:31.33%; margin:0 1%; height:30px; line-height:30px; font-size:12px; border:1px solid #e5e5e5; background-color:#fff; color:#aaa; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
 box-sizing: border-box; text-align:center;}
.family-site-box{/* position:absolute; top:20px; right:0;*/ float:left; position:relative; width:31.33%; text-align:center; letter-spacing:-0.25px;}
.family-site-box .family-site-open-btn{display:block; height:28px; line-height:28px; font-size:12px; border:1px solid #e5e5e5; background-color:#fff; color:#aaa; }
.family-site-box .family-site-open-btn i{position:absolute; right:8px; top:50%; margin-top:-10px; font-size:18px;}
.family-site-list{position:absolute; bottom:29px; left:0px; width:100%;  padding:10px 0;  background-color:#fff; border:1px solid #ddd; border-bottom:0;  z-index:11; display:none; box-sizing:border-box;}
.family-site-list a{display:block; padding:10px; color:#aaa; font-size:12px;}
.family-site-list a:hover{color:#023793; }

/* Footer :: 하단오른쪽 마크 */
.footer-right-con{text-align:right;}
.footer-right-con span{display:inline-block; vertical-align:middle; margin-left:20px;}
.footer-right-con span:first-child{margin-left:0}

/* ******************  서브 레이아웃 ********************** */

/* -------- Sub Layout :: 컨텐츠레이아웃 -------- */
#container{background-color:#fff;}
#middleArea{padding:25px 15px}
#container.my-page-container{padding:95px 15px 0; }
#container.my-page-container #content{padding-top:25px;}
#container.my-page-container #middleArea{padding:0;}

#contentInfoCon{padding-bottom:19px}
#contentInfoCon h3{color:#222; font-size:21px; font-weight:500;}
/* ****************** MODAL LAYERPOPUP ********************** */
/* modal layer */
.modal-fixed-pop-wrapper{display:none; overflow-y:scroll; overflow-x:hidden;  position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:9999; background:#000; background:rgba(0,0,0,0.8);}
.modal-fixed-pop-inner{position:absolute; /* display:table; */ width:100%; height:100%; text-align:center;}
.modal-inner-box{ position:relative; /* display:table-cell; vertical-align:middle; */}
.modal-loading{position:absolute; top:50%; left:50%; margin:-25px 0 0 -25px; z-index:10000;}
.modal-inner-content{text-align:left;}
.loading {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 8px solid rgba(255,255,255,.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
/* modal layer content */
.footer-modal-content{position:relative; width:96%; margin:20px auto; background-color:#fff;  }
.footer-modal-content h1{height:40px; line-height:37px; font-size:18px; font-weight:600; letter-spacing:-0.5px; text-align:center; padding:0; background-color:#023793; color:#fff;}
.modal-close-btn{position:absolute; top:-30px; right:0px; color:#fff; font-size:30px;}
.modal-close-btn i{font-size:inherit}
.modal-close-btn i:hover {color:#fff}
/* 개인정보, 이용약관 등 */
.footer-inner-box{padding:3%; }
.footer-inner{padding:2%; height:350px; overflow-y:auto; overflow-x:hidden; border:1px solid #ddd; }
/* 사이트맵 */
.sitemap-wrapper{padding:5%;}
.sitemap-wrapper > ul{overflow:hidden;}
.sitemap-wrapper > ul > li{float:left; width:20%; text-align:center;}	/* 메뉴 갯수에 맞게 %로 계산, 두줄로 들어갈 경우 height값 설정 */
.sitemap-wrapper.menu4 > ul > li{width:25%;}
.sitemap-wrapper.menu6 > ul > li{width:16.6%;}
.sitemap-wrapper.menu7 > ul > li{width:14.2%;}
.sitemap-wrapper > ul > li > h2{color:#191919; margin:0 2% 20px 2%; padding-bottom:20px; font-size:16px; border-bottom:1px solid #888; letter-spacing:-1.0px; margin-bottom:20px; font-weight:500;}
.sitemap-wrapper > ul > li .sitemap-2dep {padding:0 5%;}
.sitemap-wrapper > ul > li .sitemap-2dep a{display:block; padding:10px 0; color:#666; font-size:13px; font-weight:400; line-height:1.2em;}
.sitemap-wrapper > ul > li .sitemap-2dep a:hover{color:#000; text-decoration:underline;}


/* ******************  모바일 전용 레이어 인트로 팝업 ********************** */
.mobile-fixed-pop-wrapper{overflow-y:auto; position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:999999; opacity:1.0;filter:Alpha(opacity=100);}
.mobile-fixed-pop-inner{position:absolute; display:table; width:100%; height:100%; text-align:center; background:rgba(0,0,0,0.75); }
.mobile-fixed-pop-inner-box{ position:relative; display:table-cell; vertical-align:middle; top:0px;}
.mobile-fixed-img-con{display:inline-block; min-width:250px; max-width:92%; margin:4% auto; }
.mobile-popup-img{display:block;}
.mobile-popup-img img{max-width:100%; max-height:100%;}
.mobile-popup-btn-controls{overflow:hidden; text-align:center; background-color:#f2f2f2; border-top:1px solid #f2f2f2;}
.mobile-popup-btn-controls button{float:left; border:0; padding:0; margin:0px; background:none; width:50%; height:50px; background-color:#fff; font-size:14px; color:#333; cursor:pointer;}
.mobile-popup-btn-controls .today-close-btn{background-color:#eee;}

body {
    -webkit-touch-callout:none;
    -webkit-touch-select:none;
    -ms-user-select:none;
    -moz-user-select:none;
    -webkit-user-select:none;
    -user-select:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0)
}