@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800&display=swap');

/* ** Document ** */
html,
body {
    width: 100%;
    height: 100%;
}

body {
    position: relative;
    font-size: 16px;
    color: #222222;
}

* {
    box-sizing: border-box;
    font-family: 'Noto Sans KR', sans-serif !important;
}

a {
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    /*-ms-transition: color 0.2s;*/
    -o-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #555;
}

@media only screen and (max-width: 500px) {
	body {
		overflow-x: hidden;
		margin: 0;
		padding: 0;
	}
}

/* ** Common classes ** */
.container {
    width: 98%;
    max-width: 75rem;
    margin: 0 auto;
    position: relative;
}

@media only screen and (max-width: 1199px) {
    .container {
        padding: 0;
    }
}

.blind {
    display: block;
    width: 100%;
    height: 1px;
    margin: 0;
    border: 0;
    padding: 0;
    font-size:0;
    line-height:0;
    overflow: hidden;
    outline: none;
}

br.mobile,
br.phone {
    display: none;
}

@media only screen and (max-width: 767px) {
    br.mobile {
        display: block;
    }
}

@media only screen and (max-width: 576px) {
    br.phone {
        display: block;
    }
}

.d-flex {
    display: flex;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-sm {
    font-size: 75%;
}

.letter-spacing-8 {
    letter-spacing: 0.5rem;
}

.fg-grey {
    color: #b3b7bb !important;
}

.terminology {
    display: inline-block;
}

.terminology:before {
    content: '<';
}

.terminology:after {
    content: '>';
}

span.asterisk {
    font-weight: bold;
    font-size: 0.875rem;
    color: #ff0000;
}

.items-float-none:after,
.items-float-left:after,
.items-float-right:after {
    content: '';
    display: table;
    clear: both;
}

.items-float-none > * {
    float: none;
}

.items-float-left > * {
    margin-right: 0.5rem;
    float: left;
}

.items-float-right > * {
    margin-left: 0.5rem;
    float: right;
}

/* Modal - Sitemap */
#sitemap {
	position: fixed;
	top: 20%;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: none;
	font-size: 0.875rem;
}

#sitemap .content {
	width: 71.375rem;
	height: 26rem;
	background-color: #07358D;
	padding: 1rem;
	margin: 0 auto;
	color: #ffffff;
}

#sitemap .content h1 {
	font-size: 1.5625rem;
	font-weight: bold;
	float: left;
	padding: 1rem 0.5rem;
	letter-spacing: -0.1rem;
}

#sitemap .content .btn-close2 {
	float: right;
	width: 2.125rem;
	height: 2.125rem;
	border: 1px solid #ffffff;
	text-align: center;
	font-size: 1.5rem;
	font-weight: lighter;
    margin-top: 0.5rem;
    margin-right: 0.5rem;
	cursor: pointer;
    z-index: 9999;
}

#sitemap .content .menu-list {
	clear: both;
}

#sitemap .content .menu-list .menu {
	width: 11rem;
	height: 20rem;
	padding-left: 2.5rem;
	/* border-right: 1px solid rgba(255,255,255,0.2); */
	display: inline-block;
    vertical-align: top;
}

#sitemap .content .menu-list .menu:last-child {
	border-right: none;
}

#sitemap .content .menu-list .menu h2 {
	font-size: 1.125rem;
	font-weight: bold;
	padding: 1.5rem 0 1rem 0;
}

#sitemap .content .menu-list .menu h2 a {
	color: #ffffff;
	text-decoration: none;
}

#sitemap .content .menu-list .menu ul li {
	line-height: 200%;
}

#sitemap .content .menu-list .menu ul li a {
	text-decoration: none;
	font-size: 0.875rem;
	color: rgba(255,255,255,0.8);
	letter-spacing: -0.03rem;
}

#sitemap .modal_layer {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, 0.5);
	z-index:-1;
}

/* end */

/* Modal - EmailDeny */
#emailDeny {
	position: fixed;
	top: 20%;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: none;
	font-size: 0.875rem;
}

#emailDeny .content {
	width: 25rem;
	height: 15rem;
	background-color: #ffffff;
	padding: 0;
	margin: 0 auto;
	color: #666666;
}

#emailDeny .content .title {
	width: 95%;
	height: 5.5rem;
	font-size: 1.25rem;
	font-weight: bold;
	background: url('../../images/ic_mail_ban.jpg') 0 70% no-repeat;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 0.5rem;
	padding-top: 3rem;
	padding-left: 4rem;
	letter-spacing: -0.15rem;
}

#emailDeny .content .txt-box {
	clear: both;
	width: 95%;
	height: 6.125rem;
	background: #f4f5f6;
	border-top: 2px solid red;
	border-bottom: 1px solid #d2d2d2;
	margin: 0 auto;
	margin-bottom: 0.5rem;
	line-height: 160%;
	word-break: keep-all;
	letter-spacing: -0.15rem;
	padding: 1rem 0.5rem;
}

#emailDeny .content .btn-close {
	float: right;
	margin-right: 0.5rem;
	width: 4.125rem;
	height: 1.4375rem;
	background: url('../../images/ic_close_pop.jpg') no-repeat;
	cursor: pointer;
}

#emailDeny .modal_layer {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, 0.5);
	z-index:-1;
}


/* ** Header ** */
header {
    height: 7.75rem;
    /* padding-top: 0.8rem; */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1024;
    background-color: rgba(255, 255, 255, 1);
    /* background-image: linear-gradient(to bottom, transparent 4.95rem, #d2d2d2 4.95rem, #d2d2d2 5rem, transparent 5rem); */
    overflow: hidden;
    -webkit-transition: height 0.2s, padding-top 0.2s, background-color 0.2s;
    -moz-transition: height 0.2s, padding-top 0.2s, background-color 0.2s;
    /*-ms-transition: height 0.2s, padding-top 0.2s, background-color 0.2s;*/
    -o-transition: height 0.2s, padding-top 0.2s, background-color 0.2s;
    transition: height 0.2s, padding-top 0.2s, background-color 0.2s;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

header.open {
    /* height: 17.5rem; */
    min-height: 19.3125rem;
    heigth: auto;
}

header a {
    text-decoration: none;
    color: #666666;
}

header a:hover,
header a:focus,
header a:active {
    color: #33a1d2;
}

header .container > * {
    margin: auto;
    position: absolute;
}

header h1 {
    width: 15.4375rem;
    height: 2.4375rem;
    top: 1.4rem;
    right: auto;
    bottom: auto;
    left: 0;
}

header h1 a {
    display: block;
    width: 100%;
    height: 100%;
    padding-left: 0.4rem;
}

@media only screen and (max-width: 575px) {
    header h1 {
        width: 11rem;
    }
}

/* top-nav */
header .top-nav {
	display: flex;
	justify-content: end;
    position: relative;
    width: 100%;    
    height: 2.375rem;
    padding-right: 23rem;    
    font-size: 0.75rem;
    text-align: right;
    background-color: #F1F2F4;
    border-bottom: 1px solid #e5e5e5;
    z-index: 1010;
}

header .top-nav li {
    /* display: inline-block; */
    width: 6rem;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    padding: 0.75rem 1.5rem;
    background-color: #7B8793;
    cursor: pointer;
}

header .top-nav li.esg {
    background-color: #359B45;
}

header .top-nav li.safety {
    background-color: #234E9C;
}

header .top-nav li a {
    color: #ffffff;
}

/* header .top-nav li::before {
    padding: 0 5px;
    content: '|';
}

header .top-nav li:first-child::before {
    content: '';
} */

header .top-nav li a {
    font-weight: bold;
}

@media only screen and (max-width: 1199px) {
    header .top-nav {
        padding-right: 0;
    }
}

/* lnb */
header .lnb {
    width: calc(100% - 15.4375rem);
    /* width: 70rem; */
    /*height: 6.25rem;*/
    top: 0.45rem;
    right: 0;
    left: 19rem;
    z-index: 1000;
    /* text-align: left; */
}

header .lnb > ul:after {
    content: '';
    display: table;
    clear: both;
}

header .lnb > ul > li {
    display: inline-table;
    table-layout: fixed;
    /* width: 15.5%; */
    height: 4rem;
    position: relative;
    float: left;
    padding-top: 1.5rem;
    text-align: center;
    margin: 0 1.75rem;
}

header .lnb > ul > li a span {
    display: block;
}

header .lnb > ul > li a span.menu1 {
    margin-left: 40px;
}

header .lnb > ul > li a span.menu2 {
    margin-left: 20px;   
}

header .lnb > ul > li a span.menu3 {
    
}

header .lnb > ul > li a span.menu4 {
    margin-left: 40px;
}

/* header .lnb > ul > li:nth-of-type(2) { 
	margin-right: 1.75rem
}

header .lnb > ul > li:nth-of-type(6) { 
	margin-right: 1rem
} */

header .lnb > ul > li.lang {
    width: 5%;
    text-align: right;
    background: url('../../images/ic_language.png') left 55% no-repeat;
    margin-left: 8%;
}

header .lnb > ul > li.lang a {
    font-size: 0.875rem;
}

header .lnb > ul > li.all-menu {
    width: 3%;
}

header .lnb > ul > li > a {
    /* display: table-cell; */
    width: 100%;
    height: 4rem;
    font-weight: 600;
    font-size: 1.125rem;
    vertical-align: middle;
    color: #222222;
    letter-spacing: -0.05rem;
}

header .lnb > ul > li:hover > a,
header .lnb > ul > li:focus > a,
header .lnb > ul > li:active > a {
	border-bottom: 5px solid #004f95;
	padding-bottom: 1.75rem;     
}

header .lnb > ul > li:hover > a span.menu1,
header .lnb > ul > li:focus > a span.menu1,
header .lnb > ul > li:active > a span.menu1 {
	border-bottom: 5px solid #004f95;
	padding-bottom: 1.3rem;
	width: 56%;
}

header .lnb > ul > li:hover > a span.menu2,
header .lnb > ul > li:focus > a span.menu2,
header .lnb > ul > li:active > a span.menu2 {
	border-bottom: 5px solid #004f95;
	padding-bottom: 1.3rem;
	width: 39%;
}

header .lnb > ul > li:hover > a span.menu3,
header .lnb > ul > li:focus > a span.menu3,
header .lnb > ul > li:active > a span.menu3 {
	border-bottom: 5px solid #004f95;
	padding-bottom: 1.3rem;
	width: 73%;
}

header .lnb > ul > li:hover > a span.menu4,
header .lnb > ul > li:focus > a span.menu4,
header .lnb > ul > li:active > a span.menu4 {
	border-bottom: 5px solid #004f95;
	padding-bottom: 1.4rem;
	width: 54%;
}

header .lnb > ul > li:nth-child(n+6):hover > a,
header .lnb > ul > li:nth-child(n+6):focus > a,
header .lnb > ul > li:nth-child(n+6):active > a {
	border-bottom: none;
	color: #004f95;
}

/* 반응형 */
header .gnb {
	display: none;
    width: calc(100% - 13.25rem);
    height: 3.5rem;
    top: 1.875rem;
    right: 0;
    bottom: auto;
    left: 13.25rem;
    z-index: 1000;
    text-align: center;
}

header .gnb > ul:after {
    content: '';
    display: table;
    clear: both;
}

header .gnb > ul > li {
    display: inline-table;
    table-layout: fixed;
    width: 20%;
    height: 3.5rem;
    position: relative;
    float: left;
}

header .gnb > ul > li > a {
    display: table-cell;
    width: 100%;
    font-weight: 600;
    font-size: 1rem;
    vertical-align: middle;
}

header .gnb > ul > li:hover > a,
header .gnb > ul > li:focus > a,
header .gnb > ul > li:active > a {
    color: #33a1d2;
}

header .gnb > ul > li > a + ul {
    display: block;
    padding-top: 0.75rem;
    padding-bottom: 1.75rem;
    position: absolute;
    top: 3.5rem;
    right: 0;
    bottom: auto;
    left: 0;
}

header .gnb > ul > li > a + ul > li {
    display: inline-table;
    width: 100%;
}

header .gnb > ul > li > a + ul > li > a {
    display: table-cell;
    height: 2.125rem;
    font-size: 0.875rem;
    vertical-align: middle;
}

header .gnb #button-open-all-menu {
    display: none;
    position: relative;
    width: 2.25rem;
    height: 2.75rem;
    border: 0;
    z-index: 1010;
    overflow: hidden;
    background: none;
    cursor: pointer;
}

header .gnb #button-open-all-menu:before,
header .gnb #button-open-all-menu:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 0.25rem;
    background: #808080;
    right: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

header .gnb #button-open-all-menu:before {
    top: 0.5rem;
}

header .gnb #button-open-all-menu:after {
    bottom: 0.5rem;
}

header .gnb #button-open-all-menu span {
    display: block;
    position: absolute;
    width: 100%;
    height: 0.25rem;
    background: #808080;
    right: 0;
    top: 1.25rem;
    font-size: 0;
    text-indent: -9999px;
    line-height: 9999px;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

header .gnb #button-open-all-menu:focus:before,
header .gnb #button-open-all-menu:hover:before {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0s
}

header .gnb #button-open-all-menu:focus span,
header .gnb #button-open-all-menu:hover span {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0.1s
}

header .gnb #button-open-all-menu:focus:after,
header .gnb #button-open-all-menu:hover:after {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0.2s
}

@media only screen and (max-width: 991px) {
    header {
        position: fixed;
        background-color: #ffffff;
        overflow: visible;
    }

    header .lnb {
    	display: none;
    }
    
    header .gnb {
    	display: block;
        padding: 0.375rem 1rem 0.375rem 0;
        text-align: right;
    }

    header .gnb > ul {
        display: block;
        width: 100%;
        height: calc(100% - 6.875rem);
        padding: 2rem 2% 0;
        position: fixed;
        top: 7.75rem;
        right: auto;
        bottom: 0;
        left: 100%;
        z-index: 1100;
        background-color: #ffffff;
        overflow: auto;
        -webkit-transition: left 0.2s;
        -moz-transition: left 0.2s;
        -ms-transition: left 0.2s;
        -o-transition: left 0.2s;
        transition: left 0.2s;
    }

    header .gnb.active > ul {
        left: 0;
    }

    header .gnb > ul > li {
        display: block;
        width: 100%;
        height: auto;
        text-align: left;
        float: none;
    }

    header .gnb > ul > li > a {
        display: block;
        border-bottom: 0.0625rem solid #dfdfdf;
        padding: 0.75rem 2%;
    }

    header .gnb > ul > li > a.active {
        color: #33a1d2;
    }

    .popup-backdrop {
        display: none;
        margin: auto;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        background-color: rgba(0, 0, 0, 0.2);
    }

    .popup-backdrop.active {
        display: block;
    }

    header .gnb > ul > li > a + ul {
        height: 0;
        padding: 0;
        border-bottom: 0 solid transparent;
        position: static;
        overflow: hidden;
        -webkit-transition: height 0.2s, border-bottom 0.2s;
        -moz-transition: height 0.2s, border-bottom 0.2s;
        -ms-transition: height 0.2s, border-bottom 0.2s;
        -o-transition: height 0.2s, border-bottom 0.2s;
        transition: height 0.2s, border-bottom 0.2s;
    }

    header .gnb > ul > li > a + ul.active {
        /*height: auto !important;*/
        border-bottom: 0.0625rem solid #dfdfdf;
        padding: 0.25rem 2% 0.5rem;
    }

    header .gnb > ul > li > a + ul.active > li > a {
        padding: 0.5rem 0;
    }

    header .gnb #button-open-all-menu {
        display: inline-block;
        top: -1rem;
    }

    header .gnb #button-open-all-menu.active {
        width: 2.75rem;
    }

    header .gnb #button-open-all-menu.active:before {
        top: 1.375rem;
        right: 0;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    header .gnb #button-open-all-menu.active:after {
        top: 1.375rem;
        right: 0;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    header .gnb #button-open-all-menu.active span {
        height: 0;
        background: transparent;
    }

    header .gnb #button-open-all-menu.active:focus:before,
    header .gnb #button-open-all-menu.active:hover:before,
    header .gnb #button-open-all-menu.active:focus span,
    header .gnb #button-open-all-menu.active:hover span,
    header .gnb #button-open-all-menu.active:focus:after,
    header .gnb #button-open-all-menu.active:hover:after {
        background-color: #222222;
        animation: none;
    }
}

@media only screen and (max-width: 767px) {
	
	header {
	    height: 7rem;
	}
	
	header .gnb {
        width: 3.5rem;
        height: 2.25rem;
        top: 0;
        left: auto;
    }

    header .gnb > ul {
        height: calc(100% - 4rem);
        top: 7rem;
        padding-top: 0.75rem;
    }

    header .gnb > ul > li > a {
        font-size: 0.875rem;
    }
	
    header .gnb #button-open-all-menu {
        width: 1.5rem;
        height: 1.5rem;
        top: 1.25rem;
    }

    header .gnb #button-open-all-menu:before,
    header .gnb #button-open-all-menu span,
    header .gnb #button-open-all-menu:after {
        height: 0.125rem;
    }

    header .gnb #button-open-all-menu:before {
        top: 0.25rem;
    }

    header .gnb #button-open-all-menu span {
        top: 0.675rem;
    }

    header .gnb #button-open-all-menu:after {
        bottom: 0.25rem;
    }

    header .gnb #button-open-all-menu.active {
        width: 1.5rem;
    }

    header .gnb #button-open-all-menu.active:before,
    header .gnb #button-open-all-menu.active:after {
        top: 0.75rem;
    }
}





/* end */

/* new 2depth menu */
header.open .menu-box {
    display: none;
    width: 100%;
    height: 11.5rem;
    position: absolute;
    top: 7.75rem;
    right: 0;
    bottom: auto;
    left: 0;
    font-weight: bold;
    color: #555555;
    font-size: 0.875rem;
    border-top: 1px solid #d2d2d2;    
}

header.open .menu-box .left-box {
	width: 35%;
	height: 11.5rem;
	border-right: 1px solid #d2d2d2;
    float: left;
}

header.open .menu-box .left-box.box1 {
    /* background: url('../../images/main/img_menu_1.png') 98% bottom no-repeat;
    background-color: #e4ecf9; */
}

header.open .menu-box .left-box.box2 {
    /* background: url('../../images/main/img_menu_2.png') 98% bottom no-repeat;
    background-color: #e4ecf9; */
}

header.open .menu-box .left-box.box3 {
    /* background: url('../../images/main/img_menu_3.png') 98% bottom no-repeat;
    background-color: #e4ecf9; */
}

header.open .menu-box .left-box.box4 {
    /* background: url('../../images/main/img_menu_4.png') 98% bottom no-repeat;
    background-color: #e4ecf9; */
}

header.open .menu-box .left-box div {
	width: 47%;
	height: 11.5rem;
	float: right;
	padding-top: 4rem;
	text-align: center;
	border-left: 1px solid #d2d2d2;
}

header.open .menu-box .left-box div .title {
	color: #004f95;
	font-size: 1.375rem;
	letter-spacing: -0.05rem;
	margin-bottom: 0.7rem;
}

header.open .menu-box .left-box div .phrase {
	font-size: 0.75rem;
	letter-spacing: -0.02rem;
	line-height: 160%;
	color: #888888;
}

header.open .menu-box .right-box {
	width: 60%;
	height: 11.5rem;
	/* padding: 1rem 3rem;
	padding-right: 0; */
	float: left;
	display: flex;
}

header.open .menu-box .right-box div:first-child {
	display: flex;
	width: 32.2rem;
	padding: 1rem 3rem;
	padding-right: 0;
}

header.open .menu-box .right-box div.photo-wrap,
header.open .menu-box .right-box div.oper-wrap {
	display: block;
	min-width: 11.5rem;
	height: 11.5rem;
	padding: 1.5rem 0.7rem;
	border-left: 1px solid #d2d2d2;
	border-right: 1px solid #d2d2d2;
	background: url('../../images/main/bg_menu_oper.jpg') 93% bottom no-repeat;
	cursor: pointer;
}

header.open .menu-box .right-box div.photo-wrap {
	border-left: none;
	background: url('../../images/main/bg_menu_photo.jpg') 93% bottom no-repeat;
}

header.open .menu-box .right-box div.photo-wrap .title,
header.open .menu-box .right-box div.oper-wrap .title {
	font-size: 1rem;
	letter-spacing: -0.03rem;
	margin-bottom: 0.5rem;
}

header.open .menu-box .right-box div.photo-wrap .phrase,
header.open .menu-box .right-box div.oper-wrap .phrase {
	font-size: 0.6875rem;
	letter-spacing: -0.02rem;
	line-height: 160%;
	color: #888888;
}

header.open .menu-box .right-box div ul {
	width: 11rem;
	list-style: none;
	float: left;
	margin-right: 4rem;
}

header.open .menu-box .right-box div ul:nth-of-type(3) {
	margin-right: 0;
}

header.open .menu-box .right-box div ul li {
	line-height: 195%;
	letter-spacing: -0.03rem;
}

header.open .menu-box .right-box div ul li .menu-dot {
	font-size: 0.3rem;	
}

header.open .menu-box .right-box div ul li a {
	vertical-align: middle;
}

header.open .menu-box .right-box div ul li a:hover,
header.open .menu-box .right-box div ul li a:focus,
header.open .menu-box .right-box div ul li a:active {
	color: #ffffff;
	background-color: #004f95;
	width: 100%;
	height: 1.875rem;
	padding: 0.2rem 0.4rem;
}

header .lnb #button-open-all-menu {
    display: none;
    position: relative;
    width: 2.25rem;
    height: 2.75rem;
    border: 0;
    z-index: 1010;
    overflow: hidden;
    background: none;
    cursor: pointer;
}

header .lnb #button-open-all-menu:before,
header .lnb #button-open-all-menu:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 0.25rem;
    background: #808080;
    right: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

header .lnb #button-open-all-menu:before {
    top: 0.5rem;
}

header .lnb #button-open-all-menu:after {
    bottom: 0.5rem;
}

header .lnb #button-open-all-menu span {
    display: block;
    position: absolute;
    width: 100%;
    height: 0.25rem;
    background: #808080;
    right: 0;
    top: 1.25rem;
    font-size: 0;
    text-indent: -9999px;
    line-height: 9999px;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

header .lnb #button-open-all-menu:focus:before,
header .lnb #button-open-all-menu:hover:before {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0s
}

header .lnb #button-open-all-menu:focus span,
header .lnb #button-open-all-menu:hover span {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0.1s
}

header .lnb #button-open-all-menu:focus:after,
header .lnb #button-open-all-menu:hover:after {
    background-color: #222222;
    animation: move-run 0.3s ease-in-out 0.2s
}

@keyframes move-run {
    50% {
        right: 2.75rem;
    }
    51% {
        right: -2.75rem;
    }
    100% {
        right: 0;
    }
}

@media only screen and (max-width: 991px) {

    header.open {
    	height: 5rem;
    }

    header .lnb {
        padding: 0.375rem 1rem 0.375rem 0;
        text-align: right;
    }

    header .lnb > ul {
        display: block;
        width: 100%;
        height: calc(100% - 6.875rem);
        padding: 2rem 2% 0;
        position: fixed;
        top: 5rem;
        right: auto;
        bottom: 0;
        left: 100%;
        z-index: 1100;
        background-color: #ffffff;
        overflow: auto;
        -webkit-transition: left 0.2s;
        -moz-transition: left 0.2s;
        -ms-transition: left 0.2s;
        -o-transition: left 0.2s;
        transition: left 0.2s;
    }

    header .lnb.active > ul {
        left: 0;
    }

    header .lnb > ul > li {
        display: block;
        width: 100%;
        height: auto;
        text-align: left;
        float: none;
    }
    
    header .lnb > ul > li.lang {
	    width: 100%;
	    text-align: left;
	    margin-left: 0;
	}
	
	header .lnb > ul > li.all-menu {
	    width: 100%;
	}

    header .lnb > ul > li > a {
        display: block;
        border-bottom: 0.0625rem solid #dfdfdf;
        padding: 0.75rem 2%;
    }

    header .lnb > ul > li > a.active {
        color: #004f95;
    }

    .popup-backdrop {
        display: none;
        margin: auto;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        background-color: rgba(0, 0, 0, 0.2);
    }

    .popup-backdrop.active {
        display: block;
    }

    header .lnb > ul > li > a + ul {
        height: 0;
        padding: 0;
        border-bottom: 0 solid transparent;
        position: static;
        overflow: hidden;
        -webkit-transition: height 0.2s, border-bottom 0.2s;
        -moz-transition: height 0.2s, border-bottom 0.2s;
        -ms-transition: height 0.2s, border-bottom 0.2s;
        -o-transition: height 0.2s, border-bottom 0.2s;
        transition: height 0.2s, border-bottom 0.2s;
    }

    header .lnb > ul > li > a + ul.active {
        /*height: auto !important;*/
        border-bottom: 0.0625rem solid #dfdfdf;
        padding: 0.25rem 2% 0.5rem;
    }

    header .lnb > ul > li > a + ul.active > li > a {
        padding: 0.5rem 0;
    }

    header .lnb #button-open-all-menu {
        display: inline-block;
    }

    header .lnb #button-open-all-menu.active {
        width: 2.75rem;
    }

    header .lnb #button-open-all-menu.active:before {
        top: 1.375rem;
        right: 0;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    header .lnb #button-open-all-menu.active:after {
        top: 1.375rem;
        right: 0;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    header .lnb #button-open-all-menu.active span {
        height: 0;
        background: transparent;
    }

    header .lnb #button-open-all-menu.active:focus:before,
    header .lnb #button-open-all-menu.active:hover:before,
    header .lnb #button-open-all-menu.active:focus span,
    header .lnb #button-open-all-menu.active:hover span,
    header .lnb #button-open-all-menu.active:focus:after,
    header .lnb #button-open-all-menu.active:hover:after {
        background-color: #222222;
        animation: none;
    }

}

@media only screen and (max-width: 767px) {

    header.open {
        height: 4rem;
    }

    header h1 a {
        position: relative;
        top: -0.5rem;
    }

    header .gnb {
        width: calc(100% - 10.5rem);
        height: 1.5rem;
        border-bottom: none;
        top: 0;
        right: 0;
        left: 8rem;
        padding-right: 0;
    }

    header .gnb a {
        display: inline-block;
        /* border-bottom: 1px solid #666666; */
        padding: 0.375rem 0;
        line-height: 100%;
        font-size: 0.75rem;
        -webkit-transition: color 0.2s, border-bottom-color 0.2s;
        -moz-transition: color 0.2s, border-bottom-color 0.2s;
        -ms-transition: color 0.2s, border-bottom-color 0.2s;
        -o-transition: color 0.2s, border-bottom-color 0.2s;
        transition: color 0.2s, border-bottom-color 0.2s;
    }

    header .gnb a:hover,
    header .gnb a:focus,
    header .gnb a:active {
        border-bottom-color: #33a1d2;
    }

    header .gnb .gnb-sitemap {
        display: none;
    }

    header .lnb {
        width: 3.5rem;
        height: 2.25rem;
        top: 0;
        left: auto;
    }

    header .lnb > ul {
        height: calc(100% - 4rem);
        top: 4rem;
        padding-top: 0.75rem;
    }

    header .lnb > ul > li > a {
        font-size: 0.875rem;
    }

    header .lnb #button-open-all-menu {
        width: 1.5rem;
        height: 1.5rem;
        margin-top: 1rem;
    }

    header .lnb #button-open-all-menu:before,
    header .lnb #button-open-all-menu span,
    header .lnb #button-open-all-menu:after {
        height: 0.125rem;
    }

    header .lnb #button-open-all-menu:before {
        top: 0.25rem;
    }

    header .lnb #button-open-all-menu span {
        top: 0.675rem;
    }

    header .lnb #button-open-all-menu:after {
        bottom: 0.25rem;
    }

    header .lnb #button-open-all-menu.active {
        width: 1.5rem;
    }

    header .lnb #button-open-all-menu.active:before,
    header .lnb #button-open-all-menu.active:after {
        top: 0.75rem;
    }
}

@media only screen and (max-width: 575px) {
    /*header .lnb {
        left: 11rem;
    }*/
}

/* ** Body ** */
#body {
    /* min-height: 37.5rem; */
}

/* ** Footer ** */
footer {
    height: 17.625rem;
    padding: 0 0 2rem;
    line-height: 100%;
    font-size: 0.75rem;
    color: #c5c8cb;
    background-color: #595F6B;
}

footer a {
    color: #808080;
    text-decoration: none;
}

footer a:hover,
footer a:focus,
footer a:active {
    color: #33a1d2;
}

footer .etc-wrap {
	position: relative;    
    height: 3.5rem;
    background-color: #464C58;    
    margin-bottom: 2rem;
    font-size: 0.875rem;
	font-weight: bold;
	color: rgba(255,255,255,0.4);
	z-index: 130;
}

footer .etc-wrap .etc-list {
	width: 100%;
    max-width: 75rem;
    margin: 0 auto;
}

footer .etc-wrap .etc-list ul {
	list-style: none;
	display: flex;
	float: right;
}

footer .etc-wrap .etc-list ul li {
	display: table;
	table-layout: fixed;
	width: 13.75rem;
	height: 3.5rem;
	border-left: 1px solid rgba(255,255,255,0.2);
}

footer .etc-wrap .etc-list ul li select {
	-webkit-appearance: none;  /* 네이티브 외형 감추기 */
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 3.5rem;
    background: url('../../images/ic_sel_plus.jpg') 92% center no-repeat;
    background-color: transparent;
    border: none;
    font-size: 0.875rem;
	font-weight: bold;
    color: rgba(255,255,255,0.4);
    cursor: pointer;
    padding-left: 8%;
}

footer .etc-wrap .etc-list ul li select option {
	background-color: #464C58;
}

footer .etc-wrap .etc-list ul li:last-child {
	border-right: 1px solid rgba(255,255,255,0.2);
}

footer .etc-wrap .etc-list ul li a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: rgba(255,255,255,0.4);
	font-size: 0.875rem;
	font-weight: bold;
}

footer .container {
    height: 100%;
    font-size: 0;
}

footer h2 {
    display: inline-block;
    width: 29%;
}

footer h2 a {
    display: block;
    width: 100%;
    height: 100%;
}

footer address {
    display: inline-block;
    width: 71%;
    vertical-align: top;
    padding-top: 5px;
}

footer address p {
	display: inline-block;
    font-size: 0.75rem;
    line-height: 160%;
    color: rgba(255,255,255,0.4);
    letter-spacing: -0.03rem;
}

footer address button,
footer address .btn-admin {
    display: block;
	position: absolute;
	right: 0;
    padding: 5px 15px;
    background-color: #464C58;
    color: rgba(255,255,255,0.4);
    border: none;
    font-size: 12px;
    cursor: pointer;
}

footer .copyright {
    font-size: 0.75rem;
}

@media only screen and (max-width: 576px) {
	
	footer .container {
	    text-align: center;
	}
	
	footer h2 {
	    display: block;
	    width: 100%;
	}
	
	footer address {
	    width: 100%;
	}
	
	footer address p {
		display: block;
	}
	
	footer address button,
	footer address .btn-admin {
		left: 0;
	    right: 0;
	    margin: 0 auto;
	    margin-top: 1rem;
	}
}
