@charset "utf-8";
/* layout.css는 전체적인 스타일 정의 */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

#wrapper {position:relative; overflow:hidden;}

.contain {position:relative; padding-left:15px; padding-right:15px; margin:0 auto; height:inherit; letter-spacing:-.03em;}
#header .contain {max-width:1830px !important;}
#footer .contain {max-width:1830px !important;}
#main .contain {max-width:1830px;}
#sub .contain {max-width:1630px;}

/* header */
#header {position:fixed; top:0; left:0; width:100%; height:140px; z-index:90; letter-spacing:-.03em; transition:all 0.6s;}
#header .sitelogo a {display:block; position:absolute; top:60px; left:15px; width: 240px; height: 73px; background-image: url('../img/layout/logo.png'); background-repeat: no-repeat; background-position: left center; transition: all 0.5s;}

#header.active {transform:translateY(0);}
#header.hide {transform:translateY(-100%);}

#gnb {opacity: 0; visibility: hidden; position: absolute; top: 90px; right: 40px; transition: all 0.6s;}
#gnb>ul {display:flex; margin:0;} 
#gnb>ul>li {position:relative; text-align:center; padding:0 30px;}
#gnb>ul>li>a {position:relative; display:inline-block;  font-size:20px; font-weight:500; color:#fff; transition: all 0.5s;}
#gnb>ul>li>a:before {opacity: 0; position: absolute; top: 50%; left: 0; margin-top: -8px; content: ''; width: 9px; height: 15px; background: url('../img/layout/gnb-hover.png') no-repeat left center; transition: all 0.5s;}
#gnb>ul>li>a:after {position: absolute; top: 0; left: -5px; content: ''; width: 0; height: 28px; /* background: rgba(0,0,0,0.2); */ background: #2e2e2e; opacity: 0.5; z-index: -1; transition: all 0.5s 0.5s;}
#gnb>ul>li>a:hover {padding-left: 18px;}
#gnb>ul>li>a:hover:before {opacity: 1;}
#gnb>ul>li>a:hover:after {width: calc(100% + 10px);}
#gnb>ul>li>a:not(:hover):after {width: 0; transition: width 0.5s;}

.gnb-open #gnb {opacity: 1; visibility: visible; right: 95px;}

.sitemap-btn {position:absolute; top:75px; right:30px; display: flex; justify-content: center; align-items: center; width:60px; height:60px; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; transition: all 0.5s;}
.sitemap-btn .wrap {position: relative;  width: 20px; height: 16px; transition: all 0.5s;}
.sitemap-btn span {position:absolute; width:20px; height:2px; background:#fff; left: 0; transition: all 0.5s;}
.sitemap-btn span:nth-child(1) {top: 3px;}
.sitemap-btn span:nth-child(2) {bottom: 3px;}

.gnb-open .sitemap-btn .wrap {height: 16px;}
.gnb-open .sitemap-btn span:nth-child(1) {top: 50%; transform: rotate(45deg); margin-top: -2px;}
.gnb-open .sitemap-btn span:nth-child(2) {bottom: 50%; transform: rotate(-45deg);}

.mob-gnb {display: none; visibility: hidden; position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100vh; transition: all 0.5s;}
.mob-gnb .wrap {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 100vh; z-index: 110;}
.mob-gnb ul {width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.mob-gnb ul li a {font-size: 24px; font-weight: 500; line-height: 2em; color: #fff; opacity: 0.7; text-align: center; transition: all 0.5s;}
.mob-gnb ul li a:hover {opacity: 1;}

/* header scrolled */
#header.scrolled {background: #fff;}
#header.scrolled .sitelogo a {background-image: url('../img/layout/logo_scrolled.png');}
#header.scrolled #gnb>ul>li>a {color:#606060;}
#header.scrolled #gnb>ul>li>a:before {background: url('../img/layout/gnb-hover-scrolled.png') no-repeat left center;}
#header.scrolled .sitemap-btn {border: 1px solid #606060;}
#header.scrolled .sitemap-btn span {background:#606060;}

/* footer */
#main #footer {display: none;}
#footer {padding:80px 0 70px; background: #2e2e2e;}
.footer-logo {margin-bottom: 10px;}
.footer-info {display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid rgba(221,221,221,0.2);}
.footer-info p {font-size: 16px; line-height: 1.4em; color: #606060;}
.footer-info p br.mob-only {display: none;}
.footer-info .mail-box {display: flex; flex-direction: column; justify-content: center; width: 200px; height: 55px; background: #595959; cursor: pointer;}
.footer-info .mail-box p {position: relative; font-size: 13px; line-height: 1.5em; color: rgba(255,255,255,0.7); padding-left: 40px;}
.footer-info .mail-box p:before {position: absolute; top: 50%; left: 19px; margin-top: -6px; content: ''; width: 14px; height: 11px; background: url('../img/layout/footer_mail.png') no-repeat left center;}
.footer-info .mail-box small {font-size: 14px; line-height: 1.3em; color: rgba(255,255,255,0.7); padding-left: 40px;}
.footer-policy {display: flex; justify-content: space-between; flex-wrap: wrap;}
.footer-policy p {font-size: 15px; line-height: 1.4em; color: #606060;}
.footer-policy ul {display: flex; margin: 0 -12px;}
.footer-policy ul li {position: relative; padding: 0 12px;}
.footer-policy ul li:after {position: absolute; top: 50%; margin-top: -6px; right: 0; content: ''; width: 1px; height: 12px; background: #606060;}
.footer-policy ul li:last-child:after {display: none;}
.footer-policy ul li a {font-size: 16px; line-height: 1.4em; color: #606060; transition: all 0.5s;}
.footer-policy ul li a:hover {color: #fff;}

.scroll-top {position: fixed; bottom: 220px; right: 50px; width: 55px; height: 55px; border: 1px solid #4c4e4e; background: url('../img/layout/scroll_top.png') no-repeat center center #2e2e2e; transition: all 0.4s; z-index: 20;}
.scroll-top:hover {border-radius: 50%;}
html.scroll-fade .scroll-top {right:-60px;}

/* siteMap : E */
/* siteMap : responsive */
@media (max-width:1400px){
	.site-wrap .wrap:after {left:500px;}
	.site-wrap .wrap .info-wrap {max-width:500px; padding-left:0;}
	.site-wrap .info .box dl {font-size:16px;}	
	.site-wrap .wrap .nav-menu {padding-left:60px;}
	.nav-menu > ul > li > span a {font-size:40px;}
	.nav-menu .submenu ul {padding-top:20px; padding-left:0;}
	.nav-menu .submenu ul li {padding-right:20px;}
	.nav-menu .submenu ul li a {font-size:20px;}
}
@media (max-width:1024px){
	.site-wrap .wrap:after {display:none;}
	.site-wrap .head {position:relative; left:0; height:80px;}
	.sitemap .sitemap-close {top: calc(40px / 2);}
	.site-wrap .wrap {padding:40px 0; height:calc(100vh - 80px); flex-direction:column-reverse;}
	.site-wrap .wrap .nav-menu {width:100%; padding-left:0;}
	.nav-menu > ul > li {margin-bottom:20px;}
	.nav-menu > ul > li > span a {font-size:24px; padding:0 5px;}
	.nav-menu .submenu ul {padding-top:10px;}
	.nav-menu .submenu ul li {padding-right:15px; margin-bottom:10px;}
	.nav-menu .submenu ul li a {font-size:16px;}
	.site-wrap .info .box {margin-bottom:20px;}
	.site-wrap .info .box h4 {font-size:16px; margin-bottom:10px;}
	.site-wrap .info .box:last-child {margin-bottom:20px;}
	.site-wrap .btn-wrap .more {width:200px; line-height:50px; font-size:16px; padding:0 20px; margin-bottom:20px;}
	.site-wrap .btn-wrap .more:after {right:20px;}
}
@media (max-width:640px){
	.site-wrap .head {height:60px;}
	.sitemap .sitemap-close {top: calc(60px / 2);}	
	.site-wrap .wrap {padding:30px 0; height:calc(100vh - 60px);}
	.nav-menu > ul > li > span a {font-size:24px;}
	.nav-menu > ul > li > span a:after {height:10px; bottom:0;}
	.nav-menu .submenu ul li {padding-right:15px; margin-bottom:8px;}
	.nav-menu .submenu ul li a {font-size:16px;}
	.site-wrap .wrap .info-wrap {display:none;}
	
}
