@charset "UTF-8";

@font-face {
    font-family: 'ROKAF Sans Medium';
    src: url('../../fonts/ROKAF Sans Medium.ttf') format('truetype');
}

/* ** Document ** */
html,
body {
    /* width: 100%;
    height: 100%; */
}

body {
    position: relative;
    font-size: 16px;
    color: #222222;
}

* {
    box-sizing: border-box;
    font-family: 'ROKAF Sans Medium', 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;
}

/* ** Common classes ** */
.container {
    position: relative;
    width: 98%;
    margin: 0 auto;    
}

#body .container {
    max-width: 75rem;
}

.blind {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    padding: 0;
    font-size:0;
    line-height:0;
    overflow: hidden;
    outline: none;
}

span.squareMeter,
span.romanum {
	font-family: 'Noto Sans KR', sans-serif !important;
	font-weight: 600;
}

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;
    }
}

.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;
}

/* common-table */
.common-table {
	table-layout: fixed;
    width: 100%;
    text-align: center;
}

.common-table thead tr th {
	height: 3.25rem;
    border: 1px solid #d2d2d2;
    font-weight: bold;
    vertical-align: middle;
    color: #444444;
    background-color: #F5F5F5;
}

.common-table thead tr:first-child th {
	border-top: 2px solid #1D1B64;
}

.common-table tbody tr td {
	height: 3.25rem;
    border: 1px solid #d2d2d2;
    border-top: 0;
    vertical-align: middle;
    color: #545454;
    line-height: 130%;
}

/* ** Header ** */
header {
    /*height: 6.875rem;*/
    height: 108px;
    /* padding-top: 1.5rem; */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    /* background-color: rgba(255, 255, 255, 0.90); */
    /* border-bottom: 2px solid #1E1B68; */
    /* background-image: linear-gradient(to bottom, transparent 68px, #1E1B68 68px, #1E1B68 70px, transparent 70px); */
    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;
    -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;
}

header.open {
    height: calc(108px + (2.125rem * 7) + 2rem);
    background-color: rgba(0,0,0,0.5);    
    background-image: linear-gradient(to bottom, transparent 107px, rgba(255,255,255,0.5) 107px, rgba(255,255,255,0.5) 108px, transparent 108px);
    z-index: 1100;
}

header.scroll {
    background-color: #ffffff;
    background-image: linear-gradient(to bottom, transparent 107px, #d2d2d2 107px, #d2d2d2 108px, transparent 108px);
    box-shadow: 1px 2px 8px rgba(0,0,0,0.1);
}

header.scroll.open {
    border-bottom: 1px solid #d2d2d2;
}

@media only screen and (max-width: 1200px) {
	header {        
        overflow: visible;
    }
    
    header.open {
        height: 108px;
        background-image: none;
    }
}

header a {
    text-decoration: none;
    color: #ffffff;
}

header.scroll a {
    color: #222222;
}

header a:hover,
header a:focus,
header a:active {
    /* color: #33a1d2; */
}

header .container > * {
    margin: auto;
    position: absolute;
    left: 0;
}

header h1 {
    height: auto;
    padding-top: 30px;
}

header h1 a {
    display: block;
    width: 100%;
    height: 100%;
    padding-left: 1rem;
}

header h1.logo a img {
    width: 100%;
}

@media only screen and (max-width: 1279px) {

}

@media only screen and (max-width: 1023px) {

}

@media only screen and (max-width: 767px) {
    header h1 {
	    padding-top: 20px;
	}
}

@media only screen and (max-width: 479px) {

}

header .gnb {
    width: calc(100% - 13.25rem);
    height: 1.875rem;
    border-bottom: 0.0625rem solid #e5e5e5;
    padding-right: 1rem;
    top: 0;
    right: 0;
    bottom: auto;
    left: 13.25rem;
    z-index: 1010;
    font-size: 0.75rem;
    text-align: right;
}

header .gnb li {
    display: inline-block;
    margin-left: 0.8rem;
    vertical-align: middle;
}

header .gnb li.prVideo {
	padding-left: 20px;
	background: url('../../images/main/ic_video.png') left center no-repeat;
}

header .gnb li a {
    font-weight: bold;
}

header .gnb li.linkedin a {
    padding: 0.1875rem 0 0.25rem;
    /*filter: grayscale(100%);*/
    -webkit-transition: filter 0.4s ease;
    -moz-transition: filter 0.4s ease;
    -ms-transition: filter 0.4s ease;
    -o-transition: filter 0.4s ease;
    transition: filter 0.4s ease;
}

header .gnb li.linkedin a:hover,
header .gnb li.linkedin a:focus,
header .gnb li.linkedin a:active {
    filter: grayscale(0%);
}

@media only screen and (max-width: 1199px) {
    header .gnb {
        padding-right: 1rem;
    }
}

@media only screen and (max-width:575px) {
    header .gnb {
        left: 11rem;
    }
}

header .lnb {
    width: calc(100% - 22rem);
    height: 108px;
    top: 0;
    right: 0;
    bottom: auto;
    left: 23rem;
    z-index: 1000;
    text-align: center;
}

header .lnb > ul:after {
    content: '';
    display: table;
    clear: both;
}

header .lnb > ul > li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
    /* width: 13%; */
    min-width: 13%;
    height: 108px;    
}

header .lnb > ul > li.lang {
	position: absolute;
    /* right: 3rem; */
    right: 0;
    width: auto;
    height: auto;
    padding-top: 42px;
    padding-left: 22px;
    color: #ffffff;
    font-size: 10px;
}

header .lnb > ul > li.lang::before {
	content: '';
	position: absolute;
    right: 63%;
    width: 18px;
    height: 18px;
    background: url('../../images/home/ic_language_2.png') center no-repeat;
}

header.scroll .lnb > ul > li.lang::before {
	background: url('../../images/home/ic_language.png') center no-repeat;
}

header.scroll .lnb > ul > li.lang {
	color: #222222;
}

header .lnb > ul > li.lang span {
	font-size: 16px;
	vertical-align: middle;
	padding: 0 5px;
    cursor: pointer;
}

header .lnb > ul > li.lang span.on {
	font-weight: 600;
}

/* header .lnb > ul > li.lang::before {
	content: '';
	position: absolute;
	top: 27px;
	left: 0;
    width: 18px;
    height: 18px;
    background: url('../../images/ic_language.png') no-repeat;
} */

header .lnb > ul > li.lang a {
	font-size: 0.925rem;
}

header .lnb > ul > li.lang select {
	border: 0;
	padding-right: 5px;
	background-color: transparent;
	color: #ffffff;
	font-size: 16px;
}

header.scroll .lnb > ul > li.lang select {
	color: #222222;
}

header .lnb > ul > li.lang select option {
	color: #222222;
}

header .lnb > ul > li > a {
    font-weight: 500;
    font-size: 18px;
    padding: 10px 20px;
}

header .lnb > ul > li.esvc > a {
    cursor: pointer;
}

header .lnb > ul > li:hover > a,
header .lnb > ul > li:focus > a,
header .lnb > ul > li:active > a {
    background-color: #17A1E0;
    border-radius: 20px;
    /* color: #000000; */
}

header.scroll .lnb > ul > li:hover > a,
header.scroll .lnb > ul > li:focus > a,
header.scroll .lnb > ul > li:active > a {
    color: #ffffff;
}

header .lnb > ul > li.lang:hover > a,
header .lnb > ul > li.lang:focus > a,
header .lnb > ul > li.lang:active > a {
    color: #444444;
    border-bottom: 2px solid #444444;
    padding-bottom: 5px;
}

header .lnb > ul > li > a + ul {
    display: block;
    padding-top: 0.75rem;
    padding-bottom: 1.75rem;
    position: absolute;
    top: 108px;
    right: 0;
    bottom: auto;
    left: 0;
}

header .lnb > ul > li > a + ul > li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 34px;    
}

header .lnb > ul > li > a + ul > li > a {
    font-size: 0.875rem;
    padding: 8px 15px;
}

header .lnb > ul > li > a + ul > li:hover > a,
header .lnb > ul > li > a + ul > li:focus > a,
header .lnb > ul > li > a + ul > li:active > a {
    background-color: #ffffff;
    border-radius: 15px;
    color: #000000;
}

header.scroll .lnb > ul > li > a + ul > li:hover > a,
header.scroll .lnb > ul > li > a + ul > li:focus > a,
header.scroll .lnb > ul > li > a + ul > li:active > a {
    background-color: #d2d2d2;
    color: #ffffff;
}

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: #222222;
    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: #222222;
    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: 1279px) {
	header .lnb > ul > li > a {
	    font-size: 16px;
	}
	
	header .lnb > ul > li > a + ul > li > a {
	    font-size: 12px;
	}
}

@media only screen and (max-width: 1200px) {
    header {
        position: fixed;
    }

    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: 106px;
        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 > ul * { 
    	background: none !important;
    }

    header .lnb.active > ul {
        left: 0;
        border-top: 1px solid #1E1B68;
    }

    header .lnb > ul > li {
        display: block;
        width: 100%;
        height: auto;
        text-align: left;
        float: none;
    }
    
    header .lnb > ul > li.lang {
	    display: block;
	    position: relative;
	    right: 0;
	    width: 100%;
	    height: auto;
	    text-align: left;
	    float: none;
	    padding: 0.75rem 1.5%;
	}
	
	header:not(.scroll) .lnb > ul > li.lang {
	    color: #222222;
	}
	
	header .lnb > ul > li.lang::before {
	    display: none;
	}
	
	header .lnb > ul > li.lang select {
		font-size: 14px;
	    color: #222222;
	}

    header .lnb > ul > li > a {
        display: block;
        border-bottom: 0.0625rem solid #dfdfdf;
        padding: 0.75rem 2%;
    }
    
    header.scroll .lnb > ul > li:hover > a,
    header .lnb > ul > li:hover > a,
	header .lnb > ul > li:focus > a,
	header .lnb > ul > li:active > a {
	    border-radius: 0;
	    color: #17A1E0;
	}
    
    header:not(.scroll) .lnb > ul > li > a {
        color: #222222;
    }
    
	header .lnb > ul > li > a:hover,
    header .lnb > ul > li > a.active,
    header.scroll .lnb > ul > li > a.active {
        color: #17A1E0;
    }
    
    .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 > li {
        justify-content: flex-start;
    }
    
    header .lnb > ul > li > a + ul.active > li > a {
        padding: 0.5rem 0;
        color: #222222;
    }
    
    header.scroll .lnb > ul > li > a + ul > li:hover > a,
    header .lnb > ul > li > a + ul.active > li > a:hover {
        color: #17A1E0;
    }    

    header .lnb #button-open-all-menu {
        display: inline-block;
        top: 25px;
    	right: 20px;
    }
    
    header:not(.scroll) .lnb #button-open-all-menu:before,
	header:not(.scroll) .lnb #button-open-all-menu span,
	header:not(.scroll) .lnb #button-open-all-menu:after {
	    background-color: #ffffff;
	}
    
    header:not(.scroll) .lnb #button-open-all-menu:focus:before,
	header:not(.scroll) .lnb #button-open-all-menu:hover:before,
	header:not(.scroll) .lnb #button-open-all-menu:focus span,
	header:not(.scroll) .lnb #button-open-all-menu:hover span,
	header:not(.scroll) .lnb #button-open-all-menu:focus:after,
	header:not(.scroll) .lnb #button-open-all-menu:hover:after {
	    background-color: #ffffff;
	}

    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:not(.scroll) .lnb #button-open-all-menu.active:focus:before,
    header:not(.scroll) .lnb #button-open-all-menu.active:hover:before,
    header:not(.scroll) .lnb #button-open-all-menu.active:focus span,
    header:not(.scroll) .lnb #button-open-all-menu.active:hover span,
    header:not(.scroll) .lnb #button-open-all-menu.active:focus:after,
    header:not(.scroll) .lnb #button-open-all-menu.active:hover:after {
        background-color: #ffffff;
        animation: none;
    }

}

@media only screen and (max-width: 767px) {
    header {
        padding-top: 1rem;
    }
    
    header h1 a img {
        width: 5.5rem;
        height: 2.125rem;
    }

    header .gnb {
        width: calc(100% - 10.5rem);
        height: 1.5rem;
        border-bottom: none;
        top: 0.25rem;
        right: 3.5rem;
        left: 8rem;
    }

    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: 106px;
        padding-top: 0.75rem;
    }

    header .lnb > ul > li > a {
        font-size: 0.875rem;
    }

    header .lnb #button-open-all-menu {
        top: 20px;
    	right: 3px;
        width: 1.5rem;
        height: 1.5rem;
    }

    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: 479px) {
   
}

/* ** Footer ** */
footer {
    height: 165px;
    font-size: 14px;
    color: #898989;
    background-color: #333333;
    overflow: hidden;
    clear: both;
}

footer a {
    text-decoration: none;
}

footer .container {
	width: 100%;
    height: 100%;
}

footer .container .etc-wrap {
    position: relative;
    height: 54px;    
    background-color: #333333;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 0 100px;
    overflow: hidden;
}

footer .container .etc-wrap ul {
	float: left;
	display: flex;
    height: 100%;
}

footer .container .etc-wrap ul li {
    
}

:lang(en) footer .container .etc-wrap ul li#email,
:lang(en) footer .container .etc-wrap ul li#privacy {
    display: none;
}

footer .container .etc-wrap ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-weight: 500;
    color: #898989;
    padding: 0 10px;
}

footer .container .etc-wrap ul li a:hover,
footer .container .etc-wrap ul li a:active {
    color: #ffffff;
}

footer .container .etc-wrap .sns {
    float: right;
    display: flex;
    height: 100%;
}

footer .container .etc-wrap .sns > div {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    cursor: pointer;
}

footer .container .address-wrap {
    position: relative;
    height: calc(100% - 54px);
    padding: 0 100px 0 35px;
}

footer .container .address-wrap h2 {
    float: left;
    font-size: 18px;
    font-weight: bold;
    padding: 1.5rem 0;
    margin-right: 45px;
}

footer .container .address-wrap address {
	float: left;
	height: 100%;
}

footer .container .address-wrap address p {
	display: flex;
    align-items: center;
    height: 100%;
    font-size: 14px;
    font-weight: 500;    
}

footer .container .address-wrap select {
    float: right;
    width: 200px;
    height: 35px;
    font-size: 14px;
    font-weight: 500;
    padding-left: 14px;
    margin-top: 30px;
    color: #888888;
    border: 1px solid rgba(255,255,255,0.1);
    appearance: none;
    background: url('../../images/home/ic_arrow_down.png') 90% center no-repeat;    
}

footer .container .address-wrap select option {
    background-color: #333333;
}

@media only screen and (max-width: 1279px) {

}

@media only screen and (max-width: 1023px) {
    footer {
        height: 16rem;
        padding: 1rem 0;
    }
    
    footer .container .address-wrap h2 {
    	float: none;
    }
    
    footer .container .address-wrap address {
	    float: left;
	    height: auto;
	}
	
	footer .container .address-wrap select {
		margin-top: 0;
	}
}

@media only screen and (max-width: 767px) {
	footer {
        height: 18rem;
    }
    
    footer .container .etc-wrap {
    	padding: 0 20px;
    }
    
    footer .container .address-wrap select {
    	position: absolute;
	    top: 40px;
	    right: 30px;
    }
}

@media only screen and (max-width: 479px) {
	footer {
        height: 20rem;
    }
    
    footer .container .etc-wrap {
    	height: auto;
    	padding: 20px;
    }
    
    footer .container .etc-wrap ul {
	    float: none;
	    justify-content: space-between;
	    margin-bottom: 15px;
	}
	
	footer .container .etc-wrap ul li a {
	    justify-content: center;
	    font-size: 12px;
	    letter-spacing: -1px;
	}
	
	footer .container .etc-wrap .sns {
	    float: none;
	    justify-content: center;
	}
	
	footer .container .address-wrap {
		padding: 0;
		text-align: center;
	}
	
	footer .container .address-wrap h2 {
		margin-right: 0;
	}
	
	footer .container .address-wrap address {
		float: none;
		margin-bottom: 25px;
	}
	
	footer .container .address-wrap address p {
		display: block;
	}
	
	footer .container .address-wrap select {
    	position: unset;
    	float: none;
    }
}
