/* layout.css */
.progress-container .progress-bar { position: absolute; bottom: 160px; z-index: 0; width: 100%; margin:0; height: 1px; background-color: #555; }
@media (max-width: 1930px){
	.progress-container .progress-bar { bottom: 50px; }
}

.current-menu-item,
.gnb-allmenu-depth1.current-menu-parent > .gnb-menu-txt,
.gnb-allmenu-depth2 li a.current-menu-item {
    color: #27d2cb !important;
}

/* gnb */
#gnb_all { position: fixed; top: 0; z-index: 999994; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.85); visibility: hidden; transform: translateX(100%); transition: transform 1s ease, visibility 0s 1s; overflow-y: auto; overflow-x: hidden; }
#gnb_all.open { visibility: visible; transform: translateX(55%); transition: transform 1s ease; }
.gnb-top { position: relative; height: 70px; margin:0 0 40px 0; border-bottom:1px #555 solid; }
.gnb-top .gnb_close_btn { position: fixed; top: 30px; right: 57%; background: none; cursor: pointer; transition:all .3s ease; }
.gnb-top .gnb_close_btn:hover { transform:rotate(90deg); }
.gnb-top .gnb_logo { position: relative; margin: 35px 0 0 70px; cursor: pointer; }

/* login */
.login-wrap { margin: 30px 0 80px 120px; padding-top:40px; border-top:1px #555 solid; }
.login-wrap a { margin-right: 20px; font-size: 17px; color: #ccc; transition: color 0.4s; }
.login-wrap a:hover { color: #27d2cb; text-decoration: none; }

/* sns */
.sns-wrap { margin: 0 0 80px 560px; position: relative; display: inline-block; top:-117px; }
.sns-wrap a { margin-right: 10px; }

/* gnb inner */
.gnb-inner { width: 1260px; opacity: 1; visibility: hidden; transform: translateX(-100%); transition:all 0s 1s ease; }
#gnb_all.open .gnb-inner { opacity: 1; visibility: visible; transform: translateX(0); transition:all 0s ease; }

/* image box */
.gnb-allmenu-imgbox { width: 450px; margin-right: 8%; text-align: center; }
.gnb-allmenu-imgbox .imgbox { position: relative; margin-top: 5rem; }
.gnb-allmenu-imgbox .imgbox .img { position: absolute; inset: 0; }
.gnb-allmenu-imgbox .txtbox {  position: absolute; left: 0; right: 0; bottom: 7rem; }
.gnb-allmenu-imgbox .txtbox p { margin-top: 15px; font-size: 1.875rem; color: #fff; }

/* menu list */
.gnb-allmenu-list { margin: 0 0 0 120px; }
.gnb-allmenu-list a { color: #fff; }
.gnb-menu-txt { padding-right: 0; text-align: left; }

.menu-txt01 { position: relative; display: inline-block; float:left; font-size: 1.2rem; font-weight: bold; }
.menu-txt01-line { position: relative; display: block; width:30px; border-bottom: 1px solid #fff; top:38px; }

/* depth 1 */
.gnb-allmenu-depth1 { margin-bottom: 10px; }
.gnb-allmenu-depth1.on .gnb-menu-txt,
.gnb-allmenu-depth1:hover .menu-txt01 { color: #62CED6; transition: color 0.4s; }

.menu-txt01::after { content: ''; position: absolute; left: 0; bottom: 10px; width: 100%; border-bottom: 0px solid #fff; transform: scaleX(0); transform-origin: right; transition: transform 0.4s cubic-bezier(1, 0, 0, 1); }

.gnb-allmenu-depth1:hover .menu-txt01::after { transform: scaleX(1); transform-origin: left; }

/* depth 2 */
.gnb-allmenu-depth2 { position:relative; display: inline-block; top:-30px; }
.gnb-allmenu-depth2 li { display: inline-block; width:100%; margin-left: 300px; text-align:left; }
.gnb-allmenu-depth2 li a { height: 28px; line-height: 28px; font-size: 1.1rem; letter-spacing: -0.02em; color: #fff; transition: color 0.4s; }
.gnb-allmenu-depth2 li:hover a { color: #62CED6; text-decoration: none; }

/* active group */
.gnb-allmenu-list .on ul { opacity: 1; visibility: visible; z-index: 10; }
