@font-face {
    font-family: 'Pretendard';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'NanumSquareRound';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_two@1.0/NanumSquareRound.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


body{
    font-famliy:'NanumSquare',san-serif;
    font-size:17px;
    line-height:1.5;
}

/* 위처럼 적용시 body에 속해 있는 모든 폰트가 나눔스퀘어로 적용됨을 알수 있습니다.*/
/*
개발공사 2018 레이아웃
*/

/* 요소(element) 여백 초기화  */
html, body,
div, span,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
blockquote, p, address, pre, cite,
form, fieldset, input, textarea, select,
table, th, td {
    margin:0;
    padding:0;
}
a:hover{text-decoration: none !important;}
/* 제목요소 */
h1, h2, h3, h4, h5, h6 {  
    font-weight:normal; 
    font-size:1em; 
} 

/* 테두리 없애기 */
fieldset, img, abbr,acronym { border:0 none; } 

/* 목록 */
ol, ul { list-style:none; }

/* 테이블 - 마크업에 'cellspacing="0"' 지정 함께 필요 */
table {
    border-collapse: separate;
    border-spacing:0;
    border:0 none;
}
caption, th, td {
    font-weight: normal;
}
caption, legend {position:absolute;  width:0; height:0; overflow:hidden; font-size:0;line-height:0px; }
/* 텍스트 관련 요소 초기화 */
address, caption, strong, em, cite {    font-weight:normal; font-style:normal;  }
ins { text-decoration:none; }
del { text-decoration:line-through; }

/* 인용문 */
blockquote:before, blockquote:after, q:before, q:after { content:""; }
blockquote,q { quotes:"" ""; }

/* 수평선*/
hr { display:none; }

img{max-width: 100%;}


body { font-family: 'NanumSquareRound'; font-size:14px; line-height:1.4;  min-width: 320px; overflow-x: hidden;}
h1,h2,h3,h4,h5,h6 {margin: 0; font-weight: bold;}
p, dl, ol, ul {margin: 0;}


.col-g{color: #0D7D7A !important; font-weight: bold}
strong{font-weight: bold}


@media (min-width: 992px) {

    .header {  width:100%;  margin-top:50px;  }

    .header h1 {float:left; z-index:101; position:relative; min-width:300px;  height: 64px;}
    .header h1 a.logo {padding-top:20px;float:left; margin-right:10px;   font-size: 20px; color: #000000; letter-spacing: -1.5px;}
    .header h1 a.class {display:table-cell; word-break:keep-all;  height:105px; width:115px; background:rgba(0,0,0,0.25); color:#fff; font-size:18px; vertical-align:middle; text-align:center;  }
    .m-menu-logo { display:none;  }
    .header-util-wrap {font-family: 'Pretendard'; position:absolute; top:0px; left:0px; width:100%; height:50px; background: #fff;  }
    .header-util-wrap ul  { position:absolute; top:0px;   } 
    .header-util-wrap ul li  { float:left; margin-top:27px;  margin-right: 25px; position: relative;} 
    .header-util-wrap ul li:last-child{margin-right: 0px;}
    .header-util-wrap ul li a { font-size:15px; color:#666666; }
    .header-util-wrap ul li:before { content:''; position: absolute; display:block; float:left;  top: 7px; right: -14px; width: 3px; height: 3px; background: #ADADAD; border-radius: 50%;}
    .header-util-wrap ul li:last-child:before {display: none;}
    
    .header-util-wrap .top-util  {right:50%; margin-right:-600px; }
    
    .gnb {   position:absolute;z-index:100;  top:50px; left:0px; width:100%;  background:#fff;}
    .gnb-bg{display: none;}
    .gnb-bg.active{display: block; position: absolute; width: 100%; height: 100%; z-index: -1; box-shadow: 0px 10px 10px #00000029;}
    .gnb.active:before{content: ''; position: absolute; width: 100%; border-bottom: 1px solid #E4E4E4; top: 66px; left: 0; z-index: -1}
    .gnb .container { padding-left:400px; }
    .gnb .menu { float:left; }
    .gnb .menu > h3 {  font-weight:normal;  margin: 0 54px;}
    .gnb .menu04 > h3 {margin-right: 0px;}
    .gnb .menu04 .depth-menu ul li{text-align: right;}
    .gnb .menu > h3 > a { color:#000000; display:inline-block; text-align:center;   padding: 21.5px 0;   font-size:20px; letter-spacing: -0.95px; vertical-align:middle; font-weight: bold;}
    .gnb .menu04 > h3 > a{}
    .gnb .menu h3 a:hover ,.gnb .menu h3 a.active { text-decoration:none;  border-bottom: 3px solid #068582;  }
    .gnb .menu ul  {display:none;  padding-top:30px; padding-bottom:30px; }
    .gnb .menu ul li  { margin-bottom:10px; padding-left:5px; padding-right:5px;  text-align: center}
    .gnb .menu ul li a {font-family: 'Pretendard'; color:#1D1D1D; font-size:17px; letter-spacing: 0px;  }
    .gnb .menu ul li a:hover , .gnb .menu ul li a:active { color:#0D7D7A; text-decoration:none;  font-weight: bold; }
    .gnb .menu ul li  ul { padding-top:5px; padding-bottom:5px;  }
    .gnb .menu ul li  ul li {margin-bottom:5px; padding-left:10px; padding-right:0px; position:relative;   }
    .gnb .menu ul li  ul li:before { content:'-'; display:inline; font-size:14px; color:#c9c9c9; position:absolute; top:-3px; left:0px;   }
    .gnb .menu ul li ul li a { color:#000; color:#c9c9c9; font-size:14px; letter-spacing:-1.5px;  }
    .gnb .menu ul li i { display:none;  }



    .header .search-btn i { position:absolute; top:90px; right:50%; margin-right:-600px;  z-index:100; color:#222; }
    .header .all-menu-open a i { font-size:30px; color:#fff;  }
    .header .search-btn a i { font-size:20px; color:#fff;  }
    .header .search-btn a.search-close i {top:55px; font-size:30px;   margin-right:-605px;  }
    .header .search-btn a.search-close  {display:none;   }

    .top-search-wrap {display:none; height:60px; z-index:100;    width:905px; position:absolute; top:155px; right:50%; margin-right:-600px;   background:#1a479d;  }
    .top-search-wrap form { float:left;   }
    .top-search-wrap form input[type="text"] { float:left; font-size:18px; border:0px; height:60px; color:#fff;  padding:4px 10px 0px; width:785px; background:#1a479d; }
    .top-search-wrap form input[type="text"]::placeholder {color:#fff; }
    .top-search-wrap form button { float:left;background:rgba(0,0,0,0.2); border:0px; height:auto; width:60px; height:60px;  }
    .top-search-wrap form button i { font-size:25px; color:#fff; line-height:0; vertical-align:middle; }
    .top-search-wrap a { float:left; width:60px;  height:60px; display:block; text-align:center; padding-top:20px;  }
    .header .all-menu-open { display:none;  position:absolute; top:90px; right:50%;  margin-right:-600px;  z-index:100; }

    .all-menu-close { display:none;   } 




    #backtotop {
      position: fixed;
      bottom: 0;
      right: 0;
      z-index: 9999;
      width: 60px;
      height: 60px;
      text-align: center;
      padding-top:0px; 
      background: rgba(0,0,0,0.3);
      font-size: 40px;
      color: #fff;
      cursor: pointer;
      text-decoration: none;
      /*transition: opacity 0.2s ease-out;*/
      opacity: 0;
  }
  #backtotop.show {
    opacity: 1;
}
#backtotop:hover.show {
    background: rgba(0,0,0,0.6);
}

.back {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    display: none;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.bt-banner{position: relative; border: 1px solid #E4E4E4; padding: 12px; border-bottom: 0px;}
.bt-banner .row{position: relative;}
.bt-banner .bx-wrapper{margin-left: 0 !important;}
.bt-banner .bt-b-control{position: absolute; display: flex; top: 15px; right: 0px;}
.bt-banner .bt-b-control a{color: #353535; font-size: 19px; letter-spacing: -1.9px; margin-left: 8px;}

footer{background: #F0F0F0; font-family: 'Pretendard';}

footer address{padding: 28.5px 13px 33px; border-bottom: 1px solid #C6C6C6;display: flex; justify-content: space-between; align-items: flex-end;}
footer address p{font-size: 17px; letter-spacing: 0; color: #1D1D1D; padding-bottom: 16px;}
footer address p span{display: none;}
footer address a{color: #555555; font-size: 17px;}
footer address a i{font-size: 16px; padding-left: 22px; color: #1D1D1D;}
footer .util-link{padding: 28.5px 15px; display: flex; justify-content: space-between;}
footer .util-link p{font-size: 17px; color: #1D1D1D; font-weight: 400;}
footer .util-link p strong a,footer .util-link p a{ font-size: 17px; color: #1D1D1D; font-weight: bold; padding-right: 20px;}
footer .util-link .copyright{color: #555555;}

}




@media (min-width: 992px) and (max-width: 1199px) {


    .header .link-menu { margin-left:-480px;  }
    .header-util-wrap .top-util  { margin-right:-480px; }
    .gnb .container { padding-left:325px; }
/*    .gnb .menu {   width:103.5px; }*/
.gnb .menu > h3{margin: 0 40px;}
.gnb .menu04 .depth-menu ul li{text-align: center}
    .gnb .menu h3 a{font-size: 16px;}
    .gnb .menu ul li a{font-size: 14px;}
    .header .search-btn i {  margin-right:-480px;  }
    .header .all-menu-open {display:none; }
    .top-search-wrap {   width:785px;  margin-right:-485px;    }
    .top-search-wrap form input[type="text"] { width:665px; }

    .gnb.active:before{top: 62px; }
}


@media (max-width: 991px) {

    .section .row{padding: 0 15px}
    .row{position: relative;}


    .header {  position:relative;  margin-top:22px;    height: 38.5px;    word-break: keep-all;  text-align:center;  padding:0 15px;    border-bottom: 1px solid #E4E4E4;}

    .header .link-menu  { position:absolute; top:-1.5rem; z-index:9; width:100%; left:0px;   } 
    .header .link-menu li  { float:left; margin-top:0.4rem;  } 
    .header .link-menu li a { font-size:14px; color:#c9c9c9; }
    .header .link-menu li:before { content:''; display:block; float:left;  border-left:1px solid #49433b;margin-left:10px; margin-right:10px; height:10px; margin-top:6px;  }
    .header .link-menu li:first-child:before { margin-left:0px; border:0px;  }

    .header h1 {text-align:left; position:relative; z-index:9;   }
    .header h1 a.logo {   display:table-cell; padding-right:10px; padding-top:0.3rem; font-size: 17px; letter-spacing: -1.27px; font-family: 'NanumSquareRound'; font-weight: bold; color: #000000;}
    .header h1 a.logo img { width: 63px;}
    .header h1 a.class {display:table-cell; height: 2.27272727rem;  padding:0 5px;  background:rgba(0,0,0,0.25); color:#fff; font-size:16px; font-weight:normal;  vertical-align:middle; text-align:center;  }

    .all-menu-open { font-size: 22px;   position: absolute;    top: 0px;    right: 16px;    z-index: 100;}
    .all-menu-open a{color: #1D1D1D;}




    .header .search-btn i {    z-index: 10;    position: absolute;   top: 0.65rem; color:#fff;    right: 15px;    font-size: 0.80909091rem;  }
    .header .search-btn a.search-close  {display:none;  }
    .header .search-btn a.search-close i { top: 0.7rem; right: 10px; font-size:1.10909091rem; }


    .m-menu { display:none;   z-index: 1000; overflow-y:auto;    position: fixed;    top: 0;    right: 0; width: 90%; margin-right:-13.86363636rem;   height: 100%;    background: #FFFFFF;    letter-spacing: -1px;    text-align: left;   }
    .header .all-menu-close {    position: absolute;    top: -40px;    right:16px;  line-height: 26px;}
    .header .all-menu-close a{ font-size: 24px; color: #1D1D1D;}
    .header .m-menu-logo { height: 2.27272727rem;padding-left:15px; margin-right:5px;  padding-top:0.3rem;  width:100%; background:#fff;  }
    .header .m-menu-logo a.logo { float:left;  }
    .header .m-menu-logo a.logo img { width: 4.5rem;}
    .header .m-menu-logo a.class {color:#3a3a3a;  float:left;  font-size:16px; font-weight:normal;  vertical-align:middle; text-align:center; margin-top:0.45rem;   }
    .header .m-menu-logo a.class:before {  float:left; content:''; display:block; padding-right:10px; margin-left:10px;margin-top:0.2rem;    border-left:2px solid #727171; height:15px;  }


    .top-util {background:#fff; height:60px;   border-bottom:1px solid #E4E4E4; border-left:1px solid #ddd; display: flex; justify-content: flex-start; align-items: center; padding-left: 17.5px;}
    .top-util li {position: relative; margin-right: 17px;}
    .top-util li+li:before{content: ''; position: absolute; top: 7px; left: -10px; width:3px; height: 3px; border-radius: 50%; background: #ADADAD;}
    .top-util li:last-child{margin-right: 0px;}
    .top-util li a{color: #666666; font-size: 15px; font-family: 'Pretendard';}




    #gnb .menu{border-bottom:1px solid #E4E4E4; padding: 28px 0; margin: 0 }
    #gnb .menu h3 a {  text-align: center;   position: relative;    font-weight:bold;  display: block;    font-size: 22px;         color: #000000;  letter-spacing: -1.1px;}
    #gnb .menu .depth-menu{padding-top: 23px;}
    #gnb .menu h3 a > i {    display: none;  }

    #gnb .menu:first-of-type h3 {       }
    #gnb .menu h3 a.active {   }
    #gnb .menu>ul {    display: none;    position: absolute;    top: 3.592727rem;    right: 0;    width: 6.93181815rem;    height: calc(100% - 4.922727rem);    overflow-y: auto;    padding:0 5px;   background:#0f2763;   }
    #gnb .menu ul.active {    display: block;  }
    #gnb .menu ul > li > a {    position: relative;    display: block;    padding:4px 0;  font-size: 17px;      color: #1D1D1D;      font-family: 'Pretendard'; text-align: center;  letter-spacing: -0px;}
    #gnb .menu ul > li > a.active {    text-decoration: none;    color: #0D7D7A; font-weight:bold }
    #gnb .menu ul i {    position: absolute;    top: 50%;    left: 0px;    font-size: 0.63636364rem;    margin-left: -1rem;    margin-top: -0.27272727rem;  }


    #gnb .menu ul > li > ul {    display:none;   padding: 10px 0 2px;  }

    #gnb .menu ul > li > ul > li > a {    position: relative;    display: block;    font-size: 0.45454545rem;  border-bottom:0px;   padding: 0.09090909rem 0 0.09090909rem 20px;    color: #fff;  }
    #gnb .menu ul > li > ul > li > a:before { content:'-'; display:inline-block; margin-right:3px;  }
    #gnb .menu ul > li > ul > li > a.active {    color: #fff;    text-decoration: underline;  }


    
    .bt-banner{position: relative; border: 1px solid #E4E4E4; padding: 12px; border-bottom: 0px;}
    .bt-banner .bt-b-control{position: absolute; display: flex; top: 5px; right: 0px;}
    .bt-banner .bt-b-control a{color: #353535; font-size: 18px; letter-spacing: -1.8px; margin-left: 15px;}

    footer{background: #F0F0F0; font-family: 'Pretendard';}
    footer address{padding: 28.5px 13px 33px; border-bottom: 1px solid #C6C6C6;}
    footer address p{font-size: 13px; color: #1D1D1D; padding-bottom: 16px;}
    footer address a{color: #555555; font-size: 14px;}
    footer address a i{padding-left: 15px; color: #1D1D1D;}
    footer .util-link{padding: 28.5px 15px;}
    footer .util-link p{font-size: 15px; color: #1D1D1D; font-weight: 400; padding-bottom: 9px;}
    footer .util-link p strong{ font-weight: bold; padding-right: 20px;}
    footer .util-link .copyright{color: #555555;}

    .back {
        position: absolute;
        top: 0;
        left: 0;
        background: rgba(0,0,0,0.8);
        display: none;
        width: 100%;
        height: 100%;
        z-index: 10;
    }

}




@media (min-width: 1200px) {

}
@media (min-width: 992px) {

}
@media (min-width: 768px) {

}


