@charset "utf-8";
@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');

:root {
 --main-color: #302d90;
 --sub2-color: #71a6ff;
 --sub1-color: #22213a;
 --sub3-color: #005596;
}
.f-sub1-color{
 color: var(--sub1-color);
}
.main-color {
 color: var(--main-color);
}

.bg-main-color {
 color: var(--main-color);
}

 .top_btn {
 width: 3vw;
 height: 3vw;
 position: fixed;
 right: 4vw;
 bottom: 3vw;
 background-color: rgba(76, 76, 76, 0.89);
  z-index: 99999;
}

header {
 z-index: 100;
 position: absolute;
 top: 0;
 width: 100vw;
 background-color: white;
 box-shadow: 0 2px 5px rgba(110, 110, 110, 0.212);
}

.hd {
 height: 4.5vw;
}

/* 
.hd .logo {}

.hd .logo img {} */

.hd_nav {
 gap: 2vw;
}

.hd_nav>ul {
 position: relative;
 gap: 2.5vw;
}

.hd_nav>ul>li {
 white-space: nowrap;
 padding-right: 6px;
 position: relative;
 display: inline-block;
 transition: color 0.3s ease;
}

.hd_nav>ul>li.on,
.hd_nav>ul>li:hover{
 color: var(--main-color) !important;
 font-weight: bold;
}

.hd_sub2>span:hover,
.hd_sub3>span:hover,
.hd_sub4>span:hover,
.hd_sub5>span:hover,
.hd_sub6>span:hover{
 color: var(--main-color) !important;
 font-weight: bold;
}

.hd_nav>ul>li.on::after,
.hd_nav>ul>li:hover::after {
 content: '';
 position: absolute;
 top: 0;
 right: 0;
 width: 4px;
 height: 4px;
 background-color: var(--main-color);
 border-radius: 50%;
}

.hd_nav>ul>li:hover::after {
 animation: appear 0.3s ease forwards;
}

@keyframes appear {
 from {
  opacity: 0;
  transform: scale(0);
 }

 to {
  opacity: 1;
  transform: scale(1);
 }
}

/* 검색버튼 */
.search-container {
 position: relative;
}

.hd_search_btn {
 color: var(--sub2-color);
 transition: all 0.2s;
}

.hd_search_btn:hover {
 color: var(--main-color);
}


.hd_search_menu {
 position: absolute;
 left: -5vw;
 top: 100%;
 background-color: white;
 border-radius: 10px;
 box-shadow: 2px 2px 5px rgba(75, 75, 75, 0.219),
  3px 3px 3px rgba(68, 68, 68, 0.068);
 padding: 1.5vw 2vw;
 margin-top: 0.89vw;
 z-index: 1000;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
 transform: translateX(-50%) translateY(-10px);
}

.search-container:hover .hd_search_menu {
 opacity: 1;
 visibility: visible;
 transform: translateX(-50%) translateY(0);
}

/*검색*/
.input_search {
 width: 15vw;
 border: none;
 font-size: 16px;
 outline: none;
 border-bottom: 1px solid #c5c3c3bd;
}

.input_search::placeholder {
 color: #969696;
 font-size: 1vw;
 font-family: "Poppins", sans-serif;
 font-weight: 200;
 font-style: normal;
}

.search_submit {
 width: 5vw;
 height: 2.5vw;
 border-radius: 30px;
}

/* 로그인버튼 */
.hd_login_btn {
 /*background: transparent;*/
 /*border-radius: 10px;*/
 border: 1px solid var(--main-color);
 /*color: var(--sub2-color);*/
 padding: 0.3vw 0.6vw;
 transition: all 0.2s;
 background-color: var(--main-color);
 color:white;
}
.hd_logout_btn{
 /*background: transparent;*/
 /*border-radius: 10px;*/
 border: 1px solid var(--main-color);
 /*color: var(--sub2-color);*/
 padding: 0.3vw 0.6vw;
 transition: all 0.2s;
 background-color: white;
 color:var(--main-color);
}
.hd_login_btn:hover {
 color: var(--main-color);
 border: 1px solid var(--main-color);
 background-color: transparent;
 /*font-weight: bold;*/
}
.hd_logout_btn:hover {
 color:white;
 border: 1px solid var(--main-color);
 background-color: var(--main-color);
 /*font-weight: bold;*/
}
.search_menu {
 visibility: hidden;
 opacity: 0;
}

.hd_login_btn:hover .search_menu {
 visibility: visible;
 opacity: 1;
}


/* 정보수정버튼 */
.hd_register_d_btn {
 /*background: transparent;*/
 /*border-radius: 10px;*/
 border: 1px solid var(--main-color);
 /*color: var(--sub2-color);*/
 padding: 0.3vw 0.6vw;
 transition: all 0.2s;
 background-color: var(--main-color);
 color:white;
}

.hd_register_d_btn:hover {
 color: var(--main-color);
 border: 1px solid var(--main-color);
 font-weight: bold;
 background-color: transparent;
}

/* 제품메뉴 */
.prod_menu {
 padding: 1vw 1vw 1vw 1.5vw;
 position: absolute;
 left: 15vw;
 top: 4vw;
 z-index: 100000;
 background-color: white;
 border-radius: 10px;
 box-shadow: 2px 2px 5px rgba(75, 75, 75, 0.219),
  3px 3px 3px rgba(68, 68, 68, 0.068);
 display: none;
}

.prod_menu div .prod_menu_left ul {
 list-style-type: none;
 padding-left: 0.4vw;
}

.prod_menu div .prod_menu_left ul li {
 position: relative;
 padding-left: 0.6vw;
 margin-bottom: 0.5vw;
}

.prod_menu div .prod_menu_left ul li::before {
 content: "-";
 position: absolute;
 left: 0;
 color: var(--sub1-color);
}


.prod_menu div .prod_menu_right ul {
 list-style-type: none;
 padding-left: 0.4vw;
}

.prod_menu div .prod_menu_right ul li {
 position: relative;
 padding-left: 1.2vw;
 margin-bottom: 0.5vw;
}

.prod_menu div .prod_menu_right ul li::before {
 content: "◾";
 position: absolute;
 left: 0;
 color: var(--sub1-color);
}

.prod_menu_right_content {
 width: 15vw;
 background: #eff5ff;
 padding: 1.3vw 1vw;
 border-radius: 15px;
}

.prod_menu_right_title {
 margin-bottom: 0.8vw;
}

.prod_menu li:hover {
 font-weight: 500;
}

/* 상세메뉴 : 교육 ~ 회사소개 */
.hd_sub_menus {
 text-align: center;
 margin-top: 0.89vw;
 padding: 1.5vw 2vw;
 position: absolute;
 left: 50%;
 top: 100%;
 transform: translateX(-50%);
 background-color: white;
 border-radius: 10px;
 box-shadow: 2px 2px 5px rgba(75, 75, 75, 0.219),
  3px 3px 3px rgba(68, 68, 68, 0.068);
 color: #646464;
 z-index: 1000;
 opacity: 1;
 visibility: hidden;
 transition: opacity 0.2s, visibility 0.2s;
}

.hd_nav>ul>li:hover .hd_sub_menus {
 opacity: 1;
 visibility: visible;
}

.hd_sub_menus ul {
 gap: 1vw;
}

.hd_sub_menus ul li {
 position: relative;
 display: flex;
 align-items: flex-start;
 transition: color 0.3s ease;
}

.hd_sub_menus ul li span:first-child {
 display: inline-block;
}

.hd_sub_menus ul li .sub_dot {
 display: inline-block;
 width: 0.2vw;
 height: 0.2vw;
 background-color: var(--sub2-color);
 border-radius: 50%;
 margin-left: 0.2vw;
 opacity: 0;
 transform: scale(0);
 transition: opacity 0.1s ease, transform 0.2s ease;
 flex-shrink: 0;
}

.hd_sub_menus ul li:hover {
 color: var(--sub2-color);
}

.hd_sub_menus ul li .sub_dot {
 display: inline-block;
 width: 0.2vw;
 height: 0.2vw;
 background-color: var(--sub2-color);
 border-radius: 50%;
 margin-left: 0.2vw;
 opacity: 0;
 transform: scale(0);
 transition: opacity 0.1s ease, transform 0.2s ease;
 flex-shrink: 0;
}

.hd_sub_menus ul li:hover .sub_dot {
 opacity: 1;
 transform: scale(1);
 animation: appear 0.3s ease forwards;
}


/* 모바일 메뉴 */
.m_menu_btn,
.m_menu_box {
 display: none;
}

.menu_box {
 display: none;
 transform: translateX(-100%);
 transition: transform 0.3s ease;
}

.menu_box.show {
 transform: translateX(0);
}

/* 모바일 메뉴 */
.menu_box {
 width: 70%;
 height: 100vh;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 999;
 background-color: white;
 box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
 display: flex;
 align-items: center;
 justify-content: center;
 transform: translateX(-100%);
 transition: transform 0.3s ease;
}

.menu_box .close {
 display: flex;
 align-items: center;
 justify-content: center;
 position: absolute;
 top: 20px;
 right: 25px;
}

.menu_box .close i {
 font-size: 20px;
}

.menu_box ul.m_main_menu>li {
 width: 100%;
 margin-bottom: 40px;
}

.menu_box ul.m_main_menu>li p {
 width: max-content;
 position: relative;
}

.menu_box ul.m_main_menu>li p:after {
 content: " ";
 width: 5px;
 height: 5px;
 border-radius: 5px;
 position: absolute;
 top: 50%;
 left: -13px;
 transform: translateY(-50%);
}

.menu_overlay {
 position: fixed;
 top: 0;
 left: 0;
 width: 100vw;
 height: 100vh;
 background-color: rgba(0, 0, 0, 0.5);
 z-index: 998;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s ease, visibility 0.3s ease;
}

.menu_overlay.show {
 opacity: 1;
 visibility: visible;
}







/* mobile */
@media screen and (max-width: 767px) {
 .top_btn {
  width: 12vw;
  height: 12vw;
 }
 /* 모바일 메뉴 */

 .m_hd {
  height: 8vh
 }

 .m_logo {
  width: 33vw;
  height: auto;
 }

.m_hd_logo{
width: fit-content;
 height: fit-content;
}

 .menu_box .search-container button {
  height: 117% !important;
  width: 22% !important;
  white-space: nowrap !important;
 }

 header .logo {
  width: 50%;
 }

 header ul:not(.m_main_menu) {
  display: none;
 }

 header .menu_box {
  display: flex;
 }
 header .hd_m_nav i {
  font-size: 25px;
 }
 .hd_login_btn {
  border-radius:7px;
  padding: 1.3vw 2.5vw;
 }

 .hd_register_d_btn {
  border-radius:7px;
  padding: 1.3vw 1.5vw;
 }


 .menu_box .search-container{
  margin-top:407px !important;
 }

}