﻿@import url('http://fonts.googleapis.com/earlyaccess/nanummyeongjo.css');

@font-face {
 font-family: 'NanumBarunGothic';
 src: url(webfont/NanumBarunGothic/NanumBarunGothicWeb.eot);
 src: url(webfont/NanumBarunGothic/NanumBarunGothicWeb.eot?#iefix) format('embedded-opentype'),
      url(webfont/NanumBarunGothic/NanumBarunGothicWeb.woff) format('woff'),
      url(webfont/NanumBarunGothic/NanumBarunGothicWeb.ttf) format('truetype');
}

@font-face {
 font-family: 'NanumSquare';
 src: url(webfont/NanumSquare/NanumSquareR.eot);
 src: url(webfont/NanumSquare/NanumSquareR.eot?#iefix) format('embedded-opentype'),
      url(webfont/NanumSquare/NanumSquareR.woff) format('woff'),
      url(webfont/NanumSquare/NanumSquareR.ttf) format('truetype');
}


/* ===================================================================
   공통
   =================================================================== */
/* font select */
body * {font-family: 'Pretendard', 'Pretendard Variable', sans-serif; font-stretch: ultra-condensed; letter-spacing: -0.3px;}

/* 시스템 페이지 (밴드 / 아이디찾기 / 회원가입) */
#bandMessage{bottom: 50%!important;}
#findForm{padding: 145px 0!important;}
#joinForm h4{margin-top: 150px!important;}


/* ===================================================================
   헤더 (#gnb-wrap)
   =================================================================== */
#gnb-wrap {
  background: rgba(250, 250, 250, 1);
  height: 100px;
  position: fixed;
  width: 100%;
  z-index: 999;
  /* 스크롤/hover 전환을 위한 트랜지션 */
  top: 0;
  transition: top 0.35s ease, opacity 0.35s ease;
  opacity: 1;
}
/* 스크롤 다운 시 JS가 이 클래스를 추가 */
#gnb-wrap.gnb-hidden {
  top: -110px;   /* height(100px) + 여유(10px) */
  opacity: 0;
}
#gnb-wrap .container{position:relative;}

/* 로고 (.logo-wrap) */
.logo-wrap{left: 10%;position: absolute;top: 50%;text-align: center;border: none;display: block;transform: translate(0,-50%);}

/* GNB 1뎁스 (#gnb-login > #gnb) */
#gnb-login{height:100%;}
#gnb {display: inline-flex;position: absolute;left: 50%;top: 50%;height: 60%;width: 50%;transform: translate(-25%, -50%);flex-direction: row;flex-wrap: wrap;
align-content: center;align-items: center;justify-content: space-around;}
#gnb > li  { float:left; padding:0px 10px; position:relative;margin: 15px 0;}
#gnb > li > a {font-size: 20px;color: #000;text-decoration: none;transition: all ease 0.2s;font-weight: bold;padding: 30px 10px;}
#gnb > li.active > a , #gnb > li > a.active  {color:#006fae;}
#gnb li a .caret {border-top: 20px solid #fff;border-right: 0px solid transparent;border-left: 0px solid transparent;border-bottom: 0px solid transparent;
position: relative;margin: 0;height: 0px;width: 2px;transform: rotate(225deg);transition: all 0.6s;margin-top: -10px;margin-left: 15px;
float: right;top: 15px;font-size: 20px;right: 0px;}
/*#gnb > li > a:hover > .caret,#gnb > li > a:focus > .caret{ transition: all ease 0.2s; border-color:#CB1834;}*/
#gnb > li > ul { display:none; }
#gnb > .more{padding:0;}
#gnb > .more span{color:#fff;font-size:17px;}
#gnb > .more:last-child{display:none;}
.depth3{text-align: center; margin: 0 auto;}
.point { position:absolute; bottom:-91px; left:46%; margin-left:-9px; display:none; opacity:1;}

/* 현재 페이지가 속한 1뎁스 LNB 펼침 상태 */
#gnb > li.active-parent > ul.depth2 { display: block !important; }
/* 현재 페이지 LNB 항목 강조 (선택사항) */
#gnb > li.active-parent > ul.depth2 > li.active-child > a {
  color: #CB1834;        /* 사이트 포인트 컬러로 변경 가능 */
  font-weight: bold;
}
/* 현재 페이지 1뎁스 메뉴 강조 (선택사항) */
#gnb > li.active-parent > a { color: #CB1834 !important; }

/* 헤더 우측 (#header) */
#gnb-login #header{display: inline-block;right: -15%;top: 50%;text-align: right;position: absolute;transform: translateY(-50%);}
#gnb-login #header .header-box-right a{font-size: 17px;color: #fff;text-decoration: none;padding: 10px 15px;display: inline-block;}

/* 모바일 전체메뉴 버튼 (.header-mobile-gnb) */
.header-mobile-gnb{right: 0;height: 100%;width: 10%;background-color:#243858;
position: absolute;top: 50%;text-align: center;border: none;display: block;transform: translate(0,-50%);}
.header-mobile-gnb .toggle {color: #fff!important;font-size: 30px;display: inline-flex;gap: 15px;
width: 100%;height: 100%;align-items: center;justify-content: center;}
.header-mobile-gnb .toggle span{font-size:20px;}

/* GNB 2뎁스 바 (.gnb2 > .subul) - 한 줄 고정, 넘치면 가로 스크롤 */
.gnb2{background: rgba(36,56,88,.8);width: 100%;position: absolute;left: 0px;z-index: 9999;height: 0;overflow: hidden;}
.gnb2 .wrapper{border-top: 1px solid #8e8e8e;}
.gnb2 .container-fluid{padding: 25px 15px; text-align: center;}
.subul {display: flex;flex-wrap: nowrap;justify-content: flex-start;overflow-x: auto;overflow-y: hidden;padding-bottom: 4px;-webkit-overflow-scrolling: touch;}
.subul::-webkit-scrollbar { height: 4px; }
.subul::-webkit-scrollbar-track { background: transparent; }
.subul::-webkit-scrollbar-thumb { background: rgba(255,255,255,.45); border-radius: 2px; }
.subul:hover::-webkit-scrollbar-thumb { background: rgba(255,255,255,.75); }
.subul.is-overflow { cursor: grab; }                                            /* 넘칠 때 : 잡고 끌 수 있음 표시 */
.subul.is-dragging, .subul.is-dragging a { cursor: grabbing; user-select: none; }
@supports not selector(::-webkit-scrollbar) {   /* Firefox 스크롤바 */
    .subul { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.45) transparent; }
}
.subul > li{flex: 0 0 auto;margin: 0;vertical-align: top;text-align: left;white-space: nowrap;padding: 0 20px;}
.subul > li:first-child{margin-left: auto;}   /* 안 넘칠 땐 가운데 정렬, 넘치면 첫 메뉴부터 스크롤 */
.subul > li:last-child{margin-right: auto;}
.subul li a{color: #fff; text-decoration: none;}
.subul > li > a {font-size: 17px;font-weight: 600;position: relative;}
.subul > li > a:hover{font-weight:bold;}
.subul > li > ul{margin-top: 15px;}
.subul > li > ul > li{font-size: 17px;transition: all ease 0.3s;line-height: initial;padding: 5px 0px;}
.subul > li > ul > li > a{display: inline-block;overflow: hidden;width: 100%;text-overflow: ellipsis;
white-space: nowrap;color: #000;}
.subul > li > ul > li > a:hover,.subul > li > ul > li > a:focus{font-weight:bold;}
/* gnb2 현재 페이지 메뉴 언더라인 강조 */
.subul > li.active > a,   .subul > li > a.active {  color: #a1d2ff !important;   font-weight: bold;  position: relative;  display: inline-block;  padding-bottom: 4px; }
.subul > li.active > a::after, .subul > li > a.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;                         /* 언더라인 두께 */
  background-color: #a1d2ff;           /* 언더라인 색상 (포인트 컬러) */
  border-radius: 2px;                  /* 언더라인 끝 둥글기 */
}


/* ===================================================================
   서브
   =================================================================== */
/* 서브 경로 메뉴 (#subgnb) - 현재 Layout.cshtml 에서 주석 처리됨 */
#subgnb {  padding:80px 0px 0px 0px;/*padding:30px 0px;border-bottom:1px solid #ddd; background-color: #F9F9F9; */}
#subgnb .subgnb-home { float:right; display:inline-block; margin:12px 0px 0px 0px;}
#subgnb .container{padding-right:0; padding-left:0;}
#subgnb .container > div{margin: 14px 0; display: inline-block;float:left; }
#subgnb span, #subgnb a { font-size:16px; color:#777; position:relative; top:3px; text-decoration:none;}
#subgnb a.active { color:#6599CB; font-weight:bold; }
#subgnb .dropdown {display: inline-block;border-right: 1px solid #CCCCCC;float: left;}
#subgnb .dropdown:last-child{border:none;}
#subgnb .dropdown .btn { padding:5px 20px; font-size:17px; font-weight:bold;}
#subgnb .dropdown .btn-default { border:none;}
#subgnb .dropdown .btn:hover { background-color:transparent!important; transition:0.3s all ease;}
#subgnb .dropdown .btn,
#subgnb .dropdown .btn .active  { background-color:transparent!important; }
#subgnb .dropdown-menu>li>a { padding:10px 20px; transition:0.3s all ease; font-size:17px;}
#subgnb .caret {border-top: 4px solid #4d80f9;border-bottom: 4px solid transparent;border-right: 4px solid transparent;border-left: 4px solid #4d80f9;
position: relative;margin: 0;height: 8px;width: 8px;transform: rotate(225deg);transition: all 0.6s;margin-top: -15px;margin-left: 10px;}

/* 서브 타이틀 + 우측 하위메뉴 (.subTitle > #sub_title + .sub-title-menu) - 한 줄 고정, 넘치면 가로 스크롤 */
.subTitle {
    text-align: left;
    padding: 0 15px;
    display: flex;
    align-items: flex-end;      /* 타이틀 밑줄과 메뉴 하단 라인 맞춤 */
    justify-content: space-between;
    flex-wrap: nowrap;          /* 메뉴가 타이틀 아래로 떨어지지 않게 */
    column-gap: 30px;
}
.subTitle #sub_title { flex: 0 0 auto; }
.sub-title-menu {
    flex: 1 1 0;                /* 타이틀을 뺀 나머지 폭만 사용 */
    min-width: 0;               /* 폭이 모자라면 줄어들고 스크롤 생김 */
    list-style: none;
    margin: 0 0 50px 0;         /* #sub_title 의 margin-bottom 과 동일 */
    padding: 0 0 10px 0;        /* #sub_title 의 padding-bottom 과 동일 */
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start; /* flex-end 면 넘칠 때 앞쪽 메뉴가 잘려 스크롤 불가 */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.sub-title-menu::-webkit-scrollbar { height: 4px; }
.sub-title-menu::-webkit-scrollbar-track { background: transparent; }
.sub-title-menu::-webkit-scrollbar-thumb { background: #ccc; border-radius: 2px; }
.sub-title-menu:hover::-webkit-scrollbar-thumb { background: #999; }
.sub-title-menu.is-overflow { cursor: grab; }                                   /* 넘칠 때 : 잡고 끌 수 있음 표시 */
.sub-title-menu.is-dragging, .sub-title-menu.is-dragging a { cursor: grabbing; user-select: none; }
@supports not selector(::-webkit-scrollbar) {   /* Firefox 스크롤바 */
    .sub-title-menu { scrollbar-width: thin; scrollbar-color: #ccc transparent; }
}
.sub-title-menu > li {
    position: relative;
    flex: 0 0 auto;
    padding: 4px 18px;
    line-height: 1.2;
}
.sub-title-menu > li:first-child { margin-left: auto; }   /* 안 넘칠 땐 오른쪽 정렬, 넘치면 첫 메뉴부터 스크롤 */
.sub-title-menu > li:last-child { padding-right: 0; }
.sub-title-menu > li + li::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    width: 1px; height: 13px;
    margin-top: -6px;
    background: #dcdcdc;
}
.sub-title-menu > li > a {
    display: inline-block;
    font-size: 17px;            /* 상단 gnb2(.subul) 메뉴와 동일 크기 */
    font-weight: 600;
    color: #777;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}
.sub-title-menu > li > a:hover,
.sub-title-menu > li > a:focus { color: #006fae; text-decoration: none; }
.sub-title-menu > li.active > a { color: #006fae; font-weight: 700;   font-size: 20px; }

/* 콘텐츠 공통 컴포넌트 */
.law-tab { text-align:center; overflow:hidden; margin:0 0 30px;  }
.law-tab a { color:#333; text-decoration:none; }
.law-tab li a { float:left; width:33.3333%; font-size:17px; padding:15px 0;  color:#333; cursor:pointer; border:1px solid #f2f2f2; box-sizing:border-box; }
.law-tab li:hover a { background:rgba(0,0,0,0.5)!important; transition:0.3s all; color:#fff;}
.law-tab .active { background:rgba(0,0,0,0.5)!important; }
.law-tab .active a { color:#333; }
#gdream-service{margin-top:135px;}
#gdream-service .tab-content { padding:30px; background:#fbfbfb; border: 2px dotted #f2f2f2; font-size:15px; line-height:30px; }
#gdream-service h3 { margin:0 0 20px; font-size:18px; }


/* ===================================================================
   푸터 (#footer)
   =================================================================== */
#footer{background-color:#000;}
#footer .footM{display: inline-flex;flex-direction: row;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;width: 100%;padding: 55px 0;}
#footer .footM .footR{order:2;}
#footer .footM .footR ul{color: #fff;line-height: 1.5;letter-spacing: .5px;}
#footer .footM .footR ul li{}
#footer .footM .footL{order:1;}
#footer .footM .footL ul{color: #fff;line-height: 1.5;letter-spacing: .5px;}
#footer .footM .footL ul li{}
#footer .footM .footL ul li hr{width: 15%;margin: 20px auto 20px 0;border-width: 3px;}


/* ===================================================================
   전체메뉴 (.gnb-all)
   =================================================================== */
.gnb-all { display: none; position: fixed; z-index: 9999; background: rgba(0, 0, 0, 0.7); top: 0; left: 0; width: 100%; height: 100%; text-align:center;}
.gnb-all a {color:#fff; text-decoration:none;}
.gnb-all img {margin:80px 0px 50px; max-width:185px; }
.gnb-all .all-wrapper .all-close { color: #fff; cursor: pointer; font-weight: 600; font-size: 5em; float:right; }
.gnb-all .all-wrapper .container a { display: block; color: #fff; }
.gnb-all .all-wrapper .container > ul > li { display: inline-block; vertical-align: top; padding:0px 25px;}
.gnb-all .all-wrapper .container > ul > li > a { margin:0px 0px 18px; font-size: 25px; font-weight: 600; text-decoration:none;}
.gnb-all .all-wrapper .container > ul > li:first-child { display: none; }
.gnb-all .all-wrapper .container > ul > li > ul > li > a { color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size:20px; padding:6px 0px;}
.gnb-all .all-wrapper .container > ul > li > ul > li > a:hover { font-weight:bold; transition:0.2s all ease;}
.gnb-all .all-wrapper .container > ul > li > ul > li > ul > li > a { color: #fff; display: block; margin-bottom: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size:16px;}


/* ===================================================================
   모바일 메뉴 (#my-menu / mmenu)
   =================================================================== */
#my-menu{ display:none; background-color:rgba(0,0,0,.3); max-width:240px; z-index:4; }
body > .mm-opened{display:block!important;}
#mm-0:before { height:0!important; }
#mm-1 > ul > li:hover > a.mma1 { color: #34b4c7 !important; }
.mm-navbar.mm-hasbtns .mm-close .mm-sronly{display:none;}
.mm-navbars-top{background-color:rgba(0,0,0,.75);}
.mm-btn {top:unset!important;}
.mm-menu .mm-listview>li .mm-next:after { border-color:#fff; }
.mm-panels>.mm-panel>.mm-listview { margin:0px!important;}
.mm-panels>.mm-panel.mm-hasnavbar { padding-top:0!important; }
.mm-panels > .mm-panel { padding:0; }
.mm-panels, .mm-panels>.mm-panel { z-index:9999; }
.mm-listview { margin:0; }
.mm-listview > li > a, .mm-listview > li > span { padding:10px 20px!important; margin: 0; font-size:17px; }
.mm-listview .mm-vertical .mm-panel, .mm-vertical .mm-listview .mm-panel { padding:0 0 0 10px; }
a.mm-next{width:100%!important;}
.closeMenu{color:#fff!important; text-decoration:none!important; cursor:pointer; font-size:40px;position: absolute;
right: 0;top: 5%;}
.mob-login { overflow:hidden; padding:15px 0; border-bottom:1px solid #808080; margin-bottom:10px; }
.mob-login li { float:right; overflow:hidden; }
.mob-login a { display: inline-block !important; font-size: 17px !important; border: 0px !important; box-shadow: none !important; color: #aaa !important; padding: 0px 10px !important; }
.mob-login a .fa { font-size:20px!important; }
.mmenu-depth1 > a{ color:#fff!important; }
.mmenu-depth2 > a{ color:#E4E3B9!important; }
.mmenu-depth3 > a{ color:#B4EBF1!important; }


/* ===================================================================
   반응형
   =================================================================== */
@media (max-width:1699px) {
}

@media (max-width:1499px) {
    .logo-wrap{left: 5%;}
    #gnb {left: 50%;width:52%;}
    #gnb > li > a{padding: 30px 5px;}
}

@media (max-width:1199px) {
    .logo-wrap{width: 215px;left: 5%;}
    #gnb {left: 42%;width:56%;}
    #gnb > li > a{font-size:17px;padding: 30px 5px;}
    .header-mobile-gnb{width:15%;}
}

@media (max-width:992px) {
    .logo-wrap{left: 5%;}
    .header-mobile-gnb{width:25%;}
    .sub-title-menu > li { padding: 4px 12px; }
    .sub-title-menu > li > a { font-size: 16px; }
}

@media (max-width:767px) {
    #gnb-wrap{height:90px;}
    .logo-wrap{width: 190px;left: 5%;}
    .header-mobile-gnb{width:33%;}
    .header-mobile-gnb .toggle{flex-direction: column;}
    .header-mobile-gnb .toggle span{font-size:13px;}
    .subul > li{padding: 0 10px;}
    .subul > li > a {font-size: 15px;}
    #subgnb .dropdown .btn { padding:5px 10px; font-size:13px;}
    .subTitle { display: block; }
    .subTitle #sub_title { margin: 0 0 12px; }
    .sub-title-menu { margin: 0 0 20px 0; padding: 0 0 5px 0; }
    .sub-title-menu::-webkit-scrollbar { height: 3px; }
    .sub-title-menu::-webkit-scrollbar-thumb { background: #ddd; }
    .sub-title-menu > li { padding: 2px 10px; }
    .sub-title-menu > li:first-child { padding-left: 0; margin-left: 0; }   /* 모바일은 왼쪽 정렬 */
    .sub-title-menu > li > a { font-size: 15px; }
}

@media (max-width:320px) {
}