/* ======================================================================================================================================================================== */
/* ============================================================ header style start =========================================================================== */
/* ======================================================================================================================================================================== */

nav {width: 100%;}
.spinner-master input[type=checkbox] {display: none;}

/* ==================================== menu (PC) ============================================= */
#header {position: fixed; z-index: 1000; top: 0; width: 100%; transition: 0.5s ease-out; background: transparent;}
#header #logo img {width: 240px; height: auto; position: relative; left: 50%; top: 50%; transform: translate(-50%,-50%); transition: 0.1s ease-out;}
#header.on,
#header.on2 {background: #2a2727;}

/* ===================== menu ===================== */
#header .menu-wrap {position: relative; padding: 0 10px;}
#header .menu {position: static !important; display: flex; justify-content: space-between; height: 90px; transition: all ease 0.3s; max-width: 1400px !important;}
#header #logo {display: inline-block; height: 90px; padding-right: 20px;}


/* 1depth */
#header .menu .dropdown {display: flex; width: 100%; max-width: 1000px; justify-content: center;}
#header .menu .dropdown > li {position: relative; min-width: 14.28%; text-align: center; height: 90px;}
#header .menu .dropdown > li:hover > a {font-weight: 700;}
#header .menu .dropdown > li > a {position: relative; display: inline-block; line-height: 90px; color: #fff; font-size: 18px; letter-spacing: 0.05em; transition: all ease 0.3s;}
#header .menu .dropdown > li > a::before {position: absolute; content: ''; left: 0; bottom: 20px; width: 0; height: 2px; background: #fff; transition: all 0.2s ease-in-out;}
#header .menu .dropdown > li:hover > a::before {width: 100%;}
#header.on .menu .dropdown > li > a,
#header.on2 .menu .dropdown > li > a {color: #fff;}


/* 2depth */
#header .menu .dropdown article {position: absolute; left: 0; display: none; width: 100%;}
#header .menu .dropdown article.active {display: block;}
#header .menu .dropdown ul {position: relative; display: flex; top: -10px; padding: 8px 0; margin: 0 auto; width: 100%; background: #fff; flex-direction: column; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;}
#header .menu .dropdown ul li {padding: 8px; flex: 1;}
#header .menu .dropdown > li:first-child ul {flex-wrap: wrap;}
#header .menu .dropdown ul li a {position: relative; display: inline-block;}
#header .menu .dropdown ul li a::after {content: ''; display: block; width: 0; height: 1px; background-color: #333; position: absolute; left: 50%; transform: translate(-50%, 0); bottom: 0;}
#header .menu .dropdown ul li:hover a {font-weight: 700;}
#header .menu .dropdown ul li:hover a::after {width: 100%; transition: all 0.5s ease;}

#header .menu .lang {display: flex; align-items: center; margin: 0;}
#header .menu .lang a {max-width: 35px; margin: 0 3px;}

#header .multilingual {position: absolute; display: none; top: 50%; transform: translateY(-50%); right: 20px; z-index: 2;}
#header .custom-dropdown {position: relative; width: 60px; font-size: 16px; color: #fff; transition: color 0.5s ease-out;}
#header .custom-dropdown__selected {position: relative; cursor: pointer; font-family: 'Inter', sans-serif; font-weight: 400;}
#header .custom-dropdown__selected img {max-width: 35px;}
#header .custom-dropdown__selected::before {position: absolute; content: ''; right: 10px; top: 50%; transform: translateY(-50%); width: 12px; height: 7.5px; background: url(../img/custom/arrow_down_w.png) center/cover no-repeat;}
#header .custom-dropdown__selected.active::before {background: url(../img/custom/arrow_up_w.png) center/cover no-repeat;}
#header .custom-dropdown__options {display: none; position: absolute; top: 100%; left: 0; width: 100%; border-radius: 5px; background-color: #494949; color: #fff; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; z-index: 10; font-family: 'Inter', sans-serif; font-weight: 400;}
#header .custom-dropdown__option {padding: 5px 10px; cursor: pointer; transition: background-color 0.2s; text-align: center;}
#header .custom-dropdown__option img {max-width: 30px;}
#header .custom-dropdown__option:hover {background-color: #f2f2f2; color: #333;}

/* ================== sub-menu ===================== */
/* tab-menu */
.tab-menu-wrap {position:relative; height: 50px;}
.tab-menu {position: absolute; top: 0; width: 100%; z-index: 100;}
.tab-menu * {font-size: 15px;}
.tab-menu::before {position: absolute; content: ''; display: block; left: 0; top: 0; width: 100%; height: 50px; background-color: #333; z-index: -4; border-bottom: 1px solid #dcdcdc;}
.tab-menu .home-btn {display:inline-block; padding: 15px 15px; text-align:left; border-left: 1px solid #dcdcdc; border-right: 1px solid #dcdcdc; height: 50px;} 
.tab-menu .home-btn img {width: 50px; height: auto;}
.tab-menu .inner {display: flex;}
.tab-menu .inner div {width: 100%;}
.tab-menu .inner div ul {cursor:pointer; position:relative; width: 100%;}
.tab-menu .inner div p.btn {position: relative ; display: flex; align-items: center; padding: 12px 10px; min-height: 50px; color: #fff;  border-right: 1px solid #dcdcdc; cursor: pointer;}
.tab-menu .inner div p.btn::after {position: absolute; content: ''; transform: translate(0, -50%); top: 50%; right: 10px; width: 22px; height: 22px; transition: all ease 0.5s; background: url(../img/sub_navi_off.png) 0 0 no-repeat;}
.tab-menu .inner div:hover p.btn::after {background: url(../img/sub_navi_on.png) 0 0 no-repeat; transition: all ease 0.5s;}
.tab-menu .inner div ul {display: none; border: 1px solid #dcdcdc;}
.tab-menu .inner div ul li a {display: block; color: #000; padding: 7px 10px; background-color: #f3f7fb;}
.tab-menu .inner div ul li a:hover {background-color: #91c8c5; color: #fff;}

/* menu button style */
.spinner-master {display: none; z-index: 10;}
.spinner-master * {transition: all 0.3s; box-sizing: border-box;}
.spinner-master {position: absolute; top: 50%; transform: translateY(-50%); right: 20px; height: 30px; width: 25px;}
.spinner-master label {display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; position: absolute; z-index: 99; height: 100%; width: 100%;}
.spinner-master .spinner {position: absolute; height: 3px; width: 100%; padding: 0; background-color: #fff;}
.spinner-master .diagonal.part-1 {position: relative; float: left;}
.spinner-master .horizontal {position: relative; float: left; margin-top: 4px;}
.spinner-master .diagonal.part-2 {position: relative; float: left; margin-top: 4px;}
.spinner-master input[type=checkbox]:checked ~ .spinner-spin > .horizontal {opacity: 0; margin-top: 3px;}
.spinner-master input[type=checkbox]:checked ~ .spinner-spin > .diagonal.part-1 {transform: rotate(135deg); -webkit-transform: rotate(135deg);}
.spinner-master input[type=checkbox]:checked ~ .spinner-spin > .diagonal.part-2 {transform: rotate(-135deg); -webkit-transform: rotate(-135deg); margin-top: -9px;}

.mobile-menu-wrap {display: none;}


@media screen and (max-width:1500px){
	#header .menu {justify-content: flex-start;}
}


/* ============================== Mobile size : 1200px ============================== */

@media screen and (max-width:1200px){
.spinner-master {display: block;}
#header {background: #2a2727;}
#header #logo {height: 75px;}
#header #logo img {filter: brightness(1);}
#header .menu {height: 75px;}
#header .menu .dropdown,
#header .menu .search {display: none;}

#header .multilingual {right: 60px;}

.mobile-menu-wrap {display: block; position: fixed; left: -100%; top: 0; width: 100%; height: 100%; transition: left cubic-bezier(0.65, 0.13, 0.35, 0.95) 0.7s;}
.mobile-menu-wrap .mobile-menu {position: absolute; display: flex; flex-direction: column; justify-content: space-between; left: 0; top: 0; max-width: 400px; width: 100%; height: 100%; background: #2a2727; box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; }
.mobile-menu-wrap .mobile-menu-bg {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); opacity: 0; transition: all 0.3s ease-in-out; z-index: -1;}
.mobile-menu-wrap.active {left: 0;}
.mobile-menu-wrap.active .mobile-menu-bg {opacity: 1;}

.mobile-menu {padding: 40px 20px; overflow-y: scroll;}
.mobile-menu::-webkit-scrollbar {width: 0;}
.mobile-menu::-webkit-scrollbar-track {box-shadow: none; background-color: none;}
.mobile-menu::-webkit-scrollbar-thumb {background-clip: padding-box; background-color: transparent;}
.mobile-menu .mobile-menu-logo img {display: inline-block; max-width: 240px; width: 100%;}

.mobile-menu-list {margin-top: 40px;}
.mobile-menu-list > li {position: relative; margin-bottom: 10px; padding: 8px 16px;}
.mobile-menu-list > li > a {display: block; font-size: 26px; letter-spacing: 0.1em; color: #fff; cursor: pointer;}
.mobile-menu-list > li > a::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); margin-left: 10px; width: 20px; height: 20px; background: url(../img/down_icon_w.png) center/cover no-repeat;}
.mobile-menu-list > li.active > a::after {background: url(../img/up_icon_w.png) center/cover no-repeat;} 
.mobile-menu-list > li.none > a::after {display: none;}

/* 하위 메뉴 스타일링 */
.mobile-menu-list article {display: none; position: relative; margin-top: 10px; left: 0; width: 100%; background: #f9f9f9; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);}
.mobile-menu-list li.active > article {display: block;}
.mobile-menu-list article ul li {border-top: 1px solid #eee; transition: all 0.2s ease-in-out;}
.mobile-menu-list article ul li:hover {background: #cdbba3; border-top: 1px solid #cdbba3;}
.mobile-menu-list article ul li a {display: inline-block; width: 100%; padding: 8px 12px; font-weight: normal; transition: all 0.1s ease-in-out;}
.mobile-menu-list article ul li:hover a {color: #fff;}

.mobile-menu-footer ul {display: flex;}
.mobile-menu-footer a {display: inline-block; max-width: 45px; width: 100%; margin: 0 5px;}
}


/* ============================== Mobile size : 1024px ============================== */
@media screen and (max-width:1024px){
	.tab-menu .inner {padding: 0;}
}

/* ============================== Mobile size : 769px ============================== */
@media screen and (max-width:769px){
	.tab-menu * {font-size: 14px;}
	.tab-menu .inner div p.btn:after {width: 18px; height: 18px; background-size: cover;}
	.tab-menu .inner div:hover p.btn:after {width: 18px; height: 18px; background-size: cover;}
}


/* ============================== Mobile size : 480px ============================== */
@media screen and (max-width:480px){
	#header #logo img {width: 200px;}
	
	#header .menu .lang {display: none;}
	#header .multilingual {display: block; right: 50px;}

	.tab-menu * {font-size: 12px;}

	.mobile-menu-wrap.active .mobile-menu {max-width: 320px;}
	.mobile-menu .search-input {padding: 5px; font-size: 14px;}
	.mobile-menu .search-button {padding: 5px 0;}

	.mobile-menu-list > li {padding: 5px;}
	.mobile-menu-footer a {max-width: 40px; margin: 0 2px;}
}

/* ============================== Mobile size : 380px ============================== */
@media screen and (max-width:380px){
	.mobile-menu-wrap.active .mobile-menu {max-width: 300px;}
	
	.mobile-menu-list > li > a {font-size: 22px;}
}

